一名優秀的程序員,除了技術能力,還需要什麼其他方面的能力?如何提升這些能力?


說實話,我覺得程序員最重要的——自然是技術能力,但同樣重要的還是表達能力,溝通能力,以及社交能力等等,其實這三個差不多是一回事。當然你技術牛到可以一個人搞出別人絕對做不到的東西,然後以此揚名立萬,這是特例中的特例。

如何提升其實沒別的法子,就是多練,比如多寫點文章,不論是博客也好,還是工作中寫一些分析報告或是郵件,主動多參加一些公司里的分享,這都是鍛煉表達能力的機會。這方面三哥們做得比老中們好,人家不管懂不懂,一定要說幾句。

更關鍵的是,你表達的多了,能力鍛鍊出來,基本上你的露面次數和機會也多了,這就是個良性循環。這對於獲得新的工作機會,乃至升職加薪都有好處。假如你在工作中一直埋頭苦幹,到時候加薪要領導批準時他來一句:特么老趙是誰,我們公司有這人?你就完蛋。

這不是投機取巧,這是基本規律。


一名優秀的軟體工程師或者一名優秀的程序員,除了技術能力,還需要有以下能力:

1、交流能力

雖然程序員每天面對電腦屏幕工作,但是一定的社交能力還是必要的。因為有可能會需要參加客戶會議,向客戶解釋產品是如何運作的。

2、團隊合作精神

程序員不是獨立工作的個體,很多時候需要與他人合作——團隊協作完成軟體開發、項目研究等,團隊合作精神是非常重要的品質。

3、適應能力

每個人都有自己的工作喜好,有些人喜歡完全安靜的環境,有些人喜歡嘈雜的環境,讓所有人都維持相似的工作環境是十分困難的,很有可能所到的新工作環境並不十分符合自己的期望值,但是優秀的程序員需要接受並且適應它。

4、解決問題的能力

在工作中難免遇到難題,重點是如何解決。遇到問題,即使是能解決的幾率非常非常小,優秀的程序員也會用盡一切辦法去嘗試解決,讓事情運轉起來。

5、領導能力

優秀的程序員需要具備一定的領導能力,只會服從的程序員也許只能一直做敲代碼的工作。

6、職業道德/尊重規則

不管是什麼樣的職業都需要有職業道德,尤其是程序員,若是沒有職業道德,會給網路社會帶來很大危害。

7、耐高壓能力

程序員是一個壓力非常大的職業。當deadline來臨,而工作似乎沒有任何進展的時候,普通人很容易崩潰。而優秀的程序員需要在這樣的高壓情況下沉著冷靜,並且繼續工作。

8、強烈的學習慾望

計算機行業發展非常迅速,現在熱門的技術很可能幾年之後就會過時,所以有強烈的學習慾望並且不斷抓住機會提升自己的程序員是非常搶手的。

9、對工作的熱愛

幾乎所有企業都喜歡對工作抱有極大熱忱的員工,對於程序員也不例外。有些人喜歡玩遊戲寫遊戲,有些人喜歡自己建伺服器,有些人喜歡寫應用程序等等業餘興趣,這些可能不是必需的,但是面試官可能會通過這些方面來尋找對工作熱愛的員工。

10、分析規劃能力

有些人拿到任務之後會一頭扎進任務里,立馬開始寫代碼。而優秀的程序員拿到任務會首先進行分析:一個產品的完成需要哪些功能、每個功能需要如何設計等等,接著進行程序設計,然後才開始寫代碼。

11、正確對待失敗的能力

很少有程序員能一次性就把程序寫得完美無bug,出錯甚至是失敗都是必然的,重點是要以正確的心態對待——一旦發現錯誤立即修改,若是失敗,吸取教訓,重頭再來。

12、查找錯誤的能力

寫代碼只是程序員所須的能力之一,debug能力同樣是非常重要的。當軟體沒有按照預期運行而出現的錯誤的時候,優秀程序員要能夠快速有效地發現錯誤,並且解決問題。

13、注重deadline

大多數任務都有deadline,提交工作的時間與deadline的時間間隔展現了一個人的工作能力和工作熱情。如果能在deadline之前把工作提交,上級對你的好感度會加深。

歡迎關注我的微信公眾號:九章演算法(ninechapter),幫助你了解IT技術前沿,通過面試、拿到offer、找到好工作


當你自以為一身好本領卻無法施展,整日被自己根本看不上眼卻又無法優雅處理的業務折磨時,告訴自己:

Don"t Panic!


我遇見的牛逼的程序員都喜歡寫詩,沒寫過幾句詩還敢稱自己是程序員?


能說會道風趣幽默的高技術程序員,那是相當好的


如果你希望是成為「架構師」,那麼,去弄清楚業務

不明白業務,不要指望去設計靠譜的架構


說服別人尤其是產品經理的能力


自我發泄的能力,發展一個比較有發泄感的興趣愛好,攀岩、潛水、跳傘、電貝、電架鼓、魚板、XB極限小輪車什麼的。以便在法律不允許你砍死產品狗的情況下能有地方發泄。:)


1.體力

實習的時候加班一個月同時經常通宵【不是因為工作而是畢業設計趕進度】

2.情商

比如周圍同事被穿小鞋離職項目經理虎視眈眈的時候坐懷不亂

3. 智商

立志做外包的請忽略此項【喪心病狂】

4.學習能力

立志做外包的請再次忽略此項【黑的漂亮】

5.人際交往能力

請腦補第二條中同事為何離職


先找個女朋友,就知道還需要什麼了。


防被練手PM,給帶溝里,花大量時間和精力做個沒有用戶功能。


溝通能力、寫文檔的能力和把妹的能力


撩妹能力,沒時間學啊,這個挺尷尬


推薦閱讀:

IT女程序員{若不考慮男程序員}的職業特性對其戀愛婚姻到底有無影響?
為什麼程序員談工資習慣用k為單位?
九章演算法真的能幫助我找到好工作嗎?
參加IT公司的技術面試時,遇到不會的問題應該如何和面試官溝通?
成為一個優秀的測試工程師需要具備哪些知識和經驗?

TAG:程序員 | IT行業 |