天天看點

對新人培養的一些想法

這次想談一下對服務端研發崗新人培養的一些看法。

新人不光指應屆生,社招人員進入到新的業務,也算新人,但這次隻讨論應屆生的培養。

自己不是專業搞培養的,隻是帶過幾個新同學,是以有些看法也未必準确,歡迎大家積極回報、溝通。

1.重要性

新人對于團隊的發展極其重要。

  1. 新人是團隊人力的重要補充。隻有有充足的人力,才能更多、更快的實作需求,確定業務的快速發展,在網際網路戰場上争取到一席之地。
  2. 新人能夠帶來新的思想、新的技術。團隊成員長時間在一起,大家的思想、看法慢慢會趨同,新人的到來,能夠帶來新的想法,讓團隊通過另一個視角看待問題。
  3. 新人能夠讓團隊變得更強。人多才有慢工出細活的可能,新人培養的好,能夠推動團隊向更好的方向發展。

新人培養不會在短期内看到明顯效果,但這是擷取最終勝利不可或缺的一點。新人培養不是重要不緊急的事情,它是重要且緊急的事情。

很多團隊對新人培養的關注度不夠,導緻團隊後期青黃不接、戰鬥力下降。

要将新人培養好,必須付出心血。僅僅等新人自己成長,他們可能會走彎路,或者看不到方向,很多新人無法快速成長。新人培養如同種莊稼,細心照料會迎來豐收。

2.現狀

要做好新人培養,需要明白新人的一些現狀,正常情況下,新同學

  1. 可能存在重點知識和項目組不比對情況,如使用的程式設計語言不一緻、進入大資料組卻完全沒學習過大資料等
  2. 對公司提供的各種平台不了解
  3. 不知道各個組之間的關系,它們是如何協同的
  4. 對現有的業務代碼不了解,同時缺乏相關業務經驗,很難根據已有的經驗快速領悟業務
  5. 沒有做過一個真實的項目,不清楚要有哪些标準和流程
  6. 在學校學到很多理論知識,但并不知曉這些知識在實際業務中是如何使用的

從另一個角度看,這些并不是壞事,說明新人是一張白紙,沒有“技術債”,能夠更快的發展。尤其對很多大廠來說,招收标準較高,這些人能夠很快的領悟與成長。

3.培養

既然新人培養如此重要,那需要做好哪些事情呢?我認為有三個階段:小白階段、業務骨幹階段、技術上司階段。這三個階段以前在文章關于程式員職業發展的思考中談過,但更多的是從個人成長方面聊的,本次主要從培養方面來聊一下,主要談小白階段。

新人培養對導師也有很高的要求。

我覺得做導師有一個前提,就是要把握好度,核心在于做好指導,不要太關注于細節,不要管的過深過廣。論語中的“朋友數,斯疏矣”可以很好的解釋這個事情。要明白大家隻是同僚關系,學習、成長永遠是自己的事情。做好自己的本職工作即可。

另外導師要心裡有杆秤,能夠做出合适的規劃和正确的指導。

培養目标有兩個,一個是短期目标,讓新人能夠盡快的适應工作并發揮作用;一個長期目标,讓新人成長為更加優秀的人,能夠走得更長遠。

3.1工作

應屆生的現狀需要在本階段過渡完成,實作從學生到研發人員的轉變。這個階段主要是打基礎、模仿。

補全語言關

學校教授的程式設計語言知識比較基礎,或者與公司使用的語言不符,為了更快的進入狀态,首先需要補好語言關。

因為公司主要使用Go,就以Go為例講述。在這個階段,不建議閱讀源碼或中高階内容,先熟悉語言、用的順手即可,在使用過程中自然而然會有很多疑問,後期可以慢慢探索。

初級階段,過語言關,需要做好如下幾件事情

  1. 系統性學習語言基礎知識,如文法、特性等
  • 推薦《Go語言程式設計》 許式偉 呂桂華 人民郵電出版社有限公司。這本書比較基礎,知識點全面,且淺顯易懂。
  • 忌似懂非懂情況下開發,不但容易導緻線上問題,也不利于後期成長
  1. 熟悉lib庫
  • 英文版:http://docscn.studygolang.com/pkg/
  • 中文版:https://studygolang.com/pkgdoc
  • lib庫是開發人員的武器庫,熟練掌握lib庫,在開發時能起到事半功倍的效果
  1. 閱讀Go架構并總結
  • 可以看Gin架構,該架構為主流架構,很多大廠在此架構上自研。另外該架構代碼隻有1w多行,閱讀量不大
  • 可以對架構進行梳理總結Gin源碼剖析,或者仿寫架構Gin架構簡潔版
  • 通過架構閱讀,不但可以檢驗對語言的掌握程度,還能知曉架構内部邏輯、設計語言,對今後的發展大有裨益
  1. 不斷練習
  • 程式設計語言一定要實際使用才會深刻,否則隻是紙上談兵
  • 可以上力扣練習,除了能熟悉語言還能練習算法
  • 可以自己編寫開源項目
  • 業務上的小需求可以積極參與

平台介紹

對于公司提供的各種平台

  • 導師需要按照8/2原則,找出最常用的平台,平台最常用的功能,給新人進行講解
  • 新人需要學會基本使用,慢慢摸索其它平台、平台其它功能的使用

組織關系介紹

對于公司各個部門

  • 導師需要對各個團隊進行介紹,使新人了解各個部門主要職責,包括不限于研發、業務、産品、資料團隊
  • 導師需要告知各個團隊接口人

行業知識

研發人員不應隻是實作産品需求的木得感情的機器,研發人員一樣需要感覺業務。這樣才能在研發的時候發現問題、提出更優的意見,後期随着影響力提升,可以和産品、業務一起探讨行進的方向。

行業知識分大環境知識和項目組知識。項目組知識比較容易了解,就是本組負責的内容。大環境知識範圍比較廣泛,如電商,包含内容即多且雜。

不過小白階段不需要把大環境完全搞明白,心裡記住這個事情,随着經驗增加,慢慢拼湊完整。項目組知識則需要盡量搞明白,這是今後工作的基礎。

大環境知識

這方面需要能回答一些問題

  1. 這個行業的發展曆程是怎樣的
  2. 這個行業梯隊是怎樣的,頭部公司有哪些優勢和劣勢
  3. 這個行業核心名額有哪些
  4. 這個行業一般涉及哪些研發部門、組織架構是怎樣的
  5. 這個行業未來發展方向是怎樣的
  6. 這個行業常用技術、前沿技術有哪些
項目組知識

項目組裡的知識需要深刻的掌握。掌握必然是由淺入深,不能一蹴而就。随着時間遷移,不斷思考與實踐,對業務慢慢會有更深的了解。

可以從大尺度到小尺度了解業務

  1. 了解項目組負責哪些功能子產品
  • 檢視架構圖
  • 閱讀業務文檔
  • 導師進行講解
  1. 判斷項目組核心流程是哪些
  • 同上
  1. 掌握核心流程
  • 檢視技術文檔
  • 使用流程
  • 閱讀接口代碼,畫流程圖
  • 了解底層資料結構
  1. 解決、優化業務問題
  • 追查、處理報警
  • 解答使用者、營運問題

實戰

導師需要在新人入職2個星期後,帶新人做一個項目。實戰目标為新同學獲得一定項目能力。需要注意以下幾點

  1. 指導新人掌握項目基本情況,如該項目為優化項目,則需要讓新人熟悉現狀、現有架構等
  2. 帶領新人經曆整個流程,從需求對接到項目複盤,需要新人全程參與
  3. 對項目進行合理拆分,確定新人開發子產品難度适宜
  4. 關注新人代碼程式設計品質,并适時指導重構
  5. 項目過程中,鍛煉新人與協同部門的溝通能力,盡快的融入大集體
  6. 項目完成後,新人對項目進行總結

3.2成長

最終能夠飛得多高、走得多遠,和性格強相關。現在看真的是性格決定命運。

性格需要慢慢調整,但是一些習慣卻可以快速的培養。

培養習慣

習慣雖然不會立即作用于成長,但好的習慣會在今後慢慢展現,自己也會受到很多益處。對于服務端研發,有幾個習慣需要重點關注一下:

  1. 歸類能力

    IT人做的就是資訊流,但資訊往往多且雜,就需要自己有很強的歸類能力,保證自己能夠及時準确找到所要資訊,如學習資料、工作資料、目錄結構等

  2. 學會深度思考

    深度思考的鍛煉能夠讓人透過現象看本質,練習方法也很簡單,多問為什麼,然後擷取答案。

    在這個過程中,不但會鍛煉自己解決問題的能力,還能将自己以前所學的知識映射到實際場景中。

  3. 持續學習

    計算機行業是快速發展的行業,不斷有新的技術出現,而且随着自己接觸面變廣,也會不斷發現自己不了解的知識,是以需要不斷的學習

  • 逛技術論壇、逛社群、加入高品質的技術群、看書、知識付費等
  • 和同僚多讨論技術問題
  • github上做開源項目
  • 寫技術部落格

上司力

以前寫過評價自己的标準,雖然用來判斷将領是否合格,不過用來自查自己是否具有上司的素質也是可以的。智信仁勇嚴,各科60分表示初步能夠勝任上司崗位,在後續的過程中不斷提升各科分數,上司力不斷提升。

4.總結

新人培養無論對于導師還是新人,都是一項挑戰。

導師需要懂技術、懂業務、善于溝通、善于規劃,還需要有平常心。

新人需要克服困難,盡快熟悉陌生的環境,實作自己的價值,慢慢的成長。

廣告時間:位元組跳動|校園招聘!!!

最後

大家如果喜歡我的文章,可以關注我的公衆号(程式員麻辣燙)

我的個人部落格為:https://shidawuhen.github.io/

對新人培養的一些想法

往期文章回顧:

  1. 設計模式
  2. 招聘
  3. 思考
  4. 存儲
  5. 算法系列
  6. 讀書筆記
  7. 小工具
  8. 架構
  9. 網絡
  10. Go語言

繼續閱讀