你做過的最有效的提高你的程式設計水平的一件事情是什麼
最近在stackexchange網站上看到了一個非常好的問答,有人問:你做過的最有效的提高你的程式設計水平的一件事情是什麼?
回首作為一個程式設計師這些年來的生活和職業道路,我使用了很多種不同的方法來提高我的程式設計技能 —— 閱讀程式碼,編寫程式,閱讀書籍,聽講座,看視訊,等等。
我的問題是:你做過的最有效的提高你的程式設計水平的一件事情是什麼?對於那些想提高水平的程式設計師,你的建議是什麼?
我希望你們提供的答案是各種各樣的,並且不是那種“放之四海而皆準”的答案 —— 我希望得到適用於不同人的不同的答案。
有很多人給出了自己的答案,在這裡,我將其中最受認可的前三種答案選出來翻譯給大家。
最受歡迎的回答:學無止境
沒有特別的先後次序…
- 和比自己更聰明的人一起工作
- 永遠樂意聽取他人的意見,不管對方是低階水平,一般水平,資深,還是大師。職稱頭銜並不代表一切。
- 學習其它的框架/語言,學習它們是的工作原理和思想,拿它們跟你已知的技術做比較。
- 學習各種設計模式,最佳實踐理論,然後用它們檢查自己先前的知識,在需要的時候使用這些模式。
- 結對程式設計
反對Joel說的一切。
第二受歡迎的回答:成為多面手
爭取成為一個‘多面手萬事通’
在我職業生涯的早期,我在一種資料庫和程式語言上是個專家。不幸的是,這種資料庫在“資料庫戰爭”中落敗了,我才發現我的職業道路…很窄。在此之後,我下定決心以後決不能把自己封在一個小空間裡。我開始學習所有手頭上能接觸到的東西:Windows,Unix,C,C++,Java,C#,Perl,Python,Access,SQL Server,Oracle,Informix,MySQL,等等。不管什麼樣的新的,不常見的工具或技術,我都成為“大拿” —— “去問克雷格(作者自己),他要是不會,他會去學會的。”結果,我做了各種各樣的專案,從為環境監測做嵌入式系統,到為導彈防禦做命令和控制系統。
我在各種的公司裡唯一遇到的問題是:它們堅持要把我固定在一個專門的研究方向內,而我的專門研究是要成為一個多面手。[編輯: 也叫做學識淵博的人或多才多藝的人或多領域專家。]
有些事情需要留意 … 高科技界裡知識的半衰期是多少?根據摩爾定律(Moore’s law):18-24月內,半數你學到的知識都會過時。錯誤的遵循這種規律的專家會輕易的在這種技術發展的壓力崩潰;一個多面手要做的事就是不斷的豐富自己的技能,並從應用這些技能的經歷中吸取教訓。
第三受歡迎的回答:不要跟臭棋簍子下棋
我一直認為自己在不錯的程式設計師中也算是個“灌籃高手”。直到有個傢伙——我們叫他艾倫——被招進團隊。艾倫很顯然在很多方面都比我優秀。也比我年輕。他讓我認識到,在過去的這些年裡,我沒有多少長進。我是一個特定技術方向的程式設計師,而且是水平一般。
這驚醒我應該自覺的不斷提高自己的水平,特別是我寫的程式碼的水平。
艾倫引導我學會了很多東西。他告訴我,大部分我寫的程式碼在今後的數年裡都將一直維護和進行擴充套件,寫程式碼時要將這點銘記在心。我應該為我的程式碼寫自動測試程式。艾倫說程式碼的開發一定不能停止在第一版上,應該不斷的重構,提煉,讓它達到完美。我發現,我對這些語言和工具的使用都還有還很大的改進空間。
從艾倫那我學到的最重要的一件事情是:永遠不要停止學習。
數年後,艾倫離開了公司。我的心裡突然感覺空蕩蕩的。這些年與他為伴讓我在技能上提升到了一個全新的水平,我知道現在我比團隊裡的其他人優秀很多。他們仍然寫著糟糕的程式碼,犯著以前犯過的錯誤。我努力教育他們,但他們對此不感興趣。事實上,他們討厭有人這樣傲慢自大的指出他們犯的錯誤。
於是,幾個月後,我也離開這這個公司。我去了一個很小的公司,在一個很出色的團隊裡工作。那裡每個人都渴望學習更多知識,我喜歡這樣的。
我很幸運能遇到艾倫。沒有他,我也許現在仍然待在那家死氣沉沉的公司和那幫食古不化的傢伙在一起,哪都去不了,想的全是自己的私利。
這個討論在stackexchange網站上的地址是這裡。
從我個人而言,我覺得第三個答案對我最有價值,不知各位同行們有什麼感受?
相關文章
- 提高程式設計技能,你做過最有效的事情是什麼?程式設計
- 程式設計師,你碰到過的最難調的Bug是什麼樣的?程式設計師
- 快速提高你的UI設計水平的一些小技巧UI
- 你的程式設計師是一種什麼樣的怪物?程式設計師
- 作為程式設計師,你的夢想是什麼?程式設計師
- 你是什麼時候”突然”學會程式設計的程式設計
- 你覺得程式設計師最大的悲哀是什麼?程式設計師
- 善用這些UI設計小技巧,快速提高你的設計水平UI
- 你覺得你的測試水平怎麼樣,在市場上是一個什麼樣的水平。
- 高階碼農設計的程式能解耦,是多麼重要的一件事情!解耦
- 程式設計師程式設計,你的練習是不是有效的?程式設計師
- 作為程式設計師,你最理想的公司是什麼樣的?程式設計師
- 程式設計真是一件枯燥乏味的事情嗎?程式設計
- 你是最適合創業的程式設計師嗎?創業程式設計師
- “報錯”是程式設計世界中,最簡單的事情!程式設計
- 程式設計師最恐怖的噩夢是什麼?程式設計師
- 程式設計師最恐怖的夢魘是什麼?程式設計師
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 做過程式設計師的產品經理是一種什麼樣的存在?程式設計師
- 是什麼讓你做的小遊戲聽起來怪怪的?遊戲
- 塊儲存是做什麼用的,你知道嗎?
- 程式碼管理流程你們是怎麼做的
- 你的遊戲為什麼做不出遊戲
- 趣文:你最喜歡的程式設計師漫畫是?程式設計師
- 程式設計師如何解決面試難題?你可知道你的缺點是什麼?程式設計師面試
- 程式設計師每週該做的事情!程式設計師
- 程式設計師最核心的競爭力是什麼?程式設計師
- 阿里巴巴員工等級劃分,你的程式設計水平在什麼位置?阿里程式設計
- 你是浪漫的程式設計師嗎?程式設計師
- 12個有效的提高程式設計技能的方法程式設計
- 美國人告訴你為什麼狀告CNN是很蠢的事情CNN
- 小白程式設計師最容易踩的“坑”,你踩過幾個?程式設計師
- 用最簡單的話告訴你什麼是ElasticSearchElasticsearch
- 手機的100種玩法,程式設計師你是怎麼“善待”你的手機的?程式設計師
- 學習是一件快樂的事情
- 你所寫過的最好的Python指令碼是什麼?Python指令碼
- 不拼顏值的程式設計世界你靠什麼上位?程式設計
- 為什麼你還是學不會程式設計程式設計