前端開發負責人修鍊指北
大家好,我叫XX,江湖人稱吃土小2叉,目前擔任公司的前端負責人半年多了,一路上摸爬滾打,歷經團隊人員變動,近日頗有感觸,於是結合自己近半年的前端負責人實踐經驗,權當作一個學習記錄,整理歸納一下前端負責人的修鍊要點(大部分只是記錄了關鍵詞,沒有詳細展開),以及自己的實踐記錄。 跪求各位老司機多開車指點一番.
定位
要求
知識面廣 (前端、後端、數據分析、產品、交互)
基礎紮實
學習能力強
服務意識
產品思維
心態良好
善於總結
溝通能力
職責
營造存在感、歸屬感、成就感
把控技術方向
新人引導
促進團隊提升、培養團隊
與其他部門銜接和溝通
創造希望 (eg: 畫大餅、某種意義上的程序員精神鼓勵師)
關鍵詞
團隊建設、技術選型、人員安排
團隊建設
技術氛圍
人文氛圍
技術選型
產品需求
穩定性
兼容性
開發效率
招人難易度
留人難易度
轉型成本(時間成本、學習成本)
捨棄用戶成本(轉化率:兼容性; 訪問量:SEO)
人員安排
讓優秀的人變得更優秀 (技術棧:最前沿的技術; 老帶新)
讓普通的人加速提升 (技術棧:最成熟的技術)
淘汰餘下的人
常見問題分析
面試時經常遇到一些人的離職原因就是以下一些……
1. 沒有提升
什麼是提升?
更快解決問題 7
更優解決問題 8
解決以前不能解決的問題 9
編程能力提升 (編碼、設計、架構) 9
掌握新技術、新語言、新工具 5
工資提升 6
知名度 7
註: 數值為XX認為的較為合理的權重值,滿分10,個人意見,僅供參考
如何提升?
缺一不可
時間
方向
堅持
實踐
加分項
聰明 (XX註:可遇不可求)
有老司機指點 (XX註:可遇不可求)
好奇心
自我驅動力/主觀能動性
專註
註: 除去 聰明、 有老司機指點, 這兩個是可遇不可求的; 其餘都是可以後天培養的。
為什麼沒有提升?
工作只使用舊框架、舊技術 【應聘人經常提及】
基礎薄弱,學新技術難,求帶,抱大腿光看不練
沒有時間 前端要學的太多太雜,學了這個忘了那個 新框架一個又一個, 來不及學負責人能做的
保證產品穩定性,滿足產品兼容性需求的情況下,盡量讓團隊使用最前沿的技術
推動團隊技術學習、分享氛圍,必要時給予物質獎勵
為成員騰出一定自由時間
讓自己成為隊員的大腿、答疑解惑
完善技術文檔
寫優秀的代碼
造輪子、改進項目基礎設施
擋需求、砍需求、改需求、加需求
負責人不能做的/很難做的/不應該做的
不應該回答what的問題、 減少回答how的問題,而是更多回答why的問題
不應該每天催著隊員去學習、去分享,而是要激發隊員的自我驅動力、主觀能動性
不應該安排超負荷任務,而是分配合理的任務總量
不應該花費大量時間(80%)開發業務需求,而應該花一半時間(50%)思考和設計如何改進現有開發模式
2. 沒有成就感
如何獲得
回報 >= 付出 (精神、物質)
對產品的認可
對技術棧的認可
對自己付出的認可
對他人付出的認可
助人且助人的反饋是積極的
個人發展、晉陞
概況: 回報 >= 付出 (精神、物質)
3. 加班太多 沒有時間 到家後太累了
首先明確一點,業務需求是永遠做不完的
我們能做的,只是每周根據已有的開發資源,開發相對最重要最緊急的業務
另一方面,也要注意: 程序員自我提升 的重要度也是極高的
隊員層面
合理評估工期
不斷提升自己,不斷提高效率
量力而為,保重身體
負責人層面 【主要背鍋人】
合理審核工期
合理安排任務 【重要】
技術選型是否合理、是否高效
新人的引導是否到位
4. 技術分享參與度不高
如何改善
負責人牽頭分享
獎勵機制
避免布置過飽和任務量
應聘人的期望
(以下回答來自XX面試過的應聘人)
我比較期待能有一個經常相互討論最新技術的環境
技術氛圍好點,可以互相交流的,然後加班不要太多,有意義的加班可以接受
希望有挑戰性和持續成長空間,同事之間比較容易溝通的,當然做的產品有趣就更好了
希望有大牛帶
……
XX實踐
團隊建設
技術氛圍
技術分享考評制度(鼓勵競爭 、 與培訓機會、年終考核掛鉤)
定期 code review (2周1次) 優先順序: 高
不定期 小分享 (不限次~2周1次) 優先順序: 高
定期 大分享 (2個月1次)
鼓勵參與翻譯英文技術文章
整理、維護、更新前端知識庫 wiki (涵蓋: 代碼規範、工具教程、開發流程、組件 Demo、語言教程等)
前端每周一題 , 以經典案例題形式傳授實際價值較高的知識點
LeetCode 刷題活動 (演算法題為主)
每周周會只探討各自遇到的難題1~2個,思考更優解
開源項目 【構思中】
新技術交流、研討會 【構思中】
以上各種分享,負責人帶頭進行
考核制度 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
路線圖
在後台管理系統中試點 Vue.js 框架,積累 Vue.js 經驗 【DONE】
在完成 2~3 個後台管理產品後,漸進式(幫助中心頁入手)改造官網前端 【View層 Vue.js框架 ; Action 層 c# .net】 【PLAN】
在確定捨棄 IE8 用戶後,官網全站轉型 Vue.js 框架
在確定捨棄 SEO 流量 改用 Vue-Router , .net 只提供容器
Vue.js + Node.js 伺服器端渲染有一定積累後,官網前後端完全分離
近期實踐
時間分類內容2017.4.8講座前端小組集體參加中第二屆國前端開發者大會…… 公司報銷2017.4.14大分享XX: 自動埋點工具介紹(很low……) ATM https://github.com/xunge0613/ATM2017.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條~第一條 信賴感建立