carryalong
全棧工程師是指掌握多種技能,勝任前端與后端,能利用多種技能獨立完成產(chǎn)品的人。
項目越大,溝通成本越高,做過項目管理的都知道,項目中的人力是1+1<2的,人越多效率越低。因為溝通是需要成本的,不同技術(shù)的人各說各話,前端和后端是一定會掐架的。每個人都會為自己的利益而戰(zhàn),毫不為己的人是不存在的。
而全棧工程師的溝通成本幾乎為零,因為各種技術(shù)都懂,胸有成竹,自己就全做了。即使是在團隊協(xié)作中,與不同技術(shù)人員的溝通也會容易得多,讓一個后端和一個前端去溝通,那完全是雞同鴨講,更不用說設(shè)計師與后端了。
但如果有一個人懂產(chǎn)品懂設(shè)計懂前端懂后端,那溝通的結(jié)果顯然不一樣,因為他們講的,彼此都能聽得懂。
擴展資料:
如果一個公司不太懂全棧工程師的價值,那么全棧工程師的地位將會很尷尬,說得不好聽一點,全棧工程師就是什么都會,什么都不會。
曾經(jīng)有一次面試,對方問很基礎(chǔ)的問題,他答不上來,但他能做出產(chǎn)品,也知道什么是怎么一回事,他也不會犯那些錯誤,可他就是答不上概念,要考倒他非常容易。所以在應(yīng)聘面試的時候,有些時候會吃虧,他可能會不如那些在某一方面鉆得很深的人工資拿得高。
恰恰小資
一、全棧工程師是什么“全?!狈g自英文full-stack,表示為了完成一個項目,所需要的一系列技術(shù)的集合?!皸!笔侵敢幌盗凶幽K的集合。全棧工程師(Full-Stack Engineer),也叫全端工程師,指的是掌握多種技能,對前端知識和后端架構(gòu)都有深入的了解,并擁有足夠的學習能力,能利用多種技能解決問題,獨立完成產(chǎn)品的人。全棧工程師熟悉多種開發(fā)語言,同時具備前端和后臺開發(fā)能力,從需求分析,原型設(shè)計到產(chǎn)品開發(fā),測試,部署,發(fā)布全流程都十分熟悉。在著名的問答網(wǎng)站Quora上,有一個關(guān)于全棧工程師的高票回答:全棧工程師是指,一個能處理數(shù)據(jù)庫、服務(wù)器、系統(tǒng)工程和客戶端的所有工作的工程師。根據(jù)項目的不同,客戶需要的可能是移動棧、Web棧,或者原生應(yīng)用程序棧。我們可以看到,對于全棧工程師來說,其中最重要的屬性,就是不同的思維方式和強大的學習能力。假如你是一個web開發(fā)者,如果你既能做前端(需要熟悉HTML、CSS、JavaScript、H5以及Bootstrap、EasyUI等各種前端框架),又能做后端(需要熟悉Java或或php或或Go,選項太多就不一一列舉了),可以獨自一個人完成一個類似電子商務(wù)網(wǎng)站的產(chǎn)品的開發(fā),那你就算是全棧工程師了。換種方式說,全棧工程師的思維方式更開闊、更新穎、更綜合。 強大的學習能力體現(xiàn)在方方面面,并且不局限于特定的知識或是技能。二、全棧工程師必須掌握的技能成為一個優(yōu)秀的Web全棧工程師應(yīng)該具備哪些能力?收集了所有一線大廠的招聘需求,我歸納出了Web全棧開發(fā)需要掌握的技術(shù)方向:、H5、Nodejs、小程序、移動端,掌握大前端所有技術(shù)棧2.能夠?qū)崿F(xiàn)類Element-ui組件庫,設(shè)計Vue組件3.掌握Vue/React源碼,MVVM庫原理4.了解Koa2源碼,定制MVC開發(fā)框架5.前端監(jiān)控、性能優(yōu)化、安全6.自動化測試、發(fā)布、運維
兔小主改名了
1.全棧工程師,也叫全端工程師,英文FullStackdeveloper。是指掌握多種技能,并能利用多種技能獨立完成產(chǎn)品的人。2.如何成為全棧工程師?a全局性思維現(xiàn)代項目的開發(fā),需要掌握多種技術(shù)。互聯(lián)網(wǎng)項目,需要用到后端開發(fā)、前端開發(fā)、界面設(shè)計、產(chǎn)品設(shè)計、數(shù)據(jù)庫、各種移動客戶端、三屏兼容、restFulAPI設(shè)計和OAuth等等,比較前衛(wèi)的項目,還會用到SinglePageApplication、WebSocket、HTML5/CSS3這些技術(shù)以及像第三方開發(fā)像微信公眾號微博應(yīng)用等等。Web前端也遠遠不是從前的切個圖用個jQuery上個AJAX兼容各種瀏覽器那么簡單了?,F(xiàn)代的Web前端,你需要用到模塊化開發(fā)、多屏兼容、MVC,各種復雜的交互與優(yōu)化,甚至你需要用到來協(xié)助前端的開發(fā)。所以說一個現(xiàn)代化的項目,是一個非常復雜的構(gòu)成,我們需要一個人來掌控全局,他不需要是各種技術(shù)的資深專家,但他需要熟悉到各種技術(shù)。對于一個團隊特別是互聯(lián)網(wǎng)企業(yè)來說,有一個全局性思維的人非常非常重要。[1] b.善于溝通項目越大,溝通成本越高,做過項目管理的都知道,項目中的人力是1+1<2的,人越多效率越低。因為溝通是需要成本的,不同技術(shù)的人各說各話,前端和后端是一定會掐架的。每個人都會為自己的利益而戰(zhàn),毫不為已的人是不存在的。而全棧工程師的成本幾乎為零,因為各種技術(shù)都懂,胸有成竹,自己就全做了。即使是在團隊協(xié)作中,與不同技術(shù)人員的溝通也會容易得多,讓一個后端和一個前端去溝通,那完全是雞同鴨講,更不用說設(shè)計師與后端了。但如果有一個人懂產(chǎn)品懂設(shè)計懂前端懂后端,那溝通的結(jié)果顯然不一樣,因為他們講的,彼此都能聽得懂。c.創(chuàng)業(yè)公司對于創(chuàng)業(yè)公司來說,全棧工程師的價值是非常大的,創(chuàng)業(yè)公司不可能像大公司一樣,各方面的人才都有。所以需要一個多面手,各種活都能一肩挑,獨擋多面的萬金油。對于創(chuàng)業(yè)公司,不可能說DBA前端后端客戶端各種人才全都備齊了,很多工作請人又不飽和,不請人又沒法做,外包又不放心質(zhì)量,所以全棧工程師是省錢的一妙招。雖然說全棧工程師工資會比一般的工程師會高很多,但綜合下來,成本會低很多。
朝夕憶可否
前端工程師:在打開一個網(wǎng)站時,屏幕上的一切都屬于前端。前端工程師負責創(chuàng)建用戶界面背后的代碼。這些工程師不僅要熟悉HTML、JavaScript與CSS,還要掌握很多框架。這些框架有Foundation、Angular JS、Ember JS、Backbone及Bootstrap等等。前端工程師要與設(shè)計師和其他專家協(xié)同工作,從而將網(wǎng)站從模型轉(zhuǎn)換為可使用的模式。
后端工程師:在你每天所訪問的網(wǎng)站背后有服務(wù)器網(wǎng)絡(luò)、數(shù)據(jù)庫以及各種應(yīng)用,他們相互協(xié)作將你所請求的網(wǎng)頁與數(shù)據(jù)傳遞給你。后端工程師負責構(gòu)建這些組件。他們要擅長各種編程語言,如Python、.Net、Ruby、Java及PHP等等,從而通過這些語言來編寫程序。他們還需要使用各種數(shù)據(jù)庫程序如MySQL、SQL Server及Oracle等來操縱信息并將其傳遞給最終用戶。后端工程師需要與組織中的各種經(jīng)理及其他成員通力配合來完成工作。
全棧工程師:全棧工程師既要了解后端開發(fā),也要了解前端開發(fā)。他們是“全方位”的工程師,熟悉服務(wù)端的同時又懂客戶端用戶體驗。全棧工程師理解Web開發(fā)進程的每一個方面,同時又會就整體策略與最佳實踐對相關(guān)干系人提出建議與指導。
平凡yifen
在我看來,所謂“全棧“是一個沒有確定意義的動態(tài)概念;至多說明“此人比較勝任自己目前所從事的工作,相關(guān)領(lǐng)域都能插上一手”罷了;一旦領(lǐng)域換了或者要求提高了,對“全?!钡囊笞匀淮蟛幌嗤?。因此,談?wù)撘幻こ處熓欠瘛叭珬!笔菦]太大意義的:“全棧”應(yīng)當是一名有追求的工程師在某個職位上對自己的要求,并不是一個頭銜。比如說我吧。最初使用PB做項目;玩著玩著,從動態(tài)界面生成、顯示效率優(yōu)化到數(shù)據(jù)庫調(diào)優(yōu)就全都能插上手了;然后,基于自己對底層知識的理解,還能用PB玩一些黑科技,實現(xiàn)官方?jīng)]有提供支持的功能(用俺同事的話說就是“你都玩到圈外面了”)。甚至,我還直接和客戶方技術(shù)人員交流,修補了很多過去需求調(diào)研時留下的坑(被客戶評價“夠半個XX工程師”、“[去做他們行業(yè)的工程師]日常問題應(yīng)該沒有能難倒你的了”),然后自己設(shè)計方案、制定計劃并成功完成;之后這個軟件才通過客戶驗收。你看,從需求調(diào)研到方案設(shè)計;從數(shù)據(jù)庫設(shè)計到網(wǎng)絡(luò)通信協(xié)議制定再到后臺邏輯、軟件界面……這差不多算全棧了吧?后來用C/C++做項目,然后就知道了內(nèi)存屏障、cache、分支預測,知道了模板推導、編譯期計算;于是開始學著去寫能討好CPU的代碼……埋頭底層N年,逐漸熟悉了linux環(huán)境。于是,往下,改過linuxkernelmodule、挖過tcp/ip協(xié)議棧、查過各種加密/驗證算法/體系的底細(不能說了如指掌,但清楚其來龍去脈、自己也親手實現(xiàn)過一些核心算法);中間,玩過apache/nginx/django,用C寫過cgi頁面,折騰過hadoop/gluster;上層嘛,用gtk/wpf等等都寫過界面,用腳本寫過自動探測機器硬件然后自動裁剪linuxkernel生成最小化系統(tǒng)的東東,用python+django實現(xiàn)過自己的oauth2頁面(當時oauth2剛剛推出,還沒有現(xiàn)成實現(xiàn)可用)……從kernel一口氣玩到web頁面,從C折騰到j(luò)s……隨便哪個環(huán)節(jié)都能摻乎進去,也都搞出過商業(yè)軟件。按照定義,這似乎也勉強能算“全?!卑??這個“全?!焙彤敵醯摹叭珬!保鹆渴欠褚粯??樣樣行,樣樣慫?您可千萬別這樣表揚我?!皹訕討Z“這個評價可謂恰如其分;”樣樣行“可實在是愧不敢當。在我看來,所謂“全棧”,大概就是“自以為已經(jīng)在自己所能接觸領(lǐng)域的各個地方都留下過爪印”吧。很遺憾。雖然的確經(jīng)常自我膨脹;但有一點很清楚:我從未做到過“在所有地方都留下爪印”。各種意想不到的細節(jié)且不提它;比如各種加密算法背后的數(shù)學原理及其證明,其上覆蓋的淤泥太深太硬:既然根本沒有能力去挖掘它,憑什么在那里留下爪印呢?更重要的是,很多地方我甚至都不知道其存在。一旦跳出自己所熟悉的井口、被新鮮事物糊到臉上……所謂“全?!本褪莻€笑話。所以,成為一個全棧工程師的體驗就是:這只青蛙又進入了新一輪的膨脹周期,現(xiàn)在它迫切需要一塊分量十足的“醒工磚”,否則很可能就要被困死在熟悉的井底了
優(yōu)質(zhì)工程師考試問答知識庫