從碼農到架構師,如何成長為技術Leader?
快狗打車(原 58 速運)是覆蓋中國及東南亞的貨運打車品牌,在業務的發展過程中,張凱也經歷了從一線開發者晉升為司機端負責人的過程。
在這篇文章中,他將以自己的親身經歷,與大家分享技術領導者成長過程中的幾大常見難題,以及一名合格的架構師應具備的素質。
從去年開始帶團隊,到目前作為司機端研發部的負責人,團隊的規模由 4 人變成了 20 人,成長很多,也碰到了很多問題,想將自己這一年來的經驗和教訓和大家探討一下。
究竟怎么做技術招聘?
首先,我想來談談技術人如何做招聘。帶隊碰到的頭一件事就是招聘。招聘的主要任務就是招到合適的人,簡單的說,看這個人的氣味是否符合當前團隊,是否符合公司的整體要求。
當然這些僅僅是技術招聘的基本要求,我們還要求基礎扎實,精通某一方向等等。
作為招聘者,我們每天要處理的簡歷有上百封,如何在完成工作的同時,提高自己的效率?我的經驗有以下幾點:
提高簡歷的篩選效率
每份簡歷都不一樣,如何高效篩選?我的做法是篩選關鍵字,看簡歷里是否有我們需要崗位的關鍵字。
每個職位需求里都有對應崗位的要求,我們要大概瀏覽一遍簡歷,符合關鍵字要求的再接著往下看。
我碰到很多技術求職者的簡歷里,項目寫得很多,但技術點沒有體現一個,這樣的簡歷很快就會被篩掉。
技術是為業務服務的,所以簡歷里一定要體現你用什么技術解決了什么問題,最好還能體現相關的收益。
比如:使用多線程技術,解決了首頁加載緩慢的問題,使首頁的加載速度提升了 10 倍。技術人的簡歷,應該體現技術點。
提高約面的效率
每天從上百封簡歷里面,我們會篩選出幾十封進行約面。全部約過來有可能面試官會忙不過來。
那么如何提高約面效率,使我們的到面效率也能提高呢?我的做法是對篩選出來的簡歷,進行一輪約 10 分鐘左右的電話面試。
當然,電話面試的題目一定是封閉的題目,答得對就過。電話面試可以快速過濾不符合要求的應聘者。
不要為了招聘進度而放棄篩選標準
金三銀四,找工作的人很多,我們對人才的需求也很大。HR 小姐姐有招聘指標,技術的 Leader 們同樣期待能夠快速完成招聘。
每天從早到晚的面試很痛苦。所以,我們能不能稍微的放一下水,盡快完成招聘?
答案是不能——暫時放水很輕松,但是如果未來候選人入職后不符合要求,或者與預期的發展不一致,重新招聘會給團隊和公司帶來不必要的損失,也會給求職者帶來麻煩。寧可空缺,也不能放低要求。
如何持續提升團隊的執行力?
接下來,人找齊了,怎么能讓我們的團隊更快更好地服務于業務,持續提升團隊的執行力?這里我總結一些快狗打車的實戰經驗。
小師傅制度
技術新員工入職后,我們會有小師傅帶領,前兩個星期熟悉公司的框架及技術棧,做一個簡單的 Demo 出來。
然后由小師傅帶領,從改 Bug 開始,逐步介入到項目中去。小師傅制度的好處是不僅能幫新員工解決技術問題,還能幫他們更快速地融入團隊。
負責人制度
我們實行項目負責人制度,每個項目都安排一個項目負責人。人人都有機會成為項目負責人,項目負責人決定參與項目的相關人員,為項目質量及結果負責。這一制度使大家都有了主人翁意識、危機感及榮譽感。
我們還實行模塊負責人制度,每人對自己的模塊質量負責,對模塊質量好的負責人進行獎勵,模塊質量不好的,要做總結、提出改進計劃,并定期檢查執行情況。
強調執行力
我們要求每件事都要有人跟進,必有跟進結果并及時反饋。如果暫時沒有結果,及時反饋進度并給出預計的時間,然后持續跟進。
技術路線 or 管理路線,怎么選?
團隊搭建好了,小伙伴們也越來越給力,很多的業務需求并不需要自己參與。每天的會議很多,還會有很大的精力放在相關的協調工作上。
所以,一個技術人很常見的問題就來了:我是堅持走技術路線呢,還是走管理崗位?
這個問題其實并沒有標準答案。每個人的喜好不同,對自己的規劃也不同。但我覺得不論走技術路線還是管理路線,首先技術能力是不可或缺的。
技術人,如果自己的技術都不過關,很難領導好一個團隊。最基礎的,面臨一個技術問題的排期,如果你技術不過關,恐怕也很難保證收到的排期是合理的、符合預期的。
其次是帶隊能力。技術專家并不只關注技術。技術是為業務服務的,一味地講技術深度,做出來的東西有時候并不符合業務的需要。
所以,技術專家的存在,一是帶領大家對技術做攻關,二是確保業務需求的架構設計更合理。
當然,管理方向和技術方向對個人的要求還是有區別的。管理方向更多的是帶領團隊完成某件事,利用好人;例如按照公司的戰略方向,制定團隊的作戰方法。
技術專家則更多關注的是技術如何更好地服務業務,利用自身的技術能力,賦能業務、賦能團隊。所以一定要根據自身的實際情況及個人規劃,選擇自己未來要走的路。
合格的架構師該有怎樣的素質?
那么,如果選擇了技術路線,一名合格的架構師到底應該具備怎樣的素質呢?
首先,一名合格的架構師一定是懂業務的。
沒有業務,架構也就無從談起。合理的架構也一定是隨著業務的發展逐步進化的。
大部分初創公司人員簡單,業務簡單且變化較快,這個時候,單體應用比較合適。因為單體應用有更高的開發效率,能夠快速試錯。
但業務量上漲之后,公司的規模一般也會變大,人員增多,組織部門開始劃分。
這時就要開始服務化,降低系統間的耦合,職責更加清晰,每個部門對自己所負責的服務負責。
隨著業務量的持續上漲,就要進行更細的劃分,這時可能就要使用微服務。微服務越來越多,就要去解決服務治理,服務發現等一系列問題。所以說,好的架構師一定是為業務設計架構。
快狗打車業務初期架構圖
快狗打車速運通小程序架構圖
其次,一名合格的架構師要有一定的技術前瞻性。
架構師一定要站在業務和技術的更前端,考慮業務的發展對架構的影響,以最小的變動,支撐業務的發展。
拿快狗的訂單服務來說,早期,單體應用沒有訂單服務,整個業務都是一個大的數據庫。
當業務量上來后,有了訂單服務,訂單表從大庫拆分,僅僅進行了拆表操作,沒有進行拆庫,導致后期訂單庫成為了業務瓶頸,再次進行拆庫耗費了很多的人力物力。
如果主導這次拆分的是一個合格的架構師,應該從一開始就要考慮到目前的技術選型是否符合業務的長期發展需求,選擇一個更加合適的架構。
再次,一名合格的架構師要有良好的溝通協作能力。
好的架構師能將自己的設計通俗易懂的講給低級別的小伙伴,不僅要做到傳道還要授業解惑。
同時,在日常工作中,能夠將自己的選型及設計清楚地傳達下去,合理分工,還能交代清楚為什么這樣做,這樣做的好處是什么。
讓每個人都清楚自己的職責,更好地完成工作內容。好的架構師能夠關注業務重點,及時解決小伙伴們碰到的技術問題,給予支持,幫助整個團隊一起提升。
最后,一名合格的架構師要有持續學習的心態。
新的技術層出不窮,持續不斷地學習是技術人必備的通用素質,但架構師尤甚。
新的技術能否幫助業務發展,我們現有的技術體系是否有需要借鑒的地方,都是架構師要持續學習的。
除了技術,業務方向也是架構師需要學習的點,架構師要有廣闊的視野,才能在后續的業務中有好的架構設計。
成為管理者后如何持續學習?
成為技術 Leader 之后,每天需要花費大量時間來進行團隊管理、協調、會議等,如何能夠保證持續不斷的學習?
首先,我認為學習分為業務學習和技術學習。
業務學習是跟隨著業務發展,逐步增加自己的業務理解程度,同時要通過總結、歸納沉淀為自己掌握的知識。
技術學習又可以分兩種:
- 業務用得到的技術:可以通過工作持續地學習加深,是必須要 100% 掌握的;
- 業務用不到的技術:可通過平常的空閑時間大概瀏覽一下,知道是什么、解決什么問題即可,等到用的時候再來詳細了解。
其次,學習是一個持續的過程,一定要合理規劃好時間。比如我早上從家到公司需要一個小時的地鐵,這一個小時就可以被利用來看書。
還可以給自己定一個目標,多長時間學習一個東西,給點壓力逼迫自己去堅持。久而久之,養成良好的習慣之后,學習就是自然而然的事了。
以上是我這一年來的經驗和教訓,希望能對你有所幫助。每個人的職業發展道路都不一樣,希望大家能夠提前規劃好自己的人生道路,堅定地走下去。
同時,盡可能提高自己的視野,更加嚴格地要求自己,相信不久的將來,你也會成為一名優秀的架構師。
張凱,現任快狗打車司機端負責人,Java 專家,多年一線開發經驗。2017 年帶領團隊完成了速運通等多個重點項目的開發工作,并作為演講嘉賓參與了 Gdevops,top100 等多個技術大會。