優秀程序員成功的14個好習慣

程序員 WebApp 軟件 微軟 程序員精選 2017-04-26

成功的職業生涯通常是指規定時間內,發佈高質量且被認可的工作。這對於IT開發人員也沒什麼不同。成功的開發人員能在預估範圍內編寫出高質量的代碼,並通過發佈偉大的產品讓利益相關者滿意。

那麼開發人員如何才能做到這一點呢?有些人認為開發人員是魔術師,按幾個按鈕就能讓計算機變魔法。現實情況則要複雜得多:我們得遵循一定的原則來編寫可靠的代碼,測試我們的工作,並不斷更新到最新的技術。

優秀程序員成功的14個好習慣

1、編寫可讀性強的代碼

我將從與人直覺相反的這一方面開始。我已經數不清我碰到過多少人認為編寫一些不可思議的、複雜的代碼可以為他們提供工作的保障。“如果除了我其他人都不知道薪資報告模塊是如何工作的話,上面就肯定不敢炒我魷魚!”

當然,這在理論上可能是對的(儘管有太多的人在說這句話的時候往往高估了自己)。雖然企業老闆可能不會炒掉你,但他們也不會支付你很多薪水。如果公司不能在薪資報告模塊上失去你,那麼自然而然也不會晉升你。它不會把你放到另一個更受人矚目的項目上。這樣做只會讓你牢固地待在當前位置,就像死水一樣波瀾不驚。

2、推理不快樂路徑

在編程世界中,所謂的“快樂路徑”提出了一種高度樂觀的情景。沿著快樂路徑行進,沒有出錯的地方,也沒有錯誤發生。

在編寫和測試代碼時,學會廣泛地去推理不快樂路徑的場景。如果作為開發者的你能夠因為在推理不快樂路徑方面一次成功而出名,那麼你對細節的注重將為你賺到更多的酬勞。

3、證明你的抉擇

為什麼你要在這裡使用工廠模式?為什麼你選擇那個特定的Javascript框架?如果你在回答這類問題時使用“因為這是正確方法”諸如此類的答案,那麼就不會給你帶來任何好處。

這個世界在很大程度上依賴於軟件和軟件開發者的傳遞性。我們擁有經常使我們處於權威地位的專業知識,特別是在與非技術人員或不太有經驗的利益相關者打交道的時候。因此,你會發現,你經常採取的是那種大家嘗試的做法,“我說怎麼做就怎麼做”。

4、選擇一款強大的編輯器

優秀程序員成功的14個好習慣

即使是經驗最為豐富的程序員也需要良好編輯器的配合。他們喜歡用文本編輯器勝過IDE編輯器,因為這樣可以學到更多東西。無論什麼情況,儘量使用鍵盤快捷鍵。在選擇編輯器時,認真考慮並挑選最好的(Emacs或Vim),因為它們是通用的。其次,挑選你的首選平臺最支持的。

5、瞭解數據結構和算法

優秀程序員成功的14個好習慣

如果你不知道什麼時候應該使用快速排序、不懂辨認O(n2)程序、不會寫遞歸函數,你的工作效率將會降低,儘可能去了解底層命令(plumbing),以便能夠作出明智的決定(Web框架是怎麼存儲session狀態的?Cookie到底是什麼?)。

6、對項目要從一而終

優秀程序員成功的14個好習慣

儘管項目收尾階段的工作確實強度極大且較為枯燥,但我仍然建議大家堅持到最後並始終抱以理想的工作熱情,而且能夠從一而終的程序員才是一位負責任、有擔當的開發者。

7、整潔的代碼勝過巧妙的代碼

要想讓其他人能夠讀懂你的代碼,儘量使用最少的代碼來完成任務。遵循DRY(Don’t repeat yourself)的原則,使用明確定義的對象和庫,將任務分解成小而簡單的代碼段。

8、潛意識是強大的工具

離開10分鐘往往就可以解決一個問題。控制編程時間,給自己一個多姿多彩的生活,勞逸結合能讓你在工作時更高效、更愉悅。當然,即便是上了年紀的程序員也知道,以最少的時間完成最高效的工作是成為10倍效率開發者的必要條件。

作為一個程序員,我覺得在職業生涯中最好的一件事兒就是從電腦前站起來,去拜訪那些在某一領域有所建樹的人們。

9、推動自身和團隊進步

重視批評,以包容的態度接受批評並提升自己是非常重要的事情。沒有這個基礎,你不可能成為一個高效的開發者。一位智者曾經說過:“聰明的人善於從自己的錯誤中學習,而智慧的人善於從別人的錯誤中學習。”

10、使用在線社區和論壇

俗話說,共享的問題就是減半的問題。當你絞盡腦汁解決問題的時候,請注意不要浪費太多時間在孤軍奮戰上。很有可能你的問題,其他某個人已經經歷過了,他的經驗教訓會對你產生極大的幫助。訪問在線社區,例如Stackoverflow或TechNet尋求提示和技巧。

11、充分利用工具和實用程序

有大量的軟件可用於幫助提升開發人員的構建速度。 除了visual Studio——這款開發微軟軟件的必備工具現在已經是開箱即用的了——還有很多其他的工具和第三方插件可幫助開發人員做的更好:

ReSharper使得編寫代碼更容易;

Web Essentials在創建web app時可提供方便的功能;

FxCop / StyleCop用於廣泛的代碼分析;

SPCAF(用於SharePoint / Office 365的開發)。

12、通過註釋來寫邏輯

說到編碼,我有堅持很多原則和想法。其中一個就是,代碼中95%都是邏輯。另一個就是從人類語言到編程語言,邏輯並沒有改變。

這也就是意味著,如果你能在代碼中寫出來,也就可以用英語或者其他語言寫下來。

13、良好的時間管理

遲到對於任何一家公司都是個頭痛的問題。作為一個程序員,有時候為了完成任務常常不得不熬夜,從而導致第二天上班就遲到了。但是我們忽略了這一點,我們的工作時間至關重要,因為在這段時間裡我們要和客戶同步,也要與團隊其他成員一齊協作。

14、深入理解客戶需求

僅僅瞭解單一用戶的表面意思是遠遠不夠的。一個偉大的程序員應該具備能把繁瑣的要求理解並分解成項目的技術任務或子任務的能力,並且最後拿到的成果應精確滿足客戶的需求。

另外還有一點可以通過自身的學習來獲取一大進步。

分享給超過5萬的程序員朋友下載,這次我把所有乾貨重新梳理精簡,免費分享給大家 。

優秀程序員成功的14個好習慣

究竟有哪些乾貨呢?先給你們一個目錄:

優秀程序員成功的14個好習慣

免費領取資料,查看We Chat “程序員精選”。

程序員工作十年總結了:學習新技術的8個建議

相關推薦

推薦中...