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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一名優(yōu)秀的全棧工程師應(yīng)當(dāng)具備哪些素質(zhì)?

工程師人生 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-08-13 15:42 ? 次閱讀

最近網(wǎng)上在熱烈討論一則傳聞,說(shuō)Facebook在招聘所謂的“全棧工程師”(Full Stack Engineer),要求應(yīng)征者對(duì)開發(fā)堆棧的每個(gè)方面都有所掌握。那究竟何為 “全棧工程師”呢?從字面上來(lái)理解,全棧工程師必須熟悉開發(fā)堆棧的每一個(gè)層次,或者至少熟悉絕大多數(shù)并且對(duì)所有的軟件技術(shù)有天生的熱情和興趣。

對(duì)于這樣的開發(fā)者,他們非常擅長(zhǎng)使用掌握的技術(shù)讓自己的生活變得輕松,這也正是為什么Facebook會(huì)希望雇傭他們,他們用自己的腦子與熱情編碼, 好的產(chǎn)品也自然能在最短的時(shí)間呈現(xiàn)。那么,具體而言,一個(gè)合格的“全棧工程師”要具備哪些素質(zhì)呢?

開發(fā)堆棧剖析

服務(wù)器,網(wǎng)絡(luò)以及宿主環(huán)境

需要理解哪些模塊可能失效以及為什么,而不能理所當(dāng)然地認(rèn)為,只要不斷增加資源就能解決所有問(wèn)題。

知道如何運(yùn)用操作系統(tǒng)、云存儲(chǔ)、網(wǎng)絡(luò)資源,并能理解數(shù)據(jù)冗余以及可用性是必需的。

了解應(yīng)用的規(guī)模是如何對(duì)硬件造成限制的。

還有多線程和競(jìng)態(tài)條件,這些概念在開發(fā)機(jī)上往往不會(huì)遇到,但是他們?cè)诂F(xiàn)實(shí)的部署環(huán)境中卻無(wú)處不在。

全棧工程師還必須要能夠與DevOps很好地協(xié)作。他們所設(shè)計(jì)的系統(tǒng)應(yīng)該提供有用的錯(cuò)誤消息和日 志能力,這樣DevOps就能夠及時(shí)獲得這些信息,并采取有價(jià)值的行動(dòng)。

數(shù)據(jù)建模

如果數(shù)據(jù)模型存在缺陷,那么就常常需要在業(yè)務(wù)邏輯和更高的層面上使用丑陋的代碼來(lái)彌補(bǔ)那些數(shù)據(jù)模型沒(méi)辦法覆蓋的死角。

知道如何建立合理的范式關(guān)系模型,具備完善的外鍵、索引、視圖、查詢表等等。

還要熟悉非關(guān)系型數(shù)據(jù)的存儲(chǔ),知道非關(guān)系型數(shù)據(jù)庫(kù)在哪些方面超越關(guān)系型數(shù)據(jù)庫(kù)。

業(yè)務(wù)邏輯

這是系統(tǒng)應(yīng)用價(jià)值的關(guān)鍵所在。

掌握SOLID設(shè)計(jì)能力(單一職責(zé),開放且封閉,Liskov替代性,接口分離,依賴注入)。

熟悉一些常用的框架。

API/Action/MVC

這些關(guān)乎外部世界如何與業(yè)務(wù)邏輯及數(shù)據(jù)模型交互。

會(huì)使用到大量的框架。

有能力寫出清晰、一致、使用簡(jiǎn)單的接口。

用戶界面

全棧工程師需要:a)懂得如何構(gòu)建易讀的布局;b)能意識(shí)到藝術(shù)家和圖形設(shè)計(jì)師的作用??傊?,實(shí)現(xiàn)一套好的視覺(jué)設(shè)計(jì)方案尤為關(guān)鍵。

熟練掌握HTML5/CSS。

從目前的趨勢(shì)來(lái)看,JavaScript將會(huì)是明日之星,最近這一領(lǐng)域碩果累累(NodeJs, backbone, knockout, Angular(自己的加的, 原文沒(méi)有))。因此,掌握J(rèn)avaScript必不可少。

用戶體驗(yàn)

全棧工程師應(yīng)該意識(shí)到:用戶僅僅是希望一切運(yùn)轉(zhuǎn)良好。

一個(gè)好的系統(tǒng)是不會(huì)讓用戶得腕管綜合征或產(chǎn)生眼疲勞的。全棧工程師能審視全局,可以將一個(gè)需要8次點(diǎn)擊+3個(gè)步驟的過(guò)程,簡(jiǎn)化為僅需要一次點(diǎn)擊。

知道如何向用戶提示錯(cuò)誤信息。如果出現(xiàn)故障,真誠(chéng)道歉。有時(shí)一些無(wú)意的錯(cuò)誤信息,會(huì)讓用戶感到莫名奇妙。

理解用戶和市場(chǎng)需求

這層關(guān)系到系統(tǒng)架構(gòu),但也絕不是一個(gè)不能碰的角色(有可能翻譯有誤,原文:but that is too much of a hands off role)。

全棧工程師要領(lǐng)悟客戶使用軟件過(guò)程中會(huì)需要些什么以及整個(gè)市場(chǎng)需要些什么。

其他方面

能寫出高質(zhì)量的單元測(cè)試,時(shí)至今日,甚至連JavaScript都能寫出單元測(cè)試了。

知道如何使用可重復(fù)的自動(dòng)化工具來(lái)構(gòu)建系統(tǒng)、測(cè)試、撰寫文檔以及按需部署。

系統(tǒng)的安全意識(shí)非常重要,要知道,開發(fā)堆棧中的每一層都可能存在薄弱環(huán)節(jié)。

總結(jié)

將代碼與某個(gè)特定的實(shí)現(xiàn)(無(wú)論是軟件庫(kù),操作系統(tǒng),硬件,等等)緊綁在一起并不是好的實(shí)踐。全棧工程師雖然學(xué)術(shù)淵博,但不意味著他們能抄 捷徑,除非他們是在開發(fā)一個(gè)建完即扔的一次性原型。

技術(shù)型的創(chuàng)業(yè)企業(yè)在初期為了滿足靈活性,對(duì)全棧工程師的需求比較大,但是,隨著企業(yè)的成熟,會(huì)需要越來(lái)越多的專業(yè)型人才。

要成為一名全棧工程師,至少要使用過(guò)多種編程語(yǔ)言在各種領(lǐng)域的不同平臺(tái)工作多年。全棧工程師除了像“高級(jí)工程師”那樣要掌握多門編程語(yǔ)言, 還必須具有更高的視野將所有的模塊聯(lián)系起來(lái)。值得注意的是,在以上列表中,僅有3——5項(xiàng)是與編碼有關(guān)的。

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

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68612
  • Facebook
    +關(guān)注

    關(guān)注

    3

    文章

    1429

    瀏覽量

    54915
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    為什么嵌入式驅(qū)動(dòng)開發(fā)工程師可以拿高薪?

    技術(shù)領(lǐng)域具有不可替代的地位。 成為一名優(yōu)秀的嵌入式驅(qū)動(dòng)工程師只需要深耕以下幾點(diǎn): 1)堅(jiān)實(shí)的技術(shù)基礎(chǔ): 首先,需要有堅(jiān)實(shí)的基礎(chǔ),包括計(jì)算機(jī)組成原理、微處理器與微控制器架構(gòu)以及電路設(shè)計(jì)與硬件接口知識(shí)
    發(fā)表于 01-07 16:56

    電力電子工程師拿到50W以上的年薪需要具備哪些技能

    高薪電力電子工程師需要具備的技能
    的頭像 發(fā)表于 11-05 09:44 ?382次閱讀
    電力電子<b class='flag-5'>工程師</b>拿到50W以上的年薪需要<b class='flag-5'>具備</b>哪些技能

    如何成為一名優(yōu)秀的天線微波工程師?前華為終端天線負(fù)責(zé)人訪談來(lái)了

    ? 點(diǎn)擊文尾閱讀原文查看 作者 | 程勝祥? 仿真秀特邀專家 首發(fā) |?仿真秀App 導(dǎo)讀: 大家好,我是程勝祥,92年畢業(yè)于西安電子科技大學(xué)微波技術(shù)與天線專業(yè)。曾在華為公司負(fù)責(zé)華為公司所有研究所的手機(jī)、固定臺(tái)、無(wú)線上網(wǎng)卡天線的研發(fā)工作。在中興通訊天津研究所任天線和RFID標(biāo)簽開發(fā)部部長(zhǎng)。在小米公司,于2014-2020獨(dú)立負(fù)責(zé)整個(gè)公司電視類、音響類產(chǎn)品天線及無(wú)線性能。在清華大學(xué),指導(dǎo)博士和碩士進(jìn)行天線相關(guān)科研工作。在香港回歸、澳門回歸交
    的頭像 發(fā)表于 07-03 08:44 ?669次閱讀
    如何成為<b class='flag-5'>一名優(yōu)秀</b>的天線微波<b class='flag-5'>工程師</b>?前華為終端天線負(fù)責(zé)人訪談來(lái)了

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個(gè)充滿機(jī)遇和挑戰(zhàn)的領(lǐng)域里,如何提升自己顯得非常重要,它決定了你未來(lái)的發(fā)展方向和成就。接下來(lái),我們起探討
    發(fā)表于 06-12 11:20

    索尼誠(chéng)邀軟件工程師參與PS免費(fèi)手游平臺(tái)設(shè)計(jì)

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動(dòng)娛樂(lè)正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負(fù)責(zé)設(shè)計(jì)PlayStation的免費(fèi)手機(jī)游戲平臺(tái)。
    的頭像 發(fā)表于 05-23 17:08 ?769次閱讀

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

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的種專業(yè)工程師
    發(fā)表于 05-16 11:00

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

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

    位硬件工程師的歷練之路:從入門學(xué)習(xí)理論到... #搞笑 #硬件工程師 #電子工程師 #揚(yáng)興科技

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

    單片機(jī)如何通過(guò)代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機(jī)是怎樣通過(guò)代碼來(lái)操控硬件的。作為一名單片機(jī)工程師,我們平時(shí)的工作就像是給單片機(jī)編寫“指令集”,讓它按照我們的意圖去驅(qū)動(dòng)各種硬件設(shè)備。
    的頭像 發(fā)表于 03-06 14:46 ?1602次閱讀
    單片機(jī)如何通過(guò)代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

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

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

    如何搞崩個(gè)硬件工程師心態(tài)?試試對(duì)ta說(shuō)這幾句

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