前端開發崗位是否應該細分為偏靜態和偏交互
增哥導讀:前端崗位的輸入是UED部門給到PSD效果圖、后端研發給到API,輸出產品成品。也就是說拿到UED部門給到的PSD效果圖做成HTML、CSS,再拿到后端研發給到的API,完成前臺邏輯、前后端數據交互及其他JavaScript開發,最終產出產品成品并提交給測試。
昨天早上在微博上看到@前端農民工 發了條關于前端工作細分的微博,大意是說將前端的工作細分為頁面重構(html/css)和js開發限制了工程師的發展,而且頁面功能模塊的開發維護也會變得割裂,一定程度上限制了js和css的配合方式,公司不應該這樣做。 然而,事實上很多互聯網公司前端團隊就是這么干的,包括我們團隊,今天就來探討一下這個問題,看看很多公司為什么要把前端工作細分,把前端工作細分有什么好處,能為我們解決那些問題。 首先我們明確一下前端崗位職責的問題,前端崗位的輸入是UED部門給到PSD效果圖、后端研發給到API,輸出產品成品。也就是說拿到UED部門給到的PSD效果圖做成HTML、CSS,再拿到后端研發給到的API,完成前臺邏輯、前后端數據交互及其他JavaScript開發,最終產出產品成品并提交給測試。 由前端的崗位職責我們可以看出,前端工作可以分為兩種,一種是偏靜態,即HTML、CSS開發,一種是偏交互,即JavaScript、前臺邏輯和前后端交互。這兩種工作對人的要求是相差很大的,偏靜態的可以不涉及太多編程和邏輯,但要求心細、能把握細節、對視覺體驗非常敏感、對用戶體驗有一定的理解、能忍受IE6等瀏覽器帶來的痛苦、能持續學習,而后者對JavaScript要求較高、要有一定的編程能力、熟悉前后端協作模式、熟悉HTML和CSS、有一定的前端架構能力。 從公司組建團隊的角度來說,要找一班優秀的full stack前端工程師,是有一定難度的。比如我們前端團隊,現在一共7個人,如果我們要求每一個人都寫HTML、CSS、JavaScript、前臺邏輯、前后端交互,并且都產出可維護的高質量代碼,對很多人來說做到沒問題,但你知道要招到那么一班人有多難嗎?現在市場上本身優秀前端就相當奇缺,對于一個BAT以外的互聯網公司來說,也許1個月都招不到1個讓你滿意的人,然而,如果我們換一種方式,找幾個偏靜態的,找幾個偏交互的,相對來說,難度就小了很多,也許原來4個月都很難招到那么一班人,現在不到2個月就辦到了。千萬別小看這一點,對于很多互聯網公司來說,速度就是生命,不能迅速組建好團隊并快速將產品推向市場,也許就意味著完蛋。 從公司用人成本的角度來說,將前端細分為偏靜態和偏交互,能節約一筆開支。對每一個人都是高要求的話,自然成本要大一些,然而,如果把人員的要求都相對降下來了,成本自然也就降下來了。 從團隊效率上來說,將前端細分為偏靜態和偏交互,是高效的。打個比方,團隊有50個頁面要做,一共有5個人,是每個人做10個靜態頁面,并實現所有的JavaScript、前臺邏輯、前后端交互效率高?還是2個人做所有的靜態頁面,3個人完成JavaScript、前臺邏輯、前后端交互效率高?肯定是后者,專注于做靜態頁面的同學可以做到平均一個頁面45分鐘完成,但如果全部都做,是很難做到的,并且寫JavaScript效率也變低了。 從團隊技術管理的角度來說,將前端細分為偏靜態和偏交互,人員相對易于管理,而且更容易產出可維護的高質量代碼。偏靜態的幾個人可以致力于將靜態這一塊做到極致,偏交互的幾個人可以致力于將交互做到極致。 從個人職業上來說,將前端細分為偏靜態和偏交互,降低了前端職位的從業門檻,有了一定技能的時候更容易安定下來。 有人說前端細分這樣限制了JavaScript和CSS的配合方式,以我們團隊的實踐經驗告訴大家,JavaScript和CSS的配合沒有問題。 有人說前端細分限制了工程師的職業天花板。這個在某些情況下是成立的,但是個人的職業天花板更多的還是由人本身決定的,一個對職業有追求的人,會想方設法讓自己的路越來越廣。馬云以前是英語老師,現在是中國首富,我初二的語文老師以前是挖煤的工人,主要還是由人本身決定的。當然如果你想在你們團隊中靜態和交互都做,也很簡單,據說騰訊有的團隊就可以輪崗,干幾個月Node.js、再干幾個月做靜態頁面,你在你們團隊中提出來,我相信你們老大會同意,只要不在項目非常緊急的時候。 我們程序員都希望自己能掌握更多的技術,精通前后端等所有技術,打敗Google,征服世界,相信我們程序員的思維是值得所有人尊敬的! 最后再來個總結吧,(*^__^*) ,將前端細分為偏靜態和偏交互,順應了互聯網企業的發展需求,是今后的必然趨勢,無人能打敗的趨勢! 作者:Hoogle ;轉載自:簡書
向著全棧進發?。。。。。。。。。。。。。。。。。。。。。。?!
我不是工程師,只是個產品汪..從產品角度或項目團隊角度出發,能夠和更少的項目團隊成員去溝通信息相對會更加簡單…而且文章開頭的一個觀點“將前端細分將增加維護成本”確實很贊同..
前端工程師可以偏精通JS或CSS+HTML,但是他們是一體不可分割的~個人感覺~