前端開發負責人修鍊指北

大家好,我叫XX,江湖人稱吃土小2叉,目前擔任公司的前端負責人半年多了,一路上摸爬滾打,歷經團隊人員變動,近日頗有感觸,於是結合自己近半年的前端負責人實踐經驗,權當作一個學習記錄,整理歸納一下前端負責人的修鍊要點(大部分只是記錄了關鍵詞,沒有詳細展開),以及自己的實踐記錄。 跪求各位老司機多開車指點一番.

定位

要求

  • 知識面廣 (前端、後端、數據分析、產品、交互)

  • 基礎紮實

  • 學習能力強

  • 服務意識

  • 產品思維

  • 心態良好

  • 善於總結

  • 溝通能力

職責

  • 營造存在感、歸屬感、成就感

  • 把控技術方向

  • 新人引導

  • 促進團隊提升、培養團隊

  • 與其他部門銜接和溝通

  • 創造希望 (eg: 畫大餅、某種意義上的程序員精神鼓勵師)

關鍵詞

團隊建設、技術選型、人員安排

  • 團隊建設

    • 技術氛圍

    • 人文氛圍

  • 技術選型

    • 產品需求

    • 穩定性

    • 兼容性

    • 開發效率

    • 招人難易度

    • 留人難易度

    • 轉型成本(時間成本、學習成本)

    • 捨棄用戶成本(轉化率:兼容性; 訪問量:SEO)

  • 人員安排

    • 讓優秀的人變得更優秀 (技術棧:最前沿的技術; 老帶新)

    • 讓普通的人加速提升 (技術棧:最成熟的技術)

    • 淘汰餘下的人

常見問題分析

面試時經常遇到一些人的離職原因就是以下一些……

1. 沒有提升

什麼是提升?

  • 更快解決問題 7

  • 更優解決問題 8

  • 解決以前不能解決的問題 9

  • 編程能力提升 (編碼、設計、架構) 9

  • 掌握新技術、新語言、新工具 5

  • 工資提升 6

  • 知名度 7

註: 數值為XX認為的較為合理的權重值,滿分10,個人意見,僅供參考

如何提升?

缺一不可

  1. 時間

  2. 方向

  3. 堅持

  4. 實踐

加分項

  • 聰明 (XX註:可遇不可求)

  • 有老司機指點 (XX註:可遇不可求)

  • 好奇心

  • 自我驅動力/主觀能動性

  • 專註

註: 除去 聰明、 有老司機指點, 這兩個是可遇不可求的; 其餘都是可以後天培養的。

為什麼沒有提升?

工作只使用舊框架、舊技術 【應聘人經常提及】

基礎薄弱,學新技術難,求帶,抱大腿

光看不練

沒有時間

前端要學的太多太雜,學了這個忘了那個

新框架一個又一個, 來不及學

負責人能做的

  • 保證產品穩定性,滿足產品兼容性需求的情況下,盡量讓團隊使用最前沿的技術

  • 推動團隊技術學習、分享氛圍,必要時給予物質獎勵

  • 為成員騰出一定自由時間

  • 讓自己成為隊員的大腿、答疑解惑

  • 完善技術文檔

  • 寫優秀的代碼

  • 造輪子、改進項目基礎設施

  • 擋需求、砍需求、改需求、加需求

負責人不能做的/很難做的/不應該做的

  • 不應該回答what的問題、 減少回答how的問題,而是更多回答why的問題

  • 不應該每天催著隊員去學習、去分享,而是要激發隊員的自我驅動力、主觀能動性

  • 不應該安排超負荷任務,而是分配合理的任務總量

  • 不應該花費大量時間(80%)開發業務需求,而應該花一半時間(50%)思考和設計如何改進現有開發模式

2. 沒有成就感

如何獲得

  • 回報 >= 付出 (精神、物質)

  • 對產品的認可

  • 對技術棧的認可

  • 對自己付出的認可

  • 對他人付出的認可

  • 助人且助人的反饋是積極的

  • 個人發展、晉陞

概況: 回報 >= 付出 (精神、物質)

3. 加班太多 沒有時間 到家後太累了

首先明確一點,業務需求是永遠做不完的

我們能做的,只是每周根據已有的開發資源,開發相對最重要最緊急的業務

另一方面,也要注意: 程序員自我提升 的重要度也是極高的

隊員層面

  • 合理評估工期

  • 不斷提升自己,不斷提高效率

  • 量力而為,保重身體

負責人層面 【主要背鍋人】

  • 合理審核工期

  • 合理安排任務 【重要】

  • 技術選型是否合理、是否高效

  • 新人的引導是否到位

4. 技術分享參與度不高

如何改善

  • 負責人牽頭分享

  • 獎勵機制

  • 避免布置過飽和任務量

應聘人的期望

(以下回答來自XX面試過的應聘人)

  • 我比較期待能有一個經常相互討論最新技術的環境

  • 技術氛圍好點,可以互相交流的,然後加班不要太多,有意義的加班可以接受

  • 希望有挑戰性和持續成長空間,同事之間比較容易溝通的,當然做的產品有趣就更好了

  • 希望有大牛帶

  • ……

XX實踐

團隊建設

技術氛圍

  1. 技術分享考評制度(鼓勵競爭 、 與培訓機會、年終考核掛鉤)

  2. 定期 code review (2周1次) 優先順序: 高

  3. 不定期 小分享 (不限次~2周1次) 優先順序: 高

  4. 定期 大分享 (2個月1次)

  5. 鼓勵參與翻譯英文技術文章

  6. 整理、維護、更新前端知識庫 wiki (涵蓋: 代碼規範、工具教程、開發流程、組件 Demo、語言教程等)

  7. 前端每周一題 , 以經典案例題形式傳授實際價值較高的知識點

  8. LeetCode 刷題活動 (演算法題為主)

  9. 每周周會只探討各自遇到的難題1~2個,思考更優解

  10. 開源項目 【構思中】

  11. 新技術交流、研討會 【構思中】

  12. 以上各種分享,負責人帶頭進行

考核制度 DKP

v0.1 版本 考察兩個維度: 分享貢獻度、業績貢獻度; 每個月設置合格線,低於合格線進入考察期

  • 試行了1個月,實際效果一般,參與度不高,僅一人達成分享貢獻度合格;

  • 不同產品線業績難以量化衡量;

  • 較反感懲罰制度

v0.2 版本 僅考察 分享貢獻度。不設合格線,分值僅作為獎勵評定標準

團隊氛圍

(需加強)

  • 多關心隊員真實訴求,階段性一對一對話

  • 設定階段性目標(例如:官網重構計劃),達成後一同慶祝

  • 定期組織 TeamBuilding

技術選型

數據驅動 + 業務驅動 + 人才驅動

  • 產品需求

  • 穩定性

  • 兼容性

  • 性能

  • 開發效率

  • 技術價值 (對程序員自我提升產生的價值)

  • 招人難易度

  • 留人難易度

  • 轉型成本(時間成本、學習成本)

  • 捨棄用戶成本 (數據驅動)

    • 捨棄兼容性帶來轉化率下降的成本: IE8 用戶

    • 捨棄SEO造成訪問量下降的成本: SEO 流量

人員安排

  • 讓優秀的人變得更優秀 (技術棧:最前沿的技術; 老帶新)

  • 讓普通的人加速提升 (技術棧:最成熟的技術)

  • 淘汰餘下的人

技術選型規劃

以 PC 官網前端重構計劃為例

現狀

jQuery + 類 require.js 載入機制 + less + gulp + C# , 傳統電商網站

目標瀏覽器

不低於 5% 訪問量的瀏覽器

目標流量來源

SEM + SEO + 市場活動推廣

其中, SEO 目前平均佔比約 15% 流量

業務痛點

設計風格不統一、特別大量重複性工作 (各種合作方系統定製化移植官網)、 前後端耦合程度大

人員痛點

技術棧落後、招人難、留人難

重構好處

  • 組件化設計: 提高代碼復用性;有助於快速移植組件、促進合作方項目進度同步

  • 技術棧升級: 有利於招人以及留人

  • 前後端分離: 有利於提升開發效率

重構弊端

  • 時間成本: 大量

  • 兼容性成本: 只兼容IE9+

  • 白屏時間: 比起傳統伺服器端渲染,會存在一定的白屏時間,而短期內不一定會使用 node.js + vue.js SSR

路線圖

  1. 在後台管理系統中試點 Vue.js 框架,積累 Vue.js 經驗 【DONE】

  2. 在完成 2~3 個後台管理產品後,漸進式(幫助中心頁入手)改造官網前端 【View層 Vue.js框架 ; Action 層 c# .net】 【PLAN】

  3. 在確定捨棄 IE8 用戶後,官網全站轉型 Vue.js 框架

  4. 在確定捨棄 SEO 流量 改用 Vue-Router , .net 只提供容器

  5. Vue.js + Node.js 伺服器端渲染有一定積累後,官網前後端完全分離

近期實踐

時間分類內容2017.4.8講座前端小組集體參加中第二屆國前端開發者大會…… 公司報銷2017.4.14大分享XX: 自動埋點工具介紹(很low……) ATM github.com/xunge0613/AT2017.4.21小分享XX: 掘金翻譯計劃參與體會 + GitHub Review 功能2017.4.23技術研討官網 PC 前端重構規劃

任務安排

2 - 8 原則

如何做

數值僅供參考,具體情況具體分析

每周任務安排 4 天工作量

每天花 0.2 天 , 約 1.5 ~ 2 小時,自我提升

目的

為了提升隊員開發效率

定期安排技術型任務

  • 督促技術提升

  • 考核方式

按需分配需求

一般業務需求無非考驗以下兩點

  • 業務熟悉度

  • 技術熟練度

理想情況下,對於業務不熟悉的隊員,優先分配需要熟悉業務的需求;反之亦然

結語

知易行難

貴在堅持

題外話: XX的前端奇妙歷險

3年彎路

13 年 4 月實習加入一家初創公司,工作不到半年,原先前端 leader 轉崗做運營,只剩下我一個前端,持續了半年左右。由於人少,寫前端的同時還要寫 C# 代碼,偶爾研究 SEO,兼職半個網管,還負責了每天晚上給加班童鞋點晚餐外賣…… 這個狀態差不多從進入公司開始持續了 2 年。所以雖然自己工作了也有將近 4 年了,但精力比較分散,走了很多彎路,做了許多重複性勞動;同時又與外界其他前端的交流很少,唯一和外界的交流機會幾乎就是當面試官與應聘人交流;且當時很長一段時間疲於業務開發,經常 9、12+、6 ,自己學習主動性下降了許多,業餘一有休息時間自己幾乎也是「荒廢」了,也不再如大學時自學前端那陣子折騰自己的博客站點、折騰各種技術、寫博文做小結(單反窮三代、遊戲毀一生)。前端技術的沉澱比較欠缺。另一方面,也大約3年左右時間單相思,受困於情感問題耽誤了不少時間。

簡單來說,前 3 年走了很多彎路,幾乎是 3 年的工作時間以及 1 年的加班時間,換來了 0.5 年的前端經驗,原因是: 精力分散、視野狹窄、缺乏實踐、缺乏學習主動性、缺少反省、公司缺人。

決定性時刻

後來,陸陸續續前端團隊一點點擴張,但直到去年年中,一共也只有 3 個前端,應付公司 3 個電商類前端產品(PC + M)。也一直沒有所謂的前端 leader,都只是各自負責各自的產品線,大家也都很年輕,2~3年經驗。當時 CTO 問我,要不要招一個資深的前端來帶我們,還是讓我們自由競爭,我當時也挺迷茫和糾結,一直以來,都感覺自己對於前端職責的定位以及今後發展方面,缺乏系統和全面的認知,以及也不清楚技術團隊的 leader 的職責應該是什麼,覺得如果招個老司機,自己能有更明確的目標和規劃,同時對公司來多雖然要負擔更多的薪資開銷,但是想必能有更多可能性,會有更多回報。而自己這幾年在前端上基本是靠自己摸索以及參考知乎上的解答。

半年來

結果是,去年下半年,我受命擔任前端組負責人…… 恰逢自己終於決定放棄 3 年多的單相思。於是打雞血般花了大量時間接觸外界,開闊技術視野,(包括參加了許多前端的知乎 live ,從最早圍觀的小爝老師、Hax 老師…到近期 vczero 、呂毅以及 justjavac 大神們的 live,以及 姬光、i5ting、小問等大大的 gitchat……以及 vczero 和 前端早讀課情封 的小密圈…… 以及加了 豪情大大的前端 js 跳板 QQ 群…… 以及傳說中的微信小程序聯盟論壇,以及相關的 QQ 群,每天至少回答群里一個小程序的技術問題 ),研究新技術,補習自身基礎,研究如何帶團隊,促進團隊提升… (然後也就有了現在這篇文章) 現在前端團隊一共 6 人…… 還在招…… 歡迎推薦……

Anyway, 最好的學習時間是昨天和現在,即使花了 3 年多走了那麼多彎路,至少,現在正了一些,也不錯啊。

最後,還是想感謝一下,領導對我的信任 =。= 以及同事們的支持以及各位大神們的指導~

推薦閱讀:

作為技術Leader,一定要堅持己見
首富陪一女人去買牛奶,小販說:1瓶3塊,3瓶10塊。於是....
一個經理人的團隊生涯發展探索
學了這四招,維護領導形象不再難
營銷22條~第一條 信賴感建立

TAG:前端工程師 | 團隊管理 |