全棧工程師(Full-Stack Engineer),是一個在IT行業圈子里越來越熱門的話題,無論是像Facebook這樣的大型公司,還是剛剛起步的初創公司,都開始招募全棧工程師。據說,Facebook聲稱:“我們只招全棧工程師!”
有人曾開玩笑說,全棧工程師是資本家的陰謀,因為老板想雇一個人來做三個人的工作。
其實在2000年第一次互聯網泡沫破裂之前,那時候的Web工程師也許符合“全棧工程師”的簡單定義:一人包攬整個網站的構建。
那時的Web工程師們所面臨的挑戰比今天小很多,他們可能只是制作一些靜態的頁面,不會面對如今富交互的Web應用程序。那時網站可能包含數據庫和一些HTML表單,但僅此而已,甚至只需要將一些靜態頁發布到服務器上。
在網站的前端無需視覺設計和交互設計,因為網站屈指可數,市場競爭很小,工程師僅用一些基本的HTML標簽和閃亮的GIF圖片就可以吸引網民的目光。同時,網站訪問量都比較小,前端資源的體積也不大,無需關注服務器壓力和CDN,網民對加載速度的容忍度比較高,也不需要過多考慮用戶體驗。
但隨著技術的發展、用戶量的增加、客戶端種類變多,每一個小小的細節都需要優化和考慮。在海量的訪問量面前,也許改變一個按鈕的位置和顏色就能影響上千萬的訂單。如今的互聯網產品已不是以一己之力就可以完成的樂高積木了,Web開發需要以某種可控的方式來管理。
于是,所有認真對待互聯網產品的大公司都引入了流水線開發流程,在這條流水線上誕生了多個非常專業的職位。
現如今需要“T”型人才,要求你不僅“一樣精”更要在“一樣精”的基礎上“百樣通”做WEB全棧工程師的樂趣要比一般工程師來得多,因為你知道一個產品的形態,你可以去設計一個產品,你是從全局的視野來做事情,你得到的成就感會更多一些。
其基于這番人才需求,Web全棧開發工程應運而生。他們不僅做得了圖,敲得了碼,還熟知前端、后端、數據庫、第三方開發等的全面知識。于是有人疑惑,這樣的人才會不會看似全能,實則都是略通皮毛,根本什么都不精通啊?學習這樣的全棧開發,有前途嗎?
1、全棧開發工程師的概念
全棧工程師,也叫全端工程師(同時具備前端和后臺能力),英文Full Stack developer。是指掌握多種技能,并能利用多種技能獨立完成產品的人。形象的打個比方來說:全棧工程師就是一個能獨立蓋一幢10層小洋樓的人,而普通工程師,則是可以和一群人蓋一幢摩天大樓的人。
二八定律又名80/20定律、帕列托法則(定律)也叫巴萊特定律,放在哪里都適用。全棧工程師就是能夠了解100的技能,但精通其中的20%,并用這常用的20%技能,去實現80%的特效。
也有人說全棧工程師怎么感覺和站長差不多。是有點像,但性質不同。一名站長確實需要掌握多種技能,但站長會寫代碼的很少,他們通常是用一些建站軟件來建站。而全棧開發工程師需要掌握的知識包括:后端開發、前端開發、界面設計、產品設計、數據庫、各種移動客戶端、三屏兼容、restFul API設計和OAuth等等,比較前衛的項目,還需要掌握Single Page Application、Web Socket、HTML5/CSS3這些技術以及像第三方開發像微信公眾號微博應用等等。
2、全棧開發工程師的價值
全棧開發師的厲害之處并不是他掌握很多知識,可以一個人干多份工作。而是說他在處理問題的時候擁有全局性思維。
現在科技日新月異,web前端不再是從前切個圖用個jQuery上個AJAX兼容各種瀏覽器那么簡單。現代的Web前端,你需要用到模塊化開發、多屏兼容、MVC,各種復雜的交互與優化,甚至你需要用到Node.js來協助前端的開發。
所以說一個現代化的項目,是一個非常復雜的構成,我們需要一個人來掌控全局,他不需要是各種技術的資深專家,但他需要熟悉到各種技術。對于一個團隊特別是互聯網企業來說,有一個全局性思維的人顯得尤其重要,這個時候也就彰顯了全棧開發工程師的價值。
全棧開發師經手的項目不但會注意到網頁優化,而且會考慮到API來兼容各種客戶端,更會考慮到三屏兼容的問題。不會說項目中完全使用AJAX而不顧SEO,也不會為了功能性而忽略訪問速度,他會很好的把握其中平衡,因為他知道各個板塊的權重和實現成本。
3、Web全棧開發是一種趨勢
現代項目的開發,很少說只用到一兩種技術的,特別是移動互聯網大潮下。隨便一個互聯網項目中用到的技術,就會需要用到后端開發、前端開發、界面設 計、產品設計、數據庫、各種移動客戶端等方面的知識。
項目越大,溝通成本越高,做過項目管理的人都知道,項目中的人力是1+1《2的,人越多效率越低。因為溝通是需要成本的,不同技術的人各說各話,前端和后端是一定會掐架的。每個人都會為自己的利益而戰,毫不為已的人是不存在的。
而全棧工程師的成本幾乎為零,因為各種技術都懂,胸有成竹,一不小心自己就全做了。即使是在團隊協作中,與不同技術人員的溝通也會容易得多,你讓一個后端和一個前端去溝通,那完全是雞同鴨講,更不用說設計師與后端了。但如果有一個人懂產品懂設計懂前端懂后端,那溝通的結果顯然不一樣,因為他們講的, 彼此都能聽得懂。
-
工程師
+關注
關注
59文章
1569瀏覽量
68510
發布評論請先 登錄
相關推薦
評論