==================================================================================
本文摘自http://jingyan.baidu.com/article/f96699bb804de7894e3c1b1c.html
==================================================================================
- 時間花在寫精彩的代碼上
情境A:你有一個發瘋似的能寫代碼的程序員,事情似乎在進展中……然後,Bug開始不斷出現,你們也不知道爲什麼,好像永遠補不完。補完十個,又出來五個,現在你手裏的,就是一大堆代碼……
情境B:你現在有一個看起來很聰明的程序員,你面試他的時候,他似乎無所不知,能把理論說的頭頭是道。然而,你留給他三個任務,三個星期以後,他還在做一些三天就該幹完的事。這下該你困惑了,他這麼聰明,他知道generics(詳見備註),多線程的一切事情,甚至還能給祖母級的人講解什麼是指針,讓老太太興奮的想去編程。可是——怎麼什麼都沒完成?
於是,在夢境中——你寫出了堪稱偉大的代碼,——偉大的代碼是偉大的程序員寫出來的,他睿智,明白代碼的真正品質所在。寫代碼就像託尼•霍克在玩滑板一樣自然優美,看上去就令人愉快。這些程序員以讓你眼花的速度搞定一切,他們知道每個問題應該處理多長時間,也不會追捧尋覓所謂的世界最好解決方案,弄很多線程很多層來寫一個簡單的遊戲。他們寫的程序沒有Bug,因爲寫的時候自己測試過了,在睡覺時也在寫代碼說的就是這樣的人。這些程序員太寶貴了。
- 闡明問題
對,這些人明白自己看問題和闡明立場的方式,而這理解方式大概不會是問題創建者所想要被理解的。請牢記這就是關鍵所在。一名偉大的程序員在嘗試解決問題以前,一定要完全的理解它。你百分百搞明白了嗎?沒有?百分之九十九?——回去再多問些問題,確保百分之百理解清楚了。
- 怎樣着手解決問題
看看問題,計算出需要怎樣的結果,你的時間能怎麼安排,預期的質量,你必須用的工具,……好了,開工吧!
- 對代碼的信任
關鍵:你對一個開發人員越有信心,他離成爲一個偉大的程序員的距離就越近。想象你是你的管理者,如果他並不擔心你的代碼,會給你多少信心和勇氣!
- 對方案的信任
- 滿足客戶需求
- 不斷升級
他們發現自己想要參加的大會就會給公司寫Email“本人非常想參加今年的Tech-Ed大會。我將用心研習,並對作出貢獻。我預計這可節省 <金錢/其他原因>。如果可行,不知公司是否幫我支付此行?”如果我收到這樣的郵件,我不僅會幫他支付參會費用,他的路費我也會全程買單。
偉大的程序員們永遠會關注例如.net用戶組或Java用戶組的所有用戶羣體。他們參加本地的技術會議,並從中汲取知識。你會看所有最新博客和最新的雜誌嗎?現在列出你最喜歡的前5個開發博客。你能做到嗎?你應該像參加基督教青年會那樣輕鬆做到。做到這些,可以很好的幫助你延伸你的思路!你將會不斷獲得更好的點子!你會得到更好的回報!
- 團隊奉獻
他們不斷學習新東西,發掘新技術,但是不會讓其他人知道他們這麼做了。一個好的程序員會準時完成方案,但是那是在催促和團隊得不到休息的前提下。然而一個偉大的程序員則會與團隊中所有的項目保持聯繫,在需要的時候還可以出手幫忙。他們會如是說:“我注意到A團隊的項目進行到xx進度了,如果不介意的話,我想我可以幫忙?”
- 做好會議記錄
接下來,偉大的程序員就會把他做好的會議記錄分發給項目管理者,列出會議時間、會議主題和參會者。接下來,是會議項目的標題和重要條目。在這之後,就是這些議題的詳細記錄。一個好的程序員沒有做會議記錄,並在會議上對提出的每項事宜都點頭稱是,那隻能寄希望於他的記憶力足夠好了。隨後,他會給你發郵件讓你看看他的改動,你得回頭提醒他忘記的不多,百分之九十的都沒錯。——這不是浪費時間嘛!根本不是這麼回事!所以,做好你的會議記錄。
- 孺子可教和接受批評
所以,只要你是個偉大的程序員,就會理所當然的擁有理想的工作環境。如果你不斷改善技能、虛心好學、在別人給出的意見和批評中總結錯誤並得以改善,我向你保證你將會成爲一個偉大的程序員而不只是想象自己變得偉大而已。如果你總把自己想象成爲“精英”而不進步,那你只是自欺欺人。如果你不成長,你甚至不能停留到原地,等待你的只有滅亡!
- 公司需要的時候總能出現
然而,毫無疑問,與前面的這些美事兒隨之而來的是責任。如果趕上時間緊還得出活兒,偉大的程序員則建議你即使在週末也要加班。即使幹得再晚也得把活兒幹完。你看,偉大的程序員是要爲自己的創作負責的。這雖不是必需的,但這是偉大程序員的標誌之一。有些人只想朝九晚五的上班,他們可能不錯,但是成不了偉大的程序員。偉大的程序員是團隊中幹到最後的那個,把作品視爲完美的藝術,與團隊成員親如一家。
- 衣着職業化
一個偉大的程序員週一到週五都穿着職業化,衣服也能帶來成績。如果你不在意穿着,你也會因爲穿的太奇怪而得不到晉升。毫無疑問,套裝和領帶還是很能提升你自己的。我向你保證,一套得體大方的西服套裝會讓你在今年就覺的物超所值。
- 溝通能力
概要:想要成爲管理人員,你的溝通能力得分至少要打到9到10分。甚至你在會議上只講了幾分鐘,或只一個小彙報,你都需要非常好的表達能力。別隻是在你的每天的工作日誌寥寥寫上“修補1371個bug”,你要做的是儘可能描述清楚如何在這麼艱難的情況下解決了問題。闡明你的方法,說明你如何保證這個bug不再出現。你就不再爲你的日誌發愁了。這會是你向經理展示自己的精彩演出。
- 目標設定的技巧
偉大的程序員有了目標不會只是想象,他們會具體實施。他們會根據具體情況,在預期的時間做具體的事情。他們會詳細地制訂明年的計劃,包括要上的課程、要完成的項目甚至包括他們需要建立的人際關係。
- 組織技巧
- 額外要提到的:激情
在回顧的時候,我用這些標準來評判我的開發團隊。我給我的團隊儘可能最好的環境,作爲回報,我想要他們都成爲最偉大的程序員。你可以用這些標準來評判你的團隊,或者你本身就是一名程序員,請用這張列表來儘可能地改造自己來超越同儕。