我是一個垃圾程序員


本文為翻譯文章:原文地址 評論地址

在過去的 4 個月里,我深刻地反思了我自己。就在 7 個月前,我還在從事一份雖不是十分討厭,但卻也感覺不到任何快樂的工作。我還不能確切地描述為什么我會有這樣的感覺,直到我的一個朋友再次找到我,說有一份工作雖然干的活一樣,但有機會參與開源軟件項目開發,然后我就跳槽了。這一切讓我知道了:

我是一個垃圾程序員。

3 個月后我選擇離開了這家公司。當時我簽的是臨時合同,在還沒有完全投入工作前,卻先感受到了公司內部的派系斗爭之風。這份工作,我沒感覺到任何快樂,但也沒有特別的不開心。只是我還沒找到一些特別具有挑戰性的,並能引起我興趣的事情。所以我決定先休息一段時間,總結下人生。

為了不至於影響家庭的收入,我仔細地安排了休假計划。在償還完銀行賬單后,剩余的錢可足夠保證我4到5個月不上班都沒問題。做了張現金開銷和預算表之后,我決定先休假 2 個月,然后用 1 個月的時間進行面試,最后第 4 個月作為緩沖期,以防萬一面試的時間超出了我的預期。

現在我真的在緩沖期里了。到目前為止,我已經面試了近 10 家公司,卻沒有一家公司考慮錄用我。甚至在多數公司中,我都沒有通過技術面試。我是一個程序員,並且一直以來我都自我感覺良好,覺得我是一個還不錯的程序員。但是在這樣一個通過海選進行招聘的行業里,我發現很難再認為自己是一個優秀的程序員了。

我的一些好友和同事,我認為他們中的大多數都比我更有經驗並且 IQ 比我高。當我向他們描述我的憂慮狀況時,得到的反饋可總結為 "理想很豐滿,現實很骨感"。在上一份工作中,同事們熟悉我的做事方式,與我一起工作都很愉快。並且覺得我的工作背景、敬業程度和技術能力都非常不錯。所以不能說我是一個沒能力的程序員,只是我還不善於在面試中表現自己。

但如果說只有少數幾個公司拒絕了我,我還能信他們。可是截止到目前我是顆粒無收,並且僅有兩次我成功地通過了第一輪的技術面試。如果我已經手握一到兩個 OFFER,我還能承認我的能力,但你能說所有公司都犯了同樣的錯,一致地忽略了我這個雖然面試表現不好但卻很優秀的程序員?換句話說,難道有那種可能,像我這樣的垃圾程序員總是能從勝任工作的人的手中搶到職位?

從以往的歷史來看,我應該不是那種光說不練的人。基本每天開始工作前,我都會練習寫一些代碼。同時僅是基於樂趣,我會使用一些奇特的編程語言來解決一些經典的場景。時常我也會向開源社區做些貢獻。有時我甚至會去嘗試與他人攀談,學習如何在交談中盡量的展現我自己。到后來我發現,像與人交往這種曾對我最具挑戰的事也不是那么困難了。這段故事告訴了我,除非你去嘗試,否則你不知道自己到底能不能做到。

問題是還沒等我做成什么,我就已經崩潰了。這個月我還能付得起房租和信用卡,但是我還沒拿到任何 OFFER,下個月估計就得欠債度日了。我甚至不得不考慮從現在的公寓搬家到那種老舊的筒子樓里。但更重要的是,看起來我好像已經沒有能力繼續在這個行業工作了,並且恐怕我也不知道除了寫程序我還能干什么。

那么,到底一個垃圾程序員是什么樣?

我書架上塞滿了各種經典圖書:《SICP:計算機程序的構造和解析》、《Lisp 編程》、《TAOCP:計算機程序設計藝術》、《C 專家編程》、《Effective C++》和一些算法、分布式計算、安全、圖形、數學等各種教科書,並且大部分我都已經讀過了(TAOCP 這本我還在不斷的研磨)。我也經常讀一些 ACM、IEEE 上的文章和博士論文。如果僅從我的閱讀列表來判斷,你可能認為我是科班出身,但實際上,我只是喜歡編程,並且想盡我所能來掌握更多的知識。

我為很多開源軟件項目做過貢獻,編程語言涵蓋 C++、Perl、Python 等,甚至還用過一些類 Lisp 語言。這些項目中,有些我曾使用過但缺少一些功能,有些是新的項目需要解決 BUG 或增加功能,有些則是我發現是我需要的類庫或程序。

我一直在用心地不斷提高我的能力。前面我提到了以前我會寫一些練習代碼。在我工作過的部門里我會推崇自動化測試。我讀過大量的書籍、論文和技術文章,同時我也會寫一些文章來嘗試着幫助他人。

我非常的喜歡數學。在讀完信息論,弄清香農熵后,我又開始深入研究序理論。我真的很喜歡 Joint-Semi-Lattices、集合論、關系代數、Sentential-Database。一些內容現在我已經記不清了,比如我知道對於每種遞歸的形式都有一個迭代的方法,如果我需要詳細了解我可以迅速的查閱雜志或教科書。

盡管如此,我還是在編寫一個要求判斷是否序列 A 是序列 B 的子集並返布爾值的函數時出現了失誤。當被問及我剛編寫的函數的的復雜度時我還是記不起來了(擦,顯然列表排列的復雜度為 N 方,但當時就像對我能否回想起這些細節的審問一樣,頭腦一片空白)。我的每一絲信心都已經被這些錯誤、失誤和拒絕一點一點地打敗了。

到最后,我發現我越來越沮喪、絕望,並十分害怕自己會讓家人失望。以后我的女兒會問我我是做什么的,我可能不直接地回答她,或者告訴她我是給電腦寫程序的,然后趕緊回避開女兒進一步的追問。等她長大了我也盡量避免告訴她,為了混上飯吃我可能什么都做。我從來沒有成功過,甚至也沒有做過什么讓自己值得驕傲的事兒。我只是盡我所能,即使整個世界都覺得我不夠好。

我是一個垃圾程序員,這就是我的人生。

原文地址 評論地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM