0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么全棧工程師會存在爭議

工程師人生 ? 來源:wv ? 作者:簡書網(wǎng) ? 2019-10-11 16:58 ? 次閱讀

如何成為一名全棧工程師(full stack developer)?互聯(lián)網(wǎng)最熱的話題之一。LinkedIn, Facebook上標榜自己是全棧工程師的人也越來越多,似乎正在成為IT行業(yè)的新潮流和新趨勢。Full Stack的概念早已不新鮮,廣大開發(fā)人員之間對”全?!鳖愒掝}的討論也從未停止。曾經(jīng)看到過一篇關于全棧設計師的文章,毀譽參半。有的人認為全棧只是一個頭銜而已,真正的還是看個人的能力和技術。

中國有句老話:魚和熊掌不可兼得。而類似全棧工程師,全棧設計師這類的職業(yè),似乎正在挑戰(zhàn)這一可能性。因為他們橫向發(fā)展的技能樹賦予了他們魚和熊掌兼得的能力。而國外對于全棧型人才,有這么一個說法:Jack of all trades, but master of none. 翻譯成中文就是無所不能便一無所精。如何避免成為廣而不精的全棧工程師,是廣大想要成為全棧設計師朋友們需要深入考慮的一個問題。

本質上來講,這個話題其實是對互聯(lián)網(wǎng)行業(yè)“技多”是否等于“全棧”,“深度”和“廣度”哪個更重要的一場深層次的討論。

1.什么是全棧工程師?

全棧工程師,也叫全端工程師,英文Full Stack developer,是指掌握多種技能,并能利用多種技能獨立完成產(chǎn)品的人。

Quora上有人提出了這個問題,其中一個高票回答是:

全棧工程師是指,一個能處理數(shù)據(jù)庫、服務器、系統(tǒng)工程和客戶端的所有工作的工程師。根據(jù)項目的不同,客戶需要的可能是移動棧、Web棧,或者原生應用程序棧。

其實,“全棧”指的是為了完成一個項目,所需要的一系列技術的集合。“?!笔侵敢幌盗凶幽K的集合。這些軟件子模塊或者組件組合在一起即可實現(xiàn)既定功能,不再需要其他模塊。

2.為什么全棧工程師會存在爭議?

上面提到過,全棧工程師的爭議在于對技能深度和廣度的探討。特別是在OSCON會議上,一名Facebook的工程師說他們只聘請“全棧(Full stack)的程序員?!贝嗽掝}一出,更引起了大家對成為全棧工程師的優(yōu)勢與劣勢的熱烈討論。

優(yōu)勢:全棧工程師的技術發(fā)展是橫向的,涉獵技術很廣,能快速的運用他所掌握的技術知識開發(fā)出產(chǎn)品原型。因為他們視野更寬闊,思維更活躍,對技術和產(chǎn)品都十分敏感,對于任何技術或設計,他總是有話可說??梢詫F隊中的每一個人都提供有益的幫助,能大大減少團隊人員溝通、技術對接的時間和技術成本。所以他們當中,很多人成為了創(chuàng)業(yè)者或者在創(chuàng)業(yè)公司擔任技術合伙人。

劣勢:正是由于橫向的技術發(fā)展,導致全棧工程師往往博而不精。大多數(shù)自稱為“全?!钡墓こ處煟纪A粼谝环N淺嘗輒止的“略懂”的境界。至于具體如何實現(xiàn),如何讓架構更適合后面階段的模塊化開發(fā),那就真不知道了。

3.即便如此,仍有人在問,如何成為全棧工程師?

一個合格的全棧開發(fā)人員應具有在構建應用程序時涉及的所有方面的功能知識和能力。

1) 掌握多門編程語言

你需要精通多門編程語言,JAVA 、PHP、C#、Python、Ruby、Perl 等,因為你的大多數(shù)核心業(yè)務處理都需要用這些語言來寫。你既要掌握這些語言的語法,又需要非常熟悉如何基于這些語言進行項目的架構、設計、實現(xiàn)以及測試。

2)運用開發(fā)框架和第三方庫

流行的開發(fā)語言,一般都伴有出色的開發(fā)框架,比如JAVA的Spring、MyBatis、Hibernate,Python的Django,PHP的 thinkphp、yin,nodeJs的 express 等等。

3)前端技術

前端技術在今天的項目和產(chǎn)品研發(fā)過程中變得愈加重要。除了實現(xiàn)產(chǎn)品功能,用戶體驗也是檢驗產(chǎn)品是否成功的標準之一。而這都依賴于前端技術的實現(xiàn),你至少需要掌握 HTML5、CSS3、JavaScript 等基本前端技術,同時進一步學習 JQuery、LESS、SASS、AngularJS或REACT等前端框架或第三方庫。

4)數(shù)據(jù)庫與緩存

任何產(chǎn)品或項目都需要一個數(shù)據(jù)庫來存儲數(shù)據(jù)。作為全棧工程師,你也需要至少掌握一到兩個數(shù)據(jù)庫,并知道怎樣與數(shù)據(jù)庫進行交互。目前流行的數(shù)據(jù)庫主要有MySQL、MongoDB、Redis、Oracle、SQLServer等。MongoDB作為文檔型數(shù)據(jù)庫,在互聯(lián)網(wǎng)產(chǎn)品中正被越來越多地使用,對于規(guī)模稍大一些的項目,我仍推薦使用MySQL或商用的Oracle作為后端數(shù)據(jù)庫。而Redis這樣的內存數(shù)據(jù)庫則可以用于緩存,以提升系統(tǒng)的性能。

5)基本設計能力

大部分關于全棧工程師的文章或討論中都很少涉及到設計能力的要求。但我卻認為這項技能非常重要,基本的原型設計,UI設計,UX設計都是需要了解的。

6)除了良好的開發(fā)技術知識,自我要求也是全棧工程師必備的因素:

全局性思維

良好的溝通能力

創(chuàng)造力

好奇心

時間管理能力

總結

根據(jù)格拉德威爾的一萬小時定律,希望熟練的掌握前端、后端、客戶端方向的知識內容,每天都花時間來鉆研也得花10年左右的時間。所以,全棧工程師決不是一夜練成的,你需要打好技術基礎,強化核心技能,并持續(xù)學習才能應對更多的挑戰(zhàn)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 工程師
    +關注

    關注

    59

    文章

    1571

    瀏覽量

    68556
收藏 人收藏

    評論

    相關推薦

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

    邏輯工程師和 FPGA 原型驗證工程師在工作重點和職責上存在一定的區(qū)別: FPGA 算法工程師: 主要關注算法的設計和優(yōu)化,以在 FPGA 平臺上實現(xiàn)高效的計算和處理。他們需要深入理
    發(fā)表于 09-23 18:26

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    用二創(chuàng),1:1復刻工程師的職場現(xiàn)狀

    工程師
    揚興科技
    發(fā)布于 :2024年07月19日 18:30:07

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領域中的一種專業(yè)工程師,他們主要負責設計和開發(fā)嵌入式軟件,
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    一位硬件工程師的歷練之路:從入門學習理論到... #搞笑 #硬件工程師 #電子工程師 #揚興科技

    硬件工程師揚興科技
    揚興科技
    發(fā)布于 :2024年03月13日 17:50:21

    OVP過壓保護芯片:為何電子工程師需要它?功能、作用解析

    OVP過壓保護芯片:為何電子工程師需要它?功能、作用解析
    的頭像 發(fā)表于 03-06 10:27 ?6197次閱讀
    OVP過壓保護芯片:為何電子<b class='flag-5'>工程師</b>需要它?功能、作用<b class='flag-5'>全</b>解析

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    如何搞崩一個硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49