你是優秀程序員嗎?

碼頭工人 13年前發布 | 7K 次閱讀 程序員

如果有人要你推薦一名優秀的程序員,你會想到誰?你認為你自己是嗎?你的評判標準是什么?

思考了這個問題,我意識到程序員可以以各種方式做到優秀。所以我向你推出“四種類型的優秀程序員”并附上插圖。  

哲學家

你是優秀程序員嗎?


     哲學家喜歡編寫定義良好、結構良好的漂亮代碼。程序構思好后,哲學家會花大量時間在方案的優雅性、健壯性和靈活性上。一個星期不談“最佳實踐”,哲學家就會覺得渾身不爽。

動力

嚴密控制帶來安全,哲學家的終極動力源于此。組織良好的,可預測的系統,清晰的設計原則是哲學家的理想境界。混亂是絕對不能容忍的。秩序產生美。

超能力

● 能寫出超級穩定的代碼,穩定到你敢把命壓上

● 憑一人之力就能保持代碼的清晰,不管其他團隊成員的水平如何

● 代碼的伸縮性好

劣根性

● 自認為總是正確的

● 連80列這種問題也要爭論(譯者注:老計算機的終端只能顯示80列,為了讓這些古老的終端閱讀方便,寫代碼一般每行不超過80個字符,但隨著顯示器越來越大,這個原則變得可有可無)

● 關注測試覆蓋率多于關注用戶問題

● 沒完沒了

忌諱

● 空格和Tab混著用

● 不遵守原子提交(譯者注:原子提交的意思是,如果解決某個問題所修改的代碼包含在多個文件中,那么這些文件需要一次性一起提交,這樣可以保證任一時刻代碼庫的狀態都是一致的)

● 給他們報名參加即興表演 

發明家

你是優秀程序員嗎?


      發明家的實驗室源源不斷地出產異想天開的好東西。沒人求他們,他們就是自己想做。

動力

發明家的動力來自探索和發明全新的事物。強烈的好奇心促使他們把假設變成現實。

超能力

● 經常發明有用(或者將來有用)的新技術

● 有感染力的狂熱

● 讓你贊嘆:“哇靠,這樣玩也行?”

劣根性

● 非我發明癥(譯者注:是一種文化,指不信任、不使用非自己發明的技術)

忌諱

● 用這句話來打擊他們的創意:“這不是工業標準”  

征服者

你是優秀程序員嗎?


      征服者沒有難題。對他們來說,編程只是一場征服之旅,不斷去克服各種挑戰。征服者很爭強好勝,但不一定是和別人爭。

動力

題目越難,沖得越猛。

超能力

● 能解決那些不可能解決的問題

● 比激光更敏銳的注意力,比馬拉松選手更好的耐力

● 算法活辭典

劣根性

● 容易化簡為繁,因為這樣解決起來更爽

● 永遠很無聊

忌諱

● 讓他們去做一個CRUD網頁應用(譯者注:CRUD指Create、Read、Update、Delete,文件系統最基本的操作,這里引申為過分簡單的應用)

● 強迫他們只能用命令式編程語言

● 給他們一本“數獨”謎題集(譯者注:數獨是一種填字游戲)  

問題解決者

你是優秀程序員嗎?

問題解決者是目標驅動的,冷酷的實用主義者。每個有明確定義的問題都會被他解決,詭異地不擇手段地解決。

動力

問題解決者的動力來自創造價值,所以他們關注結果多于關注過程。

超能力

● 傾聽

● 付諸行動

● 利用技術來解決現實問題,而不是亂上添亂

劣根性

● 容易激怒純粹主義程序員

● 機會主義者

忌諱

● 給他們繁忙的工作

● 分配給他們沒頭沒腦的任務

成為一個優秀的程序員

當然,不可能每個程序員都能簡單地對號入座。重點是,優秀的途徑有很多種。作為一個程序員,這四種人才都需要大力培養。當你面對任何困境,都能找到合適的人來解決,這才是真正的優秀。

來自: 譯言

 本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!