周末兩天參加了來自澳洲和北京同事關(guān)于Tech Leader的培訓(xùn),實(shí)在是干貨滿滿检诗。簡單總結(jié)下key points以及一些思考燥透。
Logistics(后勤)
- WIFI: name & pass
- Photos? 詢問是否可以拍照
- Timing: 培訓(xùn)開始前說明此次培訓(xùn)的時(shí)間
- Breaks: 培訓(xùn)過程中休息規(guī)則
- Amenities: 介紹培訓(xùn)中用到的一些輔助工具,比如筆啊stickers啊
..............
這是培訓(xùn)的第一頁P(yáng)PT,之所以要highlight是因?yàn)橹皡⑴c的培訓(xùn)幾乎都沒有涉及到晶姊。很專業(yè)也很方便,尤其適用于一些對(duì)外的培訓(xùn)伪货。
TL 是什么们衙?
這個(gè)模型圖可以很清楚的說明Tech Leader應(yīng)該具備哪些技能,從一個(gè)Tech Developer轉(zhuǎn)換為Tech Leader的時(shí)候一定都會(huì)特別關(guān)注圖中Developer的部分碱呼。還需要關(guān)注Architect以及多加練習(xí)Leadership部分蒙挑。這張圖源自https://www.thekua.com/atwork/2015/06/tech-lead-circles-of-responsibility/ 文中有詳細(xì)解釋。
A SIMPLE TEST FOR AN EFFECTIVE TECH LEAD...
Answer: Does the codebase look like it was written by a single person.
個(gè)人認(rèn)為這一點(diǎn)是很難做到的巍举。我能想到的可以幫助提升的做法有:
- 每個(gè)commit 提PR, 至少有一個(gè)人review PR才能merge脆荷。
- 定期(最好每天)做code review。
TL應(yīng)該focus on?
1. Programming
主要想highlight下和Programming相關(guān)的Team Culture懊悯。有幾個(gè)問題值得一直注意:
- How long does the build stay broken?
- Do people offer new ideas?
- Do people feel okay to admit being wrong?
- Do people flag when they need help?
- Do people avoid conflict?
2. People
簡單說就是能力越強(qiáng)越應(yīng)該被assign一些更有挑戰(zhàn)的工作蜓谋。
3.Process
簡單說就是對(duì)于新人的指導(dǎo)從右至左依次是
Directing直接指導(dǎo)->Coaching教->Supporting支持->Delegateing委托
C4 Model - 可視化架構(gòu)設(shè)計(jì)
1.系統(tǒng)上下文圖
2.容器圖
3.組件圖
4.代碼圖
墻裂推薦仝老師對(duì)于C4的詳細(xì)介紹 以及 引申閱讀。
我自己在概念不清時(shí)畫的圖完全不知道屬于哪個(gè)level炭分,需要多加多加練習(xí)的一個(gè)key point桃焕。
CFRs/NFRs
Cross Functional RequirementS/Non-Functional RequirementS
是指一些非功能的需求,詳解介紹
個(gè)人認(rèn)為作為TL對(duì)于這些非功能需求一大難點(diǎn)是如何和非技術(shù)尤其是PM或者PO說明利用non-tech business language 闡述清楚什么是NFRs捧毛。
另一點(diǎn)是如何讓全部Developer而不是只有TL自己理解并且盡早識(shí)別NFRs观堂。
PATH TO PRODUCTION
兩個(gè)很有用的工具/方法:
1.Architecture Decision Record
將每一次大的architecture的調(diào)整以文檔形式記錄,是一個(gè)好的記錄以及追蹤變化的方式呀忧。
2.ReleaseProcessValueStream
從release 的角度出發(fā)师痕,按照Process, People, Tools, Artefacts幾個(gè)角度將release 過程進(jìn)行拆分,可以更加清晰的發(fā)現(xiàn)問題以及哪里需要改進(jìn)而账。
Risk Management
Today's problem comes from yesterday's risks.
Yesterday's problem is today's risks.
what can we do about the risks?
1.Avoid(避免): Simply avoid the activity associated with the risk.
2.Contain(保留): Setting aside time/resource to pay for risks if it occurs
3.Mitigate(緩和): Take steps now to reduce containment costs and establish early warning indicators.
4.Evade(逃避): Do nothing.
四種方式取決于不同場景胰坟。
Tech Debt Wall
Influencing
有助于將stakeholders 按照接觸頻率,影響力進(jìn)行識(shí)別泞辐。
有助于改善識(shí)別后的問題笔横。