技術領導之路:如何從開發人員轉變爲團隊負責人

若是軟件開發只是你職業目標的一部分,那關於將來如何成爲一名技術負責人也許是你應該認真思考和學習的事情。技術負責人可能意味着不一樣的事情:身兼團隊負責人或技術經理的職責。譬如,研發項目經理是一個須要對其團隊及項目負責的團隊角色。這也就意味着他們還需對團隊成員的工做狀況、業務增加狀況、可交付成果、項目截止日期、團隊文化、代碼標準、技術債務等等負責。編程

做爲一名開發人員,你清楚如何從目前的職位晉升成爲一名技術負責人嗎?若是你的目標是儘快成爲一名技術側管理者,那麼你首先須要問問本身爲何想要擔任這個角色?成爲一名技術管理人員不必定是真正符合你長期目標的一個選擇。架構

以往我之因此從事軟件開發,是由於與「電腦」合做比與人合做更讓我感到自在。可是一段時間後,我發現本身可以在各方面愈來愈多地幫助到其餘開發人員。同時我喜歡主導項目並追求更完美的代碼水平。所以,就我我的而言,成爲研發項目管理者是一個顯而易見的最佳選擇。單元測試

但對於多數軟件工程師而言,成爲一名獨立貢獻者(IC)多是更爲合適的道路。許多公司都會選擇聘用一個傑出工程師或資深工程師等很是高級別的技術角色而非職業經理人來管理技術團隊。學習

▲開發人員的刻板印象:吃披薩,僅在晚上工做等等▲測試

那麼,你是想成爲一名研發項目管理者仍是其餘類型的團隊負責人呢?問題的關鍵在於誠實地瞭解驅動你的因素-到底是編寫代碼仍是軟件架構設計?又或者你但願幫助其餘開發人員取得更好的項目結果?與項目的相關者協商交付日期?以及說服你的業務團隊在必要的時候進行代碼重構?spa

對這些問題的回答將有助於你肯定哪條道路更適合你。開放源代碼

若是你仍然確信成爲一名技術負責人是你的選擇,那麼你還須要作一些前置準備工做:考慮與你的項目夥伴或導師合做,讓他們在你不熟悉的領域爲你提供幫助。架構設計

若是以上說的內容,你都已經肯定並準備好。那麼接下來的10點建議是我以爲你在成爲技術團隊負責人的道路上須要持續努力作到的事情:設計

一個真正的領導者無需職稱或權威就能夠領導他人。任何具備花哨頭銜和被組織賦予足夠權力的人均可如下命令。但切記,站出來下命令不是領導能力的體現—而是你的工做。code

所以,你應該從小處着手。在困難的項目中承擔更多的責任。經過在項目過程當中提供反饋來幫助你的夥伴。而且主動去介紹項目更新進度,提出對團隊或產品工做流程的改進等方法來指導你的夥伴們。

一個項目中,實際上是有不少值得你去主動幫忙的地方的。但通常人們要麼不肯意幫忙,要麼沒有足夠的專業知識或信心去承擔責任。所以你須要肯定你的同事正在苦苦掙扎什麼,而後站出來幫助他們。

承擔責任時,應對你所作的或沒作的一切負責。領導者要承擔責任,避免將錯誤,錯過截止日期或漏洞歸咎於他人。

與其抱怨別人犯過的錯誤,不如幫助他們修復錯誤並解釋未來如何避免它。既然找藉口並不能幫助任何人,那麼你應該要花時間踐行你所承諾的。若有必要,請與你的經理協商一個更好的期限。而後像你運營本身的企業同樣運行一個項目,並切身地關心它。

最近,我團隊中的一位技術負責人擴展了一個咱們的 master 分支。緣由在於他早前發現單元測試的覆蓋率大大降低。當下他沒有抱怨,而是默默地增長了缺乏的測試範圍。而後介紹瞭如何正確檢查覆蓋率以及如何編寫複雜功能的單元測試。能夠看出他願意在團隊中提供幫助,而不是去責怪他人。團隊全部人都對這個行爲表示讚揚。

總是說,若是你不想與「人」打交道,那麼在你想要成爲領導者以前須要再認真考慮一下。

創建有意義的人際關係是技術研發管理者的職責之一,由於管理是使事情經過他人來實現。所以,從如今就開始與他人創建良好的合做關係,他們將是你將來的夥伴。

也許你能夠嘗試經過如下列舉的幾種方法來促進本身作到與他人創建良性合做關係:例如在技術沙龍中進行演講、參加研討會以及在團隊以外指導開發人員。

一名研發技術管理者首先要是一名軟件工程師。他們必須具備強大的軟件工程背景和動手經驗,必須是團隊中最強大的工程師之一。沒法編寫代碼或不瞭解技術細節的管理者是不能參與技術討論的。同時也意味着成爲管理者後,也應始終須要保持足夠強的技能,以勝任更高層次的架構需求。

在團隊中,沒有團隊合做精神的「優秀開發人員」的存在,其實都是弊大於利的。若是你在技術上很強,那麼你應該幫助其餘人達到本身的水平。結對編程、代碼審閱、演示、開放源代碼或內部源代碼項目都是幫助他人很好的示例。

可能不多有人會主動來找你請教問題。可是,經過把本身稱爲「技術專家」並主動作上述事情,人們天然會開始向你尋求建議。經過幫助他人,你能夠創建有意義的人際關係並贏得人們的尊重。你也要但願他們作一樣的事情做爲對你的回報——在有能力的狀況下去幫助他人。

按時交付項目是管理者的核心職責之一。若是做爲開發人員,你老是由於低估任務而錯過了截止期限,那麼其餘人將如何信任你呢?當咱們處理任務時,你必須保持層次分明。

衆所周知,因爲存在不少不肯定性,所以估算軟件項目的可交付時間是很是困難的。可是,經過正確的流程,多與你的項目經理或利益相關者不斷交流項目的進度和指望,對項目進行有效把控並不是不可能。

例如,個人團隊正在作一個每週工做狀態報告,這個小舉動使得項目技術負責人有機會與咱們交流進度,儘可能減小當前的阻礙因素或有可能引發沒法按時交付的問題。

清晰,簡潔地溝通是全部領導者都須要擁有的重要特質。若是你沒法清楚地說明團隊的要求,那麼你在成爲領導者,甚至尚未開始任何工做以前就失敗了。

溝通有多種形式,包括口頭、書面甚至肢體語言。你須要一直努力提升每一種不一樣的溝通技能。

由於我未能及時清晰地傳達需求,個人團隊曾錯過了一些截止日期。可見在一些狀況下,缺少溝通會令團隊在應該作的事上形成混亂。我瞭解到,單單依靠項目經理或團隊商務來解釋項目詳細信息是行不通的。做爲研發負責人,自己必須瞭解相應的重點項目,而後對其進行解釋並傳達給團隊。同時,激勵團隊人員去努力完成項目。

「管理」你的管理者(有時是其餘團隊的負責人)。這意味着要與他們不斷溝通並管理指望。做爲管理者不管好壞都不多喜歡「驚喜」。你要與你的管理者創建信任關係。成爲重要的項目專家,並按時按預算地完成它們。而後進行更多項目,不斷重複此過程。

不管你進行過多少次單元測試或集成測試,或多或少都仍是會在這過程當中出現問題。是的,你但願最大程度地減小項目中的錯誤。但更重要的是你是如何處理這些技術問題的。在他人的壓力下開始恐慌的人當即會被取消領導資格。團隊和其餘負責人但願看到一個冷靜的管理者,即便在最緊張的狀況下,也能夠控制一切。

舉個例子,我曾經合做過的技術負責人在遇到問題的時候老是很冷靜。沒有任何衝突或壓力可使他慌亂,至少沒有人看到他壓力很大。當談到凌晨3點還在處理技術問題時,他並不感到丟臉。在他的工做現中,這個問題像在幾分鐘以內就解決了同樣。

反觀另外一位技術主管,由於最後期限的臨近而倍感壓力,他在咱們準備發佈一項重要功能的那天打電話請了病假。他太焦慮了,以致於周圍的人都不肯意和他一塊兒工做。

這是兩個徹底相反的案例,但你們不難看出哪個管理者更有可能在將來取得成功。

對於技術負責人應負責的全部事情,都應該理解「爲何」。他們需負責確保其餘人都知道他們爲何要作這個項目。領導者必須(常常或屢次)解釋爲何要進行這個或那個項目,爲何要由特定人員進行該項目以及該項目如何能適應「大局」。團隊必須相信本身的所做所爲,而後他們纔能有效率地工做。

不要等待被許可,從如今開始就站出來。成爲你所在領域的專家,當人們陷入困境時幫助他們。致力於提升你的溝通技巧。與你當前和潛在的將來同伴創建良好的職業關係。確保高效地管理時間,而且在每個項目的交付期限以前完成任務。最後,不要忘記領導力與人有關,因此要真誠地幫助你的同伴成長並凡事盡力而爲。

🔗原文連接:https://medium.com/free-code-...

image.png

相關文章
相關標籤/搜索