優秀程式猿因何而優秀?

2022-09-18 08:18:18 字數 2486 閱讀 1437

這些年我曾和非常多程式猿一起工作,他們之中的一些人非常厲害,而還有一些人顯得平凡。

不久前由於和一些技術非常熟練的程式猿工作感覺非常愉快,我花了一些時間在考慮我佩服他們什麼呢?什麼原因讓優秀的程式猿那麼優秀,糟糕的程式猿那麼糟糕?簡而言之,什麼原因成就了一位優秀的程式猿呢?

依據我的經驗,成為乙個優秀程式猿同年齡。教育程度,還有和你賺多少錢沒有不論什麼關係。

關鍵在於你的做法,更深入地說,就是你的想法。我注意到我所欽佩的程式猿都有一些相似習慣。不是他們所選語言的知識。也不是對資料結構和演算法的深入理解,甚至不是多年的工作經驗。而是他們的溝通方式。他們管理自己的方式,以及以他們精湛技術水平程式設計演講的方式。

當然成為乙個優秀的程式猿還要具備很多其它特質,我也不能單單依靠是否存在(或者缺少)這些特質來評判乙個程式猿。可是我知道當我看見它。當我看見乙個程式猿具備這些特質的時候,我覺得,「這個人真的知道他們正在做什麼」。

優秀程式猿做調查研究

或者叫「三思而後行」,或者叫「谷歌一下」

不論你怎麼稱呼它。大多數可能會遇到的程式設計問題已經以某種形式解決。傳道書早就記載著世界上本來就沒有什麼新奇事。優秀的程式猿在解決這個問題之前知道通過github圖書館、網路部落格,或者通過與經驗豐富的程式猿交流等形式來做調查研究。

我見過甚至是優秀的程式猿能夠高速找出解決方式,可是和我一起工作過的糟糕的程式猿從來不求助於他人,結果做了大量的反覆工作或者錯誤地解決這個問題,不幸的是,後來他們終將為自己犯下的錯誤付出了代價。

優秀程式猿閱讀錯誤資訊(並依照它們行事)

這包含解析堆疊路徑資訊。是的。這是一件非常醜陋不幸的事情。

可是假設你不願意這麼做的話,你怎麼才幹知道**錯了呢?我知道的高效程式猿是不會害怕深究問題的。低效的程式猿看見有錯誤。但就是不願意甚至是去讀這些錯誤資訊。(這聽起來非常可笑。但你會吃驚我遇到它的頻率)

更進一步地說,優秀的程式猿發現問題立即就解決它。

讀錯誤資訊對他們來說不過個開始,他們渴望深究問題並查出問題的根源。他們不喜歡推卸責任,而是願意查詢解決這個問題的方案,問題在他們這裡止步。

優秀程式猿看原始碼

文件、測試、團隊,這些都會說謊。雖然不是有益的,可是假設你想確切地知道事情是怎麼回事。你必須自己親自看原始碼。

假設它不是你最擅長的語言,你也不要害怕。假設你是乙個ruby的程式猿,你懷疑在ruby的c語言庫中有個錯誤,破解開啟看看。是的,你可能拿不到原始碼。可是誰知道呢?你僅僅是可能而已,你有更好的機會,總比你根本不去嘗試好吧。

不幸的是,假設你處在乙個封閉原始碼的環境中,這會變得很難。但道理是不變的。

糟糕的程式猿對於檢視原始碼沒有絲毫的興趣。結果問題困擾他們時間。要比願意看原始碼的時間長得多。

優秀程式猿說幹就幹

優秀的程式猿趨向於主動去做。他們的內心有著難以控制的衝動,當他們確定問題或者發現新的需求時他們立馬會實現解決方式,有時過早有時太過激進。可是他們對問題本能的反應是正面解決這個問題。

有時這會令人非常煩惱,可是他們的熱情是他們做好事情的乙個重要部分。一些人可能遲延時間迴避問題或者等待問題自己可以消失。然而優秀的程式猿一開始就解決它。簡而言之(或者顯而易見),假設你看見有人興致勃勃地查詢問題並在解決,非常可能你的手下有位優秀的程式猿。

優秀程式猿不逃避困難

這一般是糟糕程式猿的特點:他們輕易地從乙個問題跳到還有乙個問題。在沒有真正理解乙個問題之前就進入到下乙個問題。

他們會把責任歸咎於程式的錯誤,然後花費大把的時間除錯已經執行良好的**。

他們讓情感占領主動,相信直覺。而不是細緻嚴謹的分析。

假設你匆匆忙忙地解決乙個問題。甚至視每個問題為震驚世界的災難。你非常可能犯錯誤或者沒有解決潛在的問題。優秀的程式猿花時間去了解發生了什麼錯誤,哪怕災難來臨的時候。但更重要的是。他們對待尋常的問題像是要解決的重要問題,因此他們更準確地解決很多其它的問題,而且這樣做沒有提高團隊的緊張程度。

優秀程式猿善於溝通交流

說究竟,程式設計是一種形式的溝通交流。

寫**和寫散文創作一樣。可以簡潔地表達你的想法非常重要。我發現那些可以寫簡潔郵件,優雅的狀態報告,或者甚至僅僅是乙個有效的備忘錄的程式猿也將會是優秀的程式猿。

這能應用在寫**還有英語上。用圓括號、括號和單個字母的函式寫出一行**當然是有可能的,可是假設沒有人理解它,有什麼意義呢。優秀的程式猿會花時間以各種渠道交流他們的想法。

優秀程式猿激情四射

我覺得這可能是優秀的程式猿最重要的方面(或許這點也適用於除電腦科學領域的其他領域)

假設你真的在乎你所做的事情,假設不把它當成工作,當作乙個業餘愛好、興趣或一件非常有吸引力的事情,那麼在該領域你比其它人更有優勢。優秀的程式猿一直不斷程式設計。普通程式猿一天工作八小時,而且沒有業餘專案,也沒興趣回饋社群。

他們不會不斷地嘗試新方法,而僅僅是為了看看它們是怎樣執行而執著於程式語言。

當我看見乙個程式猿利用週末的時間做自己喜歡的專案時,參與創作他們每天能用到的工具時。執著於新的有意義的事情時:那個時候我確信我眼前的是乙個令人驚奇的人。最後,優秀的程式猿視他們的職業不不過賺錢的途徑。更是讓生活變得有些不同的方法。我覺得那就是成就最棒程式猿的真正原因。

對於他們來說。編寫**是改變世界的一種方法,也是我很尊敬崇拜他們的原因。

優秀程式設計師因何而優秀?

這些年我曾和很多程式設計師一起工作,他們之中的一些人非常厲害,而另一些人顯得平庸。不久前因為和一些技術非常熟練的程式設計師工作感覺很愉快,我花了一些時間在考慮我佩服他們什麼呢?什麼原因讓優秀的程式設計師那麼優秀,糟糕的程式設計師那麼糟糕?簡而言之,什麼原因成就了一位優秀的程式設計師呢?根據我的經驗,...

優秀程式設計師因何而優秀?

發布於 2014 08 29 10 41 根據我的經驗,成為乙個優秀程式設計師同年齡,教育程度,還有和你賺多少錢沒有任何關係。關鍵在於你的做法,更深入地說,就是你的想法。我注意到我所欽佩的程式設計師都有一些相似習慣。不是 閱讀器程式設計師 程式人生 學習職業規劃 via 程式師 這些年我曾和很多程式...

優秀程式設計師因何而優秀?

這些年我曾和很多程式設計師一起工作,他們之中的一些人非常厲害,而另一些人顯得平庸。不久前因為和一些技術非常熟練的程式設計師工作感覺很愉快,我花了一些時間在考慮我佩服他們什麼呢?什麼原因讓優秀的程式設計師那麼優秀,糟糕的程式設計師那麼糟糕?簡而言之,什麼原因成就了一位優秀的程式設計師呢?根據我的經驗,...