什麼是真正的程式設計師

xueweihan發表於2016-02-26

  這篇文章的原文來自:A Little Printf Story 作者仿照《小王子》中的情節,通過小printf遇見的不同型別的程式設計師,最後悟出什麼才是真正的程式設計師!

  文章略長,但是耐心讀完,你肯定會受益良多!

 第一章

  (推薦看完整篇文章,再回過頭看一遍第一章)

  我非常幸運出生在一個電腦和電子遊戲還沒有普遍的時代。所以我可以和我的小夥伴們一起玩耍,同時發明屬於我們的遊戲。

  我們十分會玩:用樹枝做成'?️'。我們可以用樹枝做出任何東西,除'迴旋鏢'。因為你把樹枝扔出去,你需要自己撿回來。(作者這個故事是活躍氣氛嗎??)

  當我們長大了,上面說的遊戲變得很幼稚。你不能把一個鬆塔當成一個手榴彈;假裝擁有神奇的魔法;當其他孩子覺得作為一個成年人很酷。你最終會迫於壓力而長大。不過總的來說這也是一個非常幸運的童年。

  偶然的一次機會我接觸了電子遊戲和電腦。你可能想沉浸在這個虛擬的世界,這會毀了你。

  大多數電子遊戲:你不能創造,只能反應,浪費你的時間。我在十多歲的時候,參加過'即興表演'。在哪裡我可以發揮我的創造性。

  我大學的專業是'多媒體',但是我最終卻從事'程式設計'工作。我覺得程式設計is amazing!我可以發揮我的創造性,同時又可以掙錢!之後我做了我的第一個遊戲。

  "這不是一個真正的電子遊戲。"別人跟我說:"它只是一個html的表單,而且程式碼需要簡化。"

  這席話使我有一些沮喪,它花費了很多心思和時間。但是,我意識到如果我想做出被人們認可的東西的話,我還需要學習更多知識。

  我需要學習真正的程式設計。從GUI工具裡的JS,轉到更好的語言:像PHP。所以我先學習了Js,後來又去學習PHP,但是一切並不是很順利,其他人給我的建議去試試python。最後,我學習的是python(?我也是這樣走上python之路的?)。

  但是python中高深一些的東西:'lambdas'和'物件導向程式設計',讓我雲裡霧裡的。後來別人建議我去讀一下《計算機程式的構造和解釋》,因為它是程式設計的基礎入門聖經。

  就這樣,我知道了Scheme,後來我又去學習C語言。因為大多數的程式設計師都會C,同時我旁聽了我們學校的計算機課程,跟著他們一起學習。因為,真正的程式設計師都知道資料結構和數學,但是這些我只略懂皮毛。我開始讀技術文章和書,因為程式設計師的知識更新太快。

  經過一段時間,我掌握了Erlang,從而開始了我的職業生涯。(這篇文章的作者寫了一本:Erlang入門書)。十分奇怪的是:我這個沒有用Erlang做過任何生產級別的開發的人,卻得到了一份教Erlang的工作。

 第二章

  所以我忙於到世界各地演講,教別人(誇誇其談)。但是,大家似乎都相信我是一個真正的程式設計師。因為,我講的這些事情大多都和程式設計無關。

  一天,我結束了一個會議回家,飛機晚點。我憤怒的敲擊著鍵盤,一個柔弱的聲音打斷了我:

  "你好,能請你給我設計一個系統嗎?"

  我:"什麼?"

  "給我設計一個系統!"

  我對這個請求很驚訝。我環視四周,發現一個渴望成為開發者的孩子。他叫'printf'(主角閃亮登場)。我覺得這個名字很傻。他的樣子如下圖:

  "我還不是很瞭解計算機,但是你好像是計算機方面的專家。我希望寫一個blog程式,人們可以使用和訪問它。求求你幫我設計一個系統!"

  這是個令人驚訝的請求,並且我已經二十多個小時沒睡了。我不是完全理解他所說的。我告訴他,做一個系統十分困難。我不知道他想要做什麼:需要支援多少訪問者;在哪裡部署;所以我無法根據他提供的少量資訊,設計一個合適的系統。

  "沒有關係,給我設計一個系統吧。"

  所以我做了下面這幅結構圖:

  他看了之後說:"不,這個系統還不夠好。請給我再設計一個別的。"

  所以我又做了下面這個:

  然後我給他講解這個系統的工作原理。

  我的新朋友 (printf)十分禮貌的說:"這不是我想要的,它又太複雜而且好多東西都是我不需要的。"

  我感到十分不爽,我設計的這個系統考慮到了:冗餘、監控、備份、快取、負載、支付、故障轉移、部署簡單等等。我設計的這個系統都已經可以獲得一份可觀的諮詢費用了!我已經失去耐心了,所以我就畫了這個:

  我又告訴他:"這是你設計的系統,你要的系統在這個黑盒子裡。"我希望這個滑稽的答案,可以打發他。但是他的回覆讓我十分驚訝:

  "這正是我想要的!"

  這就是我和小printf相識的過程。

 第三章

  過了一段時間,我知道了這個小鬼的程式設計水平。在他的程式碼倉庫只有些小程式、網站的小demo、瑣碎的程式片段。都是些不值得一提的東西。

  之後他開始著手做一個需要很多模組的大型程式。這個程式需要socket、磁碟讀寫、用到真正的資料庫。當它第一次跑起來的時候,小printf十分興奮。但是,這個程式還不夠好。

  這個程式需要重構、更好的測試、文件、分析。它只執行了一段時間就崩潰了。然後一次,又一次的崩潰!

  程式的設定是錯誤的,日誌不工作、磁碟速度不穩定、網路卡頓、有bug、編碼混亂、資料庫需要清理、證照過期、沒有異常處理導致問題找不到根源。

  真的想麵條一樣一團糟。

  小printf跟我說:"通過這件事,我發現自己簡直是一無所知!這個程式本來是根據我的需要寫的。我原來的想法太天真了,後來我修復bug的時間和這個程式給我帶來的便利根本不成正比!最後,變得跟我原來想的一點都不一樣。雖然這樣,我仍然認為這件事情讓我收穫了很多。"

  一天早上,他決定離開我這裡。"再見。"小printf跟我做了最後的道別。他想要出去看看世界,看看其他人寫的程式。

  小printf寫的應用,最後因為不斷增加的日誌,導致硬碟沒有空間,徹底的崩潰了。

 第四章

  小printf走進了一個辦公樓,想尋找有經驗的程式設計師取經,獲得一些建議和幫助。

  他遇到一個驕傲的高階程式設計師,而且自我感覺良好。

  傲慢的高階程式設計師說:"哎,過來新手!歡迎來到我所擅長領域,在這個領域我是專家!"

  "專家?"小printf問到:"專家的意思是:可以編寫任何程式嗎?"

  "是的!"傲慢的高階程式設計師回答道,接著他又說:"準確的說,應該是大多數程式。因為我只編寫有價值的程式,我不會浪費我的時間在沒有意義的小程式上。很多程式我都沒有寫過,但是他們都難不倒我!"

  "額,所以你可以幫我完善我的程式?"小print問到,之後他開始闡述他的網站系統,但是傲慢的高階程式設計師打斷了他:

  "對不起,我覺得你的網站系統沒有一點價值。"

  小printf:"為什麼?"

  "經驗,我擅長編寫我開發的東西,我也只做我擅長的領域的開發。我需要確保我在我的領域的永遠有價值。這叫做工作保障,也叫做適者生存。但這就是我的風格。我只專注於我的領域!"

  小printf:"那你為什麼不幫我呢?"

  "花費我的時間去幫助你,意味著我需要花費精力去幫助別人,而不是提高自己----這對我來說不是一個好的主意。我的建議是:自己多努力,自己弄懂。還可以塑造你自己的心性"

  小printf:"你說的方法,好想不是很高效。。。"

  "你可以到學校去學,或者自學。事實上這種方法可以淘汰那些懶惰,只喜歡簡單的事情的人。真正渴望知識的人才能成功!"

  小printf:"你認為合作和同事不能幫助你嗎?"

  "不,我並不是這個意思。我做好的工作狀態是:獨立空間,沒有讓我分心的事。每次我和同事合作的時候,都是一次不好的經歷。以往的經驗:最好的辦法是:把他們的程式碼拿過來重寫。然後就可以了!"

  小printf對這個不喜歡幫助別人的專家感到十分驚訝,不僅如此,他還因人為別人的技術不行而惱火。這個專家眼界是狹隘的,他只關心自己擅長的領域。活在自己的世界裡。

  小printf:"我明白了,我想我很慶幸你沒有幫助我。"

  "你什麼意思?"傲慢的專家問到,貌似他的權威受到了威脅:"你不認可我,你是在質疑我嗎?"

  小printf:"並不是這樣,就像你覺得我是一個累贅,令人惱怒的一樣。我是來尋找幫助的,而不是來找罵的。"

  說完之後,小printf飛快的跑出了傲慢專家的辦公室。當小printf離開後,這個專家又重新找回了他所擅長領域的權威,同時自我感覺良好。

 第五章

  然後,小printf又走進了另外一個辦公室。裡面有一個男士,他的座位周圍都是精裝厚厚的書籍(例如程式碼大全這種書)。

  小printf:"先生,你有好多書啊!"

  "是的,我想這些都是程式設計師必看的書籍,如果你沒看過這些,你很難成為'大牛'(專業人士)。"

  小printf:"我想我現在還是很菜,請問這些書裡面你最喜歡哪本?"

  "哦,是這樣的這些書大多數我還沒有讀過。"

  小printf:"那你現在是個'大牛'嗎?"

  "不,我還不是。"這個程式設計師很驕傲的說:"我其實是一個很垃圾的程式設計師。"

  小printf:"這太丟人了,我正在努力變強。"

  "你聽過'達克效應'嗎?"

  小printf:"那是什麼?"

  "簡單的說就是:能力強的人總是低估自己,能力弱的人總是高估自己。"

  小printf:"也就是說,如果我覺得自己在變強,其實我並沒有變強。"

  "是的,你說的非常正確。你很可能在原地踏步。另一方面,我宣揚我是一個很糟糕的程式設計師,但根據'達克效應'。我是低估了我自己,所以我是一個好的程式設計師,你怎麼看?"

  小printf:"我。。。額"

  "這就是為什麼程式設計師都喜歡自嘲(稱自己是碼農也算吧?)。當你認為你足夠好了,你就放鬆了,也就沒有前進的動力。"(這句話我還是很贊同的?)

  小printf:"你的意思是:一旦自我感覺良好,也就是正在走向失敗,因該時刻覺得自己還不夠好。"

  "是的,但是用著這種方式應對所有的事很危險,如果你還沒有拿到offer。這種方式會讓你顯的聰明,但是沒有任何實際用途,別人不會因為你顯的聰明就僱傭你。"

  小printf:"你的意思是?"

  "比方說:我在網上看到一個我不喜歡的專案。我留言說專案一無是處,但是不明確的指出哪裡不好。最後你還可以說這個專案的作者是笨蛋,也沒有人管你。"

  小printf:"但是這樣做有什麼好處呢?"

  "我想讓他們知道他們走上歧途了,卻又不明確的指出來。這表現的我比他們厲害。然而他們毫無頭緒,像霧裡看花。沒有人能明白我的意思。哇咔咔"

  小printf:"當別人請教你的問題,你不會的時候,你會怎麼辦?"

  "這種情況下你就說到處都是問題,還有很多的不完善的事情要做,總之就是轉移話題。然他們感覺絕望,最後還是要他們自己解決。"

  小printf:"所以這就是你的立場?這是你的一貫作風?你會的問題裝作對此無能為力,使得真正無法解決這個問題的人抓狂;當你遇到不會的問題時,你裝作很瞭解,使得別人根據你的建議改善其它的地方,而與真理相行漸遠,浪費時間"

  "很多情況下,才能不是最重要的。但口碑很重要。人們僱傭朋友,不被喜歡的人和無關緊要的人會被第一個被炒魷魚(?MLGB)。要不就改變環境,改不了就要適應,適應不了就被淘汰。這就是'社會'。企業中就是這樣,學術屆沒準也是。做這行,你認識誰,學會推銷自己,建立自己的聲望。這樣你才能在企業裡站住腳。"

  小printf:"如果在企業中工作是這麼噁心,要給別人'使絆'。那麼我真不想在這種環境下工作!(黑暗的辦公室政治,還好我還沒有遇到?)"

 第六章

  到了吃午飯的時間,小printf打斷了一個貌似忘記吃午飯的人。他桌子上的三明治已經涼了,但是他還是坐在桌子前面盯著他的螢幕。

  他好像十分的忙,但是沒人知道他在做什麼。

  小printf:"如果主資料庫掛掉了,從資料庫也會掛掉嗎?"(建立主從資料庫是為了減少DOWN機時間,讓資料庫可以一直處於工作狀態中)

  "你執行的所有東西,或早或晚都會掛掉。"

  小printf:"你以往的經歷告訴你這一切都會失敗?"

  "是的,不僅如此。所有的大系統,都會在特定的時間出現問題。"(就像千年蟲問題??)

  小printf:"那麼,做一個可靠的系統,都需要做什麼?"

  那個人忙於他自己的事情,沒有理會小printf。

  小printf又問了一次:"做一個可靠的系統,都需要做什麼?"

  那個人正在嘗試解決產品中的一個問題,但是小printf還一直問個不停,同時他還沒有吃午飯。

  所以他不耐煩甚至粗魯的吼道:"這根本不可能,程式設計就是shit?。"

  小printf倒吸了一口氣,半天說不出一句話。

  小printf?憤怒的回擊道:"我不相信你說的。程式是脆弱的沒錯,但是程式設計師可以改善這一點,同時做出更好和有用的東西"

  那個人沒有任何回答,他在���閱文件,嘗試重新啟動一個新的叢集,但是情況卻越來越糟糕。

  小printf:"並且你應該相信有好的可靠的程。。"

  "不可能"那個人打斷了小printf,接著說道:"我不相信有可靠或者好的的程式!根本不可能!這是我的第一個感覺,因為我正在處理一個垃圾的系統。你沒看見我想法設法地讓這個東西跑起來嗎?事實如此!"

  小printf很震驚的看著他說道:"事實如此?說的好像自己是個專家!是你自己把一切都搞的很糟糕。這世界上有上百萬的和久經考驗的程式,它們也有bug,也崩潰。但是人們還是需要它們,使用它們。據我所知很多程式是沒有問題的。出現問題的原因大多是因為電腦的環境配置問題,或者一個錯誤的操作造成的。你不認為這才是問題的所在嗎?"

  那個人聽完啞口無言。

 第七章

  小printf來到了第四個地方,遇到了一個人,他的電腦幾乎被便籤蓋滿了,沒有人知道他在幹什麼。

  "motor-mvc, quadrangular JS, GoQuery, cometeor, some japanese soundy thing, ..."

  小printf打斷了他的自言自語說道:"你好,你在幹什麼?"

  "alchemist, bongodb, mochascript, walktime.js, portasql, ...",哪個男士繼續自言自語

  小printf提高了音量又問了一次:"你在幹什麼?"

  "哦,我正在嘗試新的框架,工具和語言。"

  小printf:"哇,你接觸的東西好新鮮啊!大多數人還都沒有聽說過這些。"

  "是的,這個行業跟新很快!"他看了一眼他的手機接著又說到:"看,cardboard.io框架又推出了3.5版本,它宣佈不相容3.4了。於此同時社群中已經有4個衍生版本了。我必須從他們之中挑一個。"

  小printf:"你這麼做為了什麼?"

  "我是最早的嚐鮮者,如果你不保持更新技能樹,還是用老掉牙的:COBOL或者MUMPS(兩門老掉牙的程式語言?)。你還想抓住成功的契機,搶佔先機,乘勢而起?"

  小printf:"你成功的預測過以後的熱門技術嗎?"

  "是的!我發現Rails的時候它還很小,我學會Node.js的時候它還沒有流行。我是redis,mongodb和riak的內測使用者。我是第一批試用vagrant的使用者,然後我轉去使用docker,但是現在我全身心的關注unikernels。。"

  小printf:"太酷了!你是第一批試用這些的技術的人,你從中得到了什麼回報?"

  "額,並沒有。當Rails壯大的時候,我就去關注另外的新鮮東西了。同樣的,其他的幾門技術我也是這樣的(他不獨寵一個,而是雨露均沾?)。我現在把希望寄託在unikernels上。"

  小printf沉思了一會說到:"你用這些框架和工具都解決了什麼問題?"

  "我每次都確保不使用不成熟的東西,因為不能用公司做賭注。這一點十分重要,因為如果你使用最新的技術,你就可能招不到人,而不關注新的技術,有可能脫離時代的步伐。所以我們鼓勵學習新的技術。"

  小printf:"這非常有趣。"

  "在這個飛速發展的世界中,如果你想參加這場遊戲,你需要有先進的技術。否則你就會被時代淘汰,沒有人想被時代淘汰。"

  小printf:"不,你誤解我的意思了,我的意思是:好的工具是為了解決問題而被製造出來的。但是你卻盲目追求新的技術,而不是為了什麼實際的目的。"

  聽完這些話,哪個人呆住了,小printf跳躍著離開了這個房間。

 第八章

  小printf來到了下一個辦公室,這裡又一個疲憊的女員工。桌子上雜亂無章,整個人無精打采,瘋狂的打字。

  小printf:"你好。"

  這個女士沒有停下了她的手頭工作,繼續瘋狂的打字。

  小printf又打了一遍招呼:"你好?"

  女士這次停下了,拿起一瓶咖啡猛灌了一口。

  "我有一份十分糟糕的工作。"她說:"我是devops(開發,運維,測試於一體的職位)。剛開始的時候還好,原來我大多數時間進行開發,然後抽出一些時間修復bug。但是,情況變的越來越糟糕,bug開始接連不斷。為了擺脫這種情況,同時在規定時間內完成。我不得不使用一些'奇技淫巧'。"

  小printf:"你為什麼不顧人來幫你?"

  "我很擅長做這些事情。我已經習慣這一切都在我的的掌控之下。還有因為他們已經習慣我可以hold一切,如果我提出我自己無法繼續掌控全域性的以後,他們很容易認為我在偷懶。"

  小printf:"這真是叫人悲傷的故事。"

  "事實就是這樣子。因為你是最熟悉這些問題(bug?)的人,你只能變的越來越累,直到你的boss招了一個人頂替你原來的工作,這是唯一出路。但如果你擔心其他人修改你寫的東西時候遇到問題,你只能幫助別人改一個又一個的bug,當然這些都是你討厭的事情。直到你對這一切感到麻木。"

  小printf:"你真不幸。"

  這位女士又被叫去工作了。

  小printf自言自語道:"這個女人會被我原來遇到的那些人嘲笑的:那個高階專家(只專注於自己擅長的領域),搖滾開發者(過分追求新技術的人),故做高深的程式設計師(那個周圍都是大頭書的裝X程式設計師)。儘管他是這些人裡面唯一樂於助人的。或許是因為,她認為一切事情還是親力親為的好。"

 第九章

  小printf發現在這棟大樓裡發現了一個有著巨大落地窗並且寬敞的辦公室。這裡坐著一個德國老頭,他面前堆了一堆的檔案。

  "啊!來了一個開發者。"德國老頭驚呼道同時招呼小printf說:"快進來!"

  小printf環視四周的窗戶,發現上面寫滿了東西。上面畫了各種圓圈,箭頭,圓柱和雲彩(就是圖片中玻璃上的圖形)。真是搞不懂這個老頭畫這些東西有什麼用。

  小printf:"窗戶上的都是些什麼?"

  "哦,這些?這是我們的線上系統!"那個老頭隨口說到:"我是一個軟體架構師。"

  小printf:"什麼是軟體架構師?"

  "總的來說,就是知道如何構建大型系統並且讓系統中的每個部分都非常穩定的人。架構師還會資料庫,程式語言,框架,編寫程式,協議,封裝和降低耦合等知識。"

  小printf:"聽起來都叫人興奮!終於有人能回答我的所有問題了!"小printf瞥了一眼玻璃上的結構圖說到:"你們的系統真大,他跑的快嗎?"

  "我沒法告訴你。"架構師說;"應該會很快吧。"

  小printf:"那它的程式碼怎麼樣呢?"

  "我沒法告訴你。"

  小printf:"使用者喜歡這個系統嗎?"

  "這個我恐怕也沒法告訴你。"

  小printf:"但是你是軟體架構師啊!"

  "我的確是架構師,但是我不是開發者。架構師不做,例如:功能模組,類,整合lib等。這種工作的。架構師最重要的不是寫程式碼。他是指引程式設計師和開發者的人。如果遇到棘手的,無法解決的問題,架構師才會接手。"

  小printf:"這是為什麼呢?"

  "因為我們經驗十足。我們瞭解系統並且能解決它的一切問題。開發者可以根據我們的經驗和指導,開發出好的系統。"

  小printf:"但是你不寫,不看程式碼怎麼知道這將是個好的系統?"

  "我們相信開發者。"

  小printf:"所以,所你們相信開發者們可以正確的實現你們的想法,但是開發者們沒有機會提出他們自己的想法?"

  這個軟體架構師明顯的愣了一下:"我想。。。"他最終承認了:"你剛才提出的這個問題,其實工作中很多的提議是沒有被證實,或者實驗的。。。"他停頓,並沉思了一下說道:"有些時候軟體架構師看起來既不是軟體工程師,也不是架構師(是老師?)。"

  小printf離開了這個房間,結束了他的旅行。走出了這棟樓

 第十章

pic18

  小printf走到外邊,發現了一個為慈善機構募集錢的男士。

  "你好"那個男士說道:"你覺得幫助一些需要幫助的人的感覺怎麼樣?"

  小printf:"那樣可能會讓我感覺更好,我在那棟建築(遇到了各種各樣的程式設計師的大樓)呆了一整天,尋求幫助。但是現在,我感覺比以前更加迷惑了。"

"嗯,我幫你分析下:那些人都是開發者,他們並沒有真正幫到你是嗎?他們喜歡說"程式設計師改變世界",實時也是這樣的。"

  小printf:"那為什麼我卻毫無收穫呢?"

  "是這樣的,他們最擅長做的事情是幫助把人們的工作變成程式,使人們變的輕鬆。軟體正在吞噬整個世界,使世界改革換面。但是事實上還這還是個舊的世界。因為以這種方式的改變,並不意味著事情變好。我們還是有些根深蒂固的問題(例如:思想的問題,或是缺乏創造性。)。"

  小printf焦急的說:"怎麼做才能讓我感覺更好?"

  那個難事深思了一會,最後提出讓小printf幫助他,為需要幫助的人募捐。因為這個男士認為這種方式可以讓他感覺更好。用一下午的時間,小printf把他的問題和他的經歷都告訴了這個男士。

  這個男士沉思了很長時間說道:"在個遊戲中,他們從解決複雜的問題而得到快樂和他們看重的名聲和身份,這種快樂是片刻的。因為最終,如果你解決的問題沒有實際價值(為了解決問題而解決問題),忽略了'以人為本'。那麼你永遠不會的到真正的滿足!"(說的真好!)

  他接著又說:"隨著你的成長,可能找到一家比之前更好的單位。可能是錢多,或者是因為這個工作更趣,這都很正常。只要你知道你自己想要的是什麼!"

  他最後補充道:"最後,當你解決了人們真正面臨的問題的時候,你會覺得真正的滿足!有的時候根本不需要計算機。"

  "你花費了大量的時間在你的系統上。最重要的是:你忘記當初為什麼建立這個系統,反而花費時間在優化系統上面,那麼它就變成了一場炫耀的遊戲。這才是最可悲的。"

  "開發者經常忘記最開始的初衷(真正有意義的事情)。如果你失去做這件事意義,而是為了解決系統的問題,才花時間在這上面。這就是問題的所在(如果你只是為了做好的系統,而不是解決實際問題,那你就應該自我反思了)"

  小printf不斷重複這句話,想要印在腦子裡:"只有在解決人們真正面對的問題的時候,才能獲得真正的滿足!"

 第十一章

  小printf坐在我的前面,和他聊天讓我開始認真思考:我為什麼走上程式設計的道路。小printf之前遇到的每個人,彷彿我將來的某一天會成為他們中的一員(這真是個悲傷的情景)。我被這樣的人(小printf之前遇到的那些程式設計師)鼓勵成為像他們一樣的程式設計師。

  我也被拖進,小printf不喜歡的那個,成為'真正程式設計師'的遊戲中。小printf曾說過:相比於'真正的程式設計師',我更想成為能夠為人們解決真正需要解決的問題的程式設計師(解決真正問題的程式設計師,而不是解決程式設計問題的程式設計師)。

  今天我呆坐在這裡,回顧我的整個程式設計生涯,我想弄清:成為解決真正問題的程式設計師,還是一切都這是完成工作。這兩者是完全不同的。

  不管怎麼樣,小printf認為他不需要成為一個真正的程式設計師。我現在,也是這樣認為的!

 我的感受

  翻譯完這篇文章,我覺得這篇文章寫的非常好,他讓我意識到:程式設計為了什麼?到底什麼才是真正的程式設計師。

  自我反思了下。我一隻在忙於追求技術棧的數量,一直是為了追求技術(或者說工作)而學習。

  這就好像,我毫無目的收集樹枝,猛然的一個點。我低頭看手邊一困困的樹枝,卻忘記了我為什麼要去撿樹枝。我學習python中的框架就是這種感覺,為了工作,我學習flask,bottle,tornado框架。但是,一切都是為了工作。導致我想從零寫一個web app都毫無頭緒,不知道如何下手。

  對於以後的程式設計之路:我以後應該以目的為驅動力,不盲目的追求技術。經常問自己,我這麼做有什麼意義。

相關文章