高效能程序員的修練 – 筆記(5) – 恨那段代碼就好

不要恨程序員,恨那段代碼就好

遇到流程與人員的問題,你是怎麼處理他的? 技術不是決定問題的關鍵,通常都是其他的問題。且無論是任何問題,都是人的問題

你不會看到一個快樂、健康、有凝聚力、社交正常的團隊失敗。

  • 你團隊會寫多少程式?
  • 你們在開發什麼軟體?
  • 你喜歡你的同事嗎?

紀律,領導以身作則

你這臭小子!我知道你的名字了!看我怎麼收拾你!我看你還笑得出來嗎?你會想哭都哭不出來的。你必須一條一條的學下去。我會教你的。 – 哈特曼

如果你們團隊沒有正確的工作紀律,那麼你們所使用的工具和流程幾乎起不了任何作用。你想要讓團隊成長,你需要一個領導,而不是一個訓導員。

注意,不要被槍殺了

  • 保持謙虛,假定你是錯的,不要總是喊著狼來了。
  • 提出建設性批評要小心,避免被流放
  • 想要贏的尊重,先拿出實實在在的成績
  • 百說不如一幹,想要推動啥,自己要彎下腰,事情落到別人身上,他只會認為你找麻煩,你需要做出實際行動。
  • 沒有銀子彈,沒有通用的建議可以適用所有情況

愛鄰居,而不是假裝愛你的鄰居

最有效的領導方式就是以身作則,但你想要激勵一些人,最好的方式就是營造一個協助的環境,虛情假意的關心,不會維持太久。

狼人與吸血鬼是否可能合作?

開發人員的權限到哪?及要開放到什麼程度,他們應該受限制,這不是質疑開發人員的能力或態度。有一個專業的人負責那些事,我們可以花更多的心力在照護我們的”代碼”上。

讓我們公開討論,互相學習怎樣把我們喜歡做的事做得更好。

我們必須讓狼人跟吸血鬼合作,達成一個狼人跟吸血鬼不合作就不可能完成的共同目標。發揮他們的獨特技能。再次強調,狼人跟吸血鬼應該事合作關係,不應該是對抗關係。

Pair Programming 與 Code Review

  • 兩個人通常有自己的獨特技能,而且是可以傳遞的
  • 相當於一個駕駛與領航員,通常總會有一個人想出好點子
  • 團隊大一點,可以每周變換,讓開發者互相溝通

多數人在可選擇時都會選擇息事寧人,但是在 Pair Programming 時是不可能的。沒有人真的想花時間去理解不簡單的新代碼,但是通常出事時,可能已經來不及了,寫那段代碼的程序員也可能不在了。

無論你想用任何方法,請確保有超過一雙以上的眼睛在看你寫的代碼。

想浪費時間嗎?開會就對了

  • 會議不該超過一小時,否則應該判死刑
  • 每個會議都要有明確目標
  • 開會前,請先做好功課
  • 他應該是可選的,而非強制的,不需要出現的,想像一下,舉行一個每個人都想參加的會,你會很有成就感
  • 會議完成後,統整一下所有人的待辦事項
  • 試著不舉辦會議會有甚麼問題,如果沒有,或許他根本不需要舉辦。

當你對你的項目宣戰,你就成了團隊的負擔

當你有好的想法要推動時,如果已經開會討論說不要時,在做事時,不要繼續強調”當初如果你們聽我的話用….”,因為這無法解決問題,只是讓團隊煩躁。

識別壞蘋果

如果你容忍團隊裡面的問題員工,將會大大打擊士氣:

  • 他們會掩飾自己的無知,拒絕跟團隊夥伴學習
  • 隱私權的過度渴望,如”我不需要任何人來查看”
  • 在意自己的地盤
  • 抱怨團隊的決定
  • 團隊一直在說某人的悄悄話
  • 不是團隊優先,表示他沒有融入團隊

你不必與每個人成為朋友,只須對他們有基本的尊重,並讓團隊正常運作即可。如果主管沒有處理壞蘋果,表示他玩忽職守。把人開除跟調職決定很困難,但如果你發現你六個月前就該把某個人調走,你會更痛苦。

壞蘋果的溢出效應

為了測試壞蘋果,我們找了一群大學生,裡面有人是扮演的壞蘋果

  • 悲觀主義者 – 抱怨無趣,質疑團隊
  • 渾蛋 – 說別人不好,但又提不出更好的
  • 懶鬼 – 只會說無所謂

團隊有壞蘋果時,團隊能力會下降 30%~40%,重點是,溝通變少、容易吵架,且其他成員也開始與壞蘋果表現的一樣,這就是壞蘋果的溢出效應。

如果你認為團隊裡面沒有壞蘋果,注意一下,你會不會就是壞蘋果

從根源解決問題,除掉害群之馬,即使那個人有可能是你。

獨自開發或遠程開發

遠程開發時,只能用電話來確認需求,一來一回可能要耗費極大的時間。且獨立開發會讓你孤獨到找不到方向,解決辦法很簡單,找到一個跟你一樣熱情的,即使他在遙遠的一方,你們緊密的合作可以讓你們勾勒出強大的願景。

  • 實時交談
  • 所有人的工作清單
  • 培養面對面的溝通
  • 狀態報告 – 昨天做了什麼、今天要做什麼、遇到什麼阻礙,讓每個人都這樣報告
  • 會議記錄 – 誰參加了會議、討論的話題、決議是啥、下一步是啥?

如果這對你們很重要,那怕要花上時間,甚至過程中犯錯,都是值得的。

print

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *