讓老板開心的程序員不是好程序員
我們每個人都有老板。我們也有為軟件項目買單的客戶,在合同期間他們也是我們意義上的老板。很明顯,一個好員工/合作人員必須得讓他的老板/客戶高 興。但是,只有不好的員工才會朝著這個目標努力。如果將這個錯誤的目標定為追求的方向,那就只會毀了項目。專業的員工為項目而工作,而不是為老板。
     
 
我們都是在為項目而工作,開發人員、設計師、程序員、項目經理、測試人員等等。老板也應該是項目中的一員。更正式地說,和我們每一個人一樣,老板這 個群體也是利益相關者。每個利益相關者對項目都有著自己的要求:1)Jeff,開發人員,希望可以學習Scala,同時可以每兩個星期拿一次薪水; 2)Sally,產品負責人,想要參加巴黎博覽會,當然薪資也是不能少的; 3)Bob,CTO,想提高新一輪的融資,并拿到非常高的薪水;等等,不一而足。
甚至項目也有自己的目標,例如,在六個月時間里至少能實現上百萬的下載量,各種花費得控制在30萬美元以內,等等。
在朝著實現項目目標前行的道路上,我們個人的需要可能會被滿足,也有可能會被犧牲。這里的“我們”指的是我們所有的人,包括老板、CTO、項目經理以及團隊負責人等等。
我們都是“項目”機制里面的組成部分,無論我們是否意識到,項目這個機制都在根據規則和項目管理的原則而工作,也不管有沒有項目經理。
一個專業和精明的老板明白,他在機制里的作用就是明確項目目標,并確保每個人的需求與這些目標相一致。通過恰當的項目管理和項目組織,每個人都可以在實現項目目標的同時,實現個人的需求:Jeff學到了Scala,Sally來到了巴黎,以及Bob能買得起新房子。
然而,假設Jeff想學習的Scala和我們正在開發的iOS應用程序相沖突了,那就需要老板出面來解決問題。要么說服Jeff去喜歡Swift(這個可能性值得商榷),要么就找人替換他。
這就是CTO的責任了,當員工的個人需求與支付他薪水的項目目標不一致的時候,那就需要CTO上場了。
任何一支專業的團隊都明白這兩件事:服從和拒絕。
首先,你要明白,老板在這里是為了幫助你管理你的時間,你的任務,你的溝通,你的計劃等等事宜的。關于項目,他知道得更多,這些信息有助于你更好地完成工作。你真正的老板是項目:此時與你互動的老板擔當的就是項目經理的角色,將項目目標翻譯成計劃、指令、日程安排。
此時你們的地位是平等的。你們都在同一條船上,只是職責不同而已。你不是在為他打工,而是在與他攜手共同完成項目。真正專業的團隊成員,其心靈務必強大,在他們眼中他們的地位與項目中的其他所有成員的地位是平等的,無論這些成員的職位有多高。
與此同時,他嚴格遵循流程和遵守所有的項目規則和說明,不是因為他害怕被解雇,而是因為他希望項目能夠成功。
其次,作為一名專業團隊的成員需要隨時準備著質疑每一個指令,只要你覺得它違背了項目目標。一個真正的專業人士不是在為老板工作。他不必取悅于老板,也不在意老板是否開心。因為他知道,真正的老板是項目,他所做的就是在讓項目“開心”——成功。
真正的專業人士也是在為自己而工作。Jeff希望學習Scala的同時也可以賺錢養家。他之所以參與該項目也是為了滿足這些需要。如果項目失 敗,Jeff就拿不到錢,也不能真正地掌握Scala。所以,如果此時中二病發作的老板讓Jeff去做一些可能會危及該項目成功的事情,Jeff該怎么辦 呢?他會不會因為怕老板不滿而違心地去做了呢?如果他所關心的是這個項目的成功——同時也代表了他個人的成功的話,那就不應該為了讓老板開心而盲從。
    總而言之,讓你的老板高興是一個不成熟的、懶惰的、愚昧的目標。專注于項目成功才是我們作為一名專業的、強大的、成熟的團隊成員該具備的目標。
譯文鏈接:http://原網站已經失效/article/making-your-boss-happy-is-a-false-objective.html
英文原文:Making Your Boss Happy Is a False Objective
翻譯作者:碼農網 – 小峰