一個好的軟體開發人員需要培養兩種技能:技術技能和非技術技能。不幸的是一些開發者只注重技術的部分,以致養成一些陋習,下面是最常犯的5個非技術性錯誤:
0. 缺乏自律
Jim Rohn曾經說過:自律是目標和成果之間的橋樑。我一直認為,不論是成為一名軟體開發人員,亦或是想在生活的其它任何領域取得成功,自律都是最珍貴的技能之一。事實上,很少有人兼具智慧和自律。
Steve Pavlina強調了自律的5個基本原則“……容忍(Acceptance)、毅力(Willpower)、努力(Hard Work)、勤勉(Industry)以及堅持不懈(Persistence)。將每一個單詞的首字母提出,構成一個縮略詞:鞭子(A WHIP)。這樣更便於記憶,因為很多人總是把自律和鞭策自我聯絡在一起。……” 我力薦大家閱讀Steve Pavlina寫的關於自律的一系列文章。
正如我以前的文章每天寫出好程式碼的5個建議中解釋的一樣,對於自律,我的個人做法是每天遵循以下步驟
- 將一天要做的事情列成清單。
- 一次只做一件事。
- 正確做事。
- 不要半途而廢。
- 與其道歉,不如補救,而放棄最不可取。
1. 自我意識過甚
據我的經驗,程式設計師有點自我意識過甚,但凡過於自我的人都很難意識到這點,以下幾個指標可以幫助你認識到自己是否自我意識過甚。
- 你認為自己是最棒的程式設計師。
- 你牴觸交流。
- 你要求檢查程式碼,是為了炫耀而不是為獲得建設性的建議。
網上有很多關於程式設計師及其自我主義的文章,我在此推薦兩篇,一篇是來自Mike Bernat的《無私的程式設計(Egoless programmin)》,另一篇是來自stackoverflow.com與此相關的討論“你如何控制自大”。
2. 不善溝通交流
Woodrow Wilson說:“我若要說上十分鐘,須花一個星期準備;若是十五分鐘,需三天;若是半個小時,需兩天;若是一個小時,我現在就能準備好。”
溝通是我們人類的主要活動。做一個優秀的交流者,這不容易,但就我們的職業而言,卻是必不可少的技能。對於設計、程式碼、同行評估、文件編寫、試著去說服別人自己的設計是最好的、編寫程式碼等等,我們總在交流意見。
擅長溝通的人通常會像這樣闡述事情:
- 專注。他們只說需要理解的內容
- 清晰。容易理解。
- 簡潔。增一分則太過,減一分則不足。
對成為一個更好的溝通者,我有兩個建議:
- 如果自認不是個好的溝通者,事先做好充分的準備直到達到集中、清晰、簡潔的要求
- 交談之中,首先傾聽,思考妥當後再說出自己的看法。
在我先前釋出的文章《在開發團隊中做出決定的七個最佳慣例》中,有更多關於提高交際能力的小竅門。
3. 忽略使用者
“如果我們不關心使用者,自有他人關心。”你在此的唯一原因就是服務使用者,但有時候很容易忘記這一信條。我曾經所在的團隊只注重於技術和平臺,而不是令使用者滿意。我們花費一個多月的時間創造一個構架,卻未能給使用者帶來任何價值;到開始使用的時候,我們發現它完全不適應使用者的需要。
4. 不能合理安排工作
開發者們總是為自己鍍金,他們研究新的或更有趣的技術;做所有覺得更酷的工程處理方法。這樣無疑妨礙到了專案,但我並不是說時不時投入到旁的活動中是不正常的。誠然我們都需要分散注意力,但是你若發現自己老是處於前面所提到的狀態,那麼你有必要重新考慮自己優先處理工作的方式。我再次推薦你讀每天寫出好程式碼的5個建議這篇文章。
原文:Alberto Gutierrez 翻譯:伯樂線上 -唐瑭