管理工作是一種完全不同的技能
總所周知,在一個程式設計師的職業生涯裡,他的技術水平會積累到一個相當的高度,而現在要求他去花整個時間去研究一種全新的東西——人際交往、軟技巧等 管理工作,這些是他們在過往的歲月裡完全忽略的。學習程式設計技術佔用了他們全部的時間,那些是需要反覆嘗試、反覆失敗的過程。現在,他們的時間卻需要用在非 編碼的事情上,是一些跟他受獎賞的工作完全不同的工作上。於是,他們一下子從擅長的工作轉移到了不擅長的工作。自信心,工作滿足感都受到打擊。
問題的根源是,技術大拿/技術帶頭人跟團隊管理/經理是完全不同的技術工種。你對他們獎賞,是賞識他們是出色的帶頭人,卓越的執行者,要把他立成榜 樣,讓其他人學習,追隨。而不是讓大家都想當經理——都是經理後會來幹活?除此之外,你不能向大家暗示這樣一種訊號,就是作為一種事業,編碼工作跟其它職 位比起來是低等的。
理解一位技術首領
一個技術首領的職責和工作有很多方面。參考一個典型的技術負責人的工作——每天有很多的技術問題需要決策,給需要解決的問題排優先順序,找到解決問題的方案。程式設計師的工作最有趣的部分是,他們每個人都會在專案的某一方面起著重要作用——某種程度上的領導地位。
程式設計師的另外一部分工作是,回答為什麼有些東西有問題,為什麼不能這樣使用軟體。找bug,修改bug。寫文件。程式碼審查。專案評估。總之,一個程式設計師在一個公司裡待的越久,他就越難找到一個較長的不被打攪的時間段。這些是他們工作中最討厭的部分。
程式設計師最快樂的工作發生在不被打攪的時間裡,而這些不被打攪的時間卻不能說因為大家找不到你而影響了他人的工作。程式設計師思考問題時通常需要將整個問 題裝入大腦,這需要他們的注意力承載相當大的負荷來分析和研究問題。對於性格內向的程式設計師,這需要安靜,而對於外向的程式設計師,這需要在一間屋子裡和志同道 合的人共同討論。
但是,為什麼有些程式設計師不高興?為什麼優秀的程式設計師不能從工作中獲得更多的快樂?核心障礙是權力——程式設計師能夠說“不”的權利。這無關勇氣。這是一 種實權問題 – 技術負責人必須要把客戶提出的問題解決,如果他對自己手中的軟體有責任感,他們會覺得這個軟體會一輩子和他休慼相關,這是一種個人擔當,但也是一種拖累。
如何讓技術領袖更有地位和權力
隨著專案的發展,團隊中的人會越來越多,最終會出現團隊成員管理問題。技術負責人會必然的要處理一些團隊中出現的人員問題。這方面工作做不好就很可 能導致很大的問題。應該鼓勵技術負責人提早設定目標,讓他們多想想最終目標是什麼,是搞技術還是做管理,不要斷然的向他們傳送如果不當上領導就不受人尊重 的錯誤訊號。如果一個優秀程式設計師有志於成為最偉大的程式設計師,有志於想開發一個能承受10億人訪問的系統,或者深入探索一個作業系統,那你就應該幫助他實現 他們的理想,這都大家都有好處。
技術上的目標和願望很容易實現——公司應該拿一些“有趣”的專案來獎賞程式設計師。讓他們有成長和學習的機會。還應該在公司外部尋找一些跟職業相關的活 動機會,比如鼓勵程式設計師參加技術大會,參與技術講座,成為某一領域的知名人物。大多數程式設計師對於他們的職業發展並不會採取主動的措施,鼓勵他們參加這些社 會上的活動可以讓他們在自己感興趣的領域獲得社會成就感。這不僅對程式設計師有有益處,同時對公司也有好處,它會給公司帶來名聲,能吸引其他的有能力有志向的 程式設計師加盟公司。形成一種機制,讓工作出色的程式設計師感到自己在公司的份量在增加,地位在提高。這能讓他們感到更有“權力”。
有能力說“不”並不是程式設計師的本質願望。獎勵程式設計師應該是讓他們在能發揮最大作用的崗位上更自由、更快樂的發揮更大作用。而不是去到一個不熟悉的管理崗位上。
英文原文:How to reward skilled coders with something other than people management。
相關閱讀
評論(2)