初次做技術領導的3個陷阱

Don’t miss the author’s earlier post on the 5 Tips for Being an Effective Tech Lead.

不要錯過作者之前發表的文章高效技術領導的5個錦囊妙計

The first time a developer steps into the role of a Tech Lead can be difficult. The skills and experience of a seasoned developer do not automatically translate into the skills necessary for the Tech Lead role. In fact, some of the habits of a developer can do more harm than good, when not applied well and with more authority in this new role.

開發人員初次走進技術領導(後文簡稱TL)這個角色的時候都是很困難的。即便經驗再豐富的開發人員,他的技能和經驗也是不能自動轉換成一個TL必備的技能的。事實上,如果開發人員不能很好地運用已有的技能和經驗,或者不能在這個新角色中樹立更多權威,一些舊有的習慣不但沒有幫助,反而會帶來阻礙。

Alt text

In this article, we explore three common traps a first time Tech Lead experiences, and what they can do to avoid them.

這篇文章,我們一起來探索一下初次做TL時容易踏入的三個陷阱,以及他們可以做些什麼來避免繞過這些陷阱。


1. 所有時間都在編碼

A first time Tech Lead will miss writing code. In fact, it is easy for them to assume that they need to demonstrate their leadership by writing code all the time. Although effective Tech Leads need to spend some time writing, reading and reviewing code, other responsibilities are left unfulfilled when they spend too much time writing code, - such as creating a technical vision and ensuring that the team understands key system quality attributes.

開發人員初次做TL往往會手癢癢想去寫代碼。事實上,他們很容易誤認爲自己需要通過一直不停地寫代碼來證明自己的領導力。的確,一個高效的TL是需要一些時間來編寫、閱讀以及檢查代碼,但一旦他們花太多的時間去編碼,其他的職責就容易被忽略掉。例如,創造一個技術願景,以及確保團隊成員理解核心的系統質量屬性。

A lack of technical vision might lead to three different implementations, as developers make decisions individually about what they feel is best, or a deployment might fail because developers are not aware of operational constraints or environmental differences in production. Worse yet is when the code must constantly be reworked because a developer chooses to do something differently without considering maintenance, or how the system may evolve over time.

缺乏技術願景可能會導致三種不同的實現,開發人員會覺得他們自己想的是最好的,或者部署可能失敗是因爲開發人員不知道操作約束或者生產環境的差異。更糟糕的情況是,如果一個開發人員不考慮維護性而選擇了非主流的方式,或者壓根不知道系統是如何隨着時間推移而演變,他們寫出的代碼就必須不斷地被改寫

The more experienced Tech Lead understands that they must balance their time to code with other responsibilities. They split their time daily, or at the very least weekly, to ensure that they spend time addressing other responsibilities including building a shared architectural vision, identifying and addressing technical risks, being involved in planning sessions and focusing on team and code cohesiveness and consistency.

稍微有些經驗的TL知道他們必須平衡編碼和其他職責的時間。他們將時間以天爲單位或者至少以周爲單位進行分割,這樣就能確保關注到其他職責。比如,構建一個共享的架構願景,識別和解決技術風險,計劃會議以及關注團隊和代碼的內聚性和穩定性。


2. 做了所有的技術決定

A first time Tech Lead may sometimes be the most experienced developer on the team, or feel the pressure to make all the technical decisions to demonstrate their authority or influence. When a Tech Lead is making all the technical decisions, they become a bottleneck in the team and the team cannot progress when the Tech Lead is not around. Other team members might feel demotivated when the Tech Lead makes all the important decisions, because their contributions are overruled and this could lead to resentment.

一個新的TL通常是團隊中經驗最豐富的開發人員,他或許會有種壓力感導致他們要做所有的技術決定來證明他的權威和影響力。TL一個人對技術說了算意味着他成爲了團隊的瓶頸,此時團隊離開了TL就無法取得進步了,團隊其他成員也會失去動力,因爲TL做了所有的重要的決定意味着他們的貢獻都被否定了,而這隻會讓他們心生不滿。

The more experienced Tech Lead realizes there are different ways of making decisions, and often, the best decision comes from using the breadth of experience and knowledge from the entire team. They might draw upon the following techniques, depending on how critical a decision is, how quick a decision must be made and how much commitment they want from team members:

有經驗的TL知道他們可以有很多種方式去做決定。通常,最好的決定是源自於整個團隊的經驗和技能,而非某個個體。下面列出的一些值得借鑑技巧,而它們取決於決定的重要性、緊急程度以及他們想要從團隊成員中獲得多少的承諾:

  • Only delegating - A Tech Lead gives the decision to someone else without any other interaction
  • Offering advice - A Tech Lead delegates the decision to someone else, but offers their input and opinions for consideration
  • Inquiring - A Tech Lead delegates the decision to someone else, but inquires about the outcome and factors that led to the decision afterwards
  • Building consensus - They bring all team members together to find a solution that everyone is happy with
  • Consulting with the team - They invite opinions from team members, synthesise the information, but ultimately make the final decision
  • Being autocratic - They use the information they have to make a decision, choosing to involve or not involve team members, but inform everyone about the outcome.
  • 僅僅委派 - 在沒有任何溝通的前提下,TL將決定告知某個成員。
  • 提供建議 - TL將決定委派給某個成員後,還提供了輸入和自己的建議。
  • 詢問調查 - TL將決定委派給某個成員後,還對後續的產出和影響因素做了跟蹤調查。
  • 達成共識 - TL將團隊所有成員召集起來,讓大家對某個決定達成共識。
  • 獨裁專制 - TL運用自己已有的信息去做決定,至於要不要和團隊成員商量完全看自己的意願,最後將結果告知大家。

3. 忘記培養團隊文化

A team is a group of people working together towards the same goal. The first time Tech Lead might mistakenly see their role leading on all the technical aspects and forget about how the team works together. Although this responsibility may be shared with other roles such as the Team Lead or Project Manager, a Tech Lead must also shepherd the team to move in the same technical direction.

一個團隊是一羣有共同目標的人在一起工作。新的TL可能會誤以爲他們的角色就是在所有的技術方面做出表率,而忘了關心團隊是怎麼一起工作的。雖然像團隊領導者和項目經理這樣的角色也肩負這個責任,TL也要帶領着團隊像同一技術方向前進。

It is all too easy for the first time Tech Lead to ignore heated discussions between two developers, or to ignore how technical team members interact poorly with or disrespect non-technical team members.

同樣,新的TL也很容易忽視了兩個開發人員之間激烈的討論,或者忽視團隊技術成員對非技術成員的不理睬和不尊重。

The more experienced Tech Lead realizes that the lead part of their role is just as important as the tech, and constantly looks for ways to build trust and relationships between people in the team. They use practices like white-boarding architectural diagrams as a team, establishing coding or architectural principles with the team to guide individual decisions or running regular improvement katas or retrospectives.

而一個有經驗的TL會意識到這個角色領導意義如同技術一樣重要。他們會不斷地尋找方法在團隊中建立信任和良好的關係。一些好的實踐,如將團隊描述成一個白板架構圖,建立編碼和架構原則來指導個人決策,或者做定期改進提升以及回顧。


總結

Alt text

The first time Tech Lead can easily fall for a number of traps, often caused by habits developed from their time as a developer. To overcome these traps, they must find ways to strike a balance between their technical and leadership responsibilities.

初次做TL通常會容易掉進一些陷阱,這跟他們做開發是養成的習慣有密切關係。爲了繞過這些陷阱,他們必須找到有效地方法來平衡技術和領導責任。

Find out more about the experiences of other Tech Leads in Patrick’s book ‘Talking with Tech Leads’. You can download a free sample of the book here.​

在Patrick寫的《Talking with Tech Leads》書裏可以找到更多關於TL的經驗。你可以下載一本免費的樣本。


更多閱讀

原文鏈接

作者博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章