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