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

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

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

全棧工程師與普通工程師的區(qū)別

工程師人生 ? 來源:wv ? 作者:簡書網(wǎng) ? 2019-09-02 15:40 ? 次閱讀

前端工程師,后端工程師以及全棧工程師都做什么?各自的薪水狀況又如何?

大家好,這一期我們來談一下,前端工程師,后端工程師和全棧工程師的技術(shù)要求和職責(zé)范圍。

具體來說,不僅僅對(duì)于軟件開發(fā)門外的人來說,對(duì)這項(xiàng)工作內(nèi)容云里霧里,即使對(duì)于程序員自身來說,有很多對(duì)這三個(gè)概念也是模糊不清的。

希望通過這一期的講解,讓大家清楚這三個(gè)概念,然后你可以選擇自己的主攻方向。

首先我們來說一下前端工程師。

前端工程師的主要職責(zé)是處理面向用戶的界面。所有涉及到的可視化的內(nèi)容,以及在這些可視化內(nèi)容基礎(chǔ)上的數(shù)據(jù)交互,比如說輸入輸出,這都屬于前端工程師的職責(zé)。

網(wǎng)絡(luò)應(yīng)用開發(fā)為例子的話,前端工程師需要了解HTML,CSS, JavaScript,這算是最靠前的三門技術(shù)。

具體到實(shí)際的開發(fā)當(dāng)中,又會(huì)涉及到很不同的架構(gòu)。在不同的公司中會(huì)有不同的架構(gòu)應(yīng)用,這就要求前端工程師需要適用各種各樣的開發(fā)環(huán)境。

這樣的開發(fā)環(huán)境框架,比如說Angular, Reacr, Vue等等。這些框架的好處就是能夠很快的幫助用戶搭好整個(gè)程序的框架, 從而增加程序的擴(kuò)展性和開發(fā)的效率。

對(duì)于一些非常龐大的系統(tǒng)來說,可能會(huì)用到一些設(shè)計(jì)模式比如說Redux來管理狀態(tài)。因?yàn)檫@些狀態(tài)管理系統(tǒng)是額外的一套系統(tǒng),如果用不好的話,可能會(huì)增加開發(fā)的難度,而不是減輕開發(fā)的負(fù)擔(dān)。

所以我建議在選擇這類開發(fā)模式的時(shí)候一定要慎重。

像以前,這類狀態(tài)管理都是放在后端處理的,但是在現(xiàn)在的網(wǎng)絡(luò)應(yīng)用開發(fā)中,把這一部分都放到前端來了。這樣做的目的就是減輕后端的數(shù)據(jù)吞吐量,提高后端的數(shù)據(jù)處理效率。

另一部分從后端挪到前端來的就是路徑管理部分。在多頁應(yīng)用程序開發(fā)中,一般都是后端來返回某個(gè)頁面,前端顯示就行了。

在現(xiàn)在的應(yīng)用開發(fā)中,一般都是單頁應(yīng)用開發(fā),這樣路徑的處理就在前端進(jìn)行了。這樣做的好處是提高前端應(yīng)用的處理效率。從而增強(qiáng)用戶的體驗(yàn)。

用戶界面這一塊也有單獨(dú)的框架,也可以稱之為CSS的框架,比如說像bootstrap,primeNG 等等。這些東西作為前端開發(fā)工程師來說是應(yīng)該知道的,至少要知道一種或者幾種。因?yàn)楹芏喙径荚谟眠@些東西。

基于這些框架,開發(fā)出來的界面看上去更專業(yè),而且速度很快。

除了這些界面架構(gòu),還要了解CSS里面的一些基礎(chǔ)技術(shù),比如Flex Box,Grid Box等等, 最好在用一些界面框架之前先了解這些比較基本的CSS的技術(shù)。學(xué)好這些基本技術(shù)的最大好處, 就是不會(huì)被一些界面的框架綁住手腳。

當(dāng)然了,還有一部分要學(xué)好的東西就是前端的編程工具,比如說Visual Studio Code是比較流行的。要了解一些需要的插件, 這樣可以讓你的開發(fā)工作變得容易一些。

代碼管理工具部分也是要了解的,這個(gè)不管是前端開發(fā),后端開發(fā)還是全棧開發(fā)都需要掌握的,比如說現(xiàn)在比較流行的是Git版本管理。

前端開發(fā)還需要學(xué)一些包管理的工具,比如說NPM, YARN,web pack,Babel, Sass等等。

前端工程師還需要了解HTTP協(xié)議的基本的操作,比如說get,post,put,delete等等,然后要了解返回值代碼代表的意義。

JSON數(shù)據(jù)結(jié)構(gòu)和應(yīng)用程序接口的調(diào)用也是必須要了解的。因?yàn)楝F(xiàn)在基本上都是restful API,所以以上這些知識(shí)是經(jīng)常被用到的。

對(duì)于前端工程師來說,設(shè)計(jì)界面雖然不是個(gè)硬性指標(biāo),但是你如果懂的話肯定是個(gè)優(yōu)勢(shì)的。

一般的公司都會(huì)有UI/UX設(shè)計(jì)師,作為前端工程師呢,你的任務(wù)就是如果能看懂他們的工作,然后把他們的工作轉(zhuǎn)成代碼,實(shí)現(xiàn)出來就可以了。但是有些小公司是沒有UI/UX設(shè)計(jì)師的, 所以前端工程師的任務(wù),也要做界面的設(shè)計(jì)。

到目前為止,基本上介紹完了前端工程師的工作內(nèi)容,內(nèi)容不少吧?嗯,是的。

接下來我們來說一下后端工程師的工作內(nèi)容。

后端工程師主要是開發(fā)服務(wù)器端運(yùn)行的代碼,這些代碼是不會(huì)在客戶端跑的。從一定意義上來講后端的工作就像蓋樓房的地基部分和框架部分。前端的工作就像除此之外的那些工作。

后端開發(fā)工程師需要學(xué)習(xí)的語言,可以有很多種,比如說JavaScript,如果你用nodejs的話。也可以是PHP, 也可以是Python, 也可以去asp.net, 也可以是Java。幾乎所有的語言都可以在服務(wù)端用起來。跟前端開發(fā)一樣,在后端開發(fā)的時(shí)候你可能也要用一些框架。比如說nodejs的話, 你可以用express,PHP的話,你可以用laravel, Python的話有django和pyramid。對(duì)于所有后端開發(fā)的程序語言,都有相應(yīng)的開發(fā)框架, 也有可能你自己定一些開發(fā)框架,或者你們公司已經(jīng)在使用一些自定義的開發(fā)框架了。

后端工程還要有很強(qiáng)的數(shù)據(jù)庫的知識(shí),如果你使用關(guān)系型數(shù)據(jù)庫也就是結(jié)構(gòu)化數(shù)據(jù)庫的話,對(duì)于SQL一定要精通,如果你使用非關(guān)系型數(shù)據(jù)庫也稱之為非結(jié)構(gòu)化數(shù)據(jù)庫的話,對(duì)于JSON以及對(duì)應(yīng)的數(shù)據(jù)庫工具一定要精通。后端工程師需要對(duì)數(shù)據(jù)庫的表格或者數(shù)據(jù)集進(jìn)行設(shè)計(jì)。

后端開發(fā)工作當(dāng)然要處理HTTP的請(qǐng)求, 這就需要更加清楚每一種請(qǐng)求狀態(tài)所代表的意義,以及返回值的定義,還有接收數(shù)據(jù)的定義。

在接口開發(fā)這一部分當(dāng)中,你可能會(huì)用到一些ORM模型, 比如說,asp.net的話有Entity framework,Java的話會(huì)用到hibernate。你也可以用直接的sql語句來處理數(shù)據(jù)庫的操作,甚者可以寫一下復(fù)雜的存儲(chǔ)程序。這里尤其需要指出的是, 對(duì)于存儲(chǔ)程序開發(fā)來說, 肯定要對(duì)sql語言相當(dāng)熟悉,只有這樣你才能開發(fā)出比較高效的存儲(chǔ)程序來。

對(duì)于非關(guān)系型數(shù)據(jù)庫,比如說Mango db可以用好類似mongoose的工具。

后端開發(fā)一個(gè)很重要的工作內(nèi)容就是保證數(shù)據(jù)的安全性。比如有一些對(duì)于一些特定的接口,只能有特定的用戶來使用, 其他的用戶不可以進(jìn)行訪問的。

后端開發(fā)還要了解服務(wù)器部署的工作內(nèi)容, 只有了解這些,才可以告訴DevOps工程師如何部署你的服務(wù)端程序代碼。這里的工作,比如說如何設(shè)置nginx, 如何使用docker container,如何使用tomcat, iis等等。

最后來說一下全棧開發(fā)的工作內(nèi)容。

全棧開發(fā)工作內(nèi)容,基本上包含了前面談到的前端工程師的工作內(nèi)容和后端工程師的工作內(nèi)容。全站工程師的另一個(gè)重要任務(wù)就是把前端和后端的工作合起來。

這個(gè)工作不像前端工作或者后端工作那么單純,全棧工程師需要了解幾乎所有的事情,尤其是對(duì)于一個(gè)項(xiàng)目在使用微服務(wù)處理的話,有可能有十幾個(gè),20多個(gè),甚至更多的微服務(wù)系統(tǒng),全棧工程師需要對(duì)這些都要了如指掌。

但是話又說回來,作為一名全棧工程師,不一定說每天都要對(duì)所有的事情親自去處理。一般來說,具體的工作重點(diǎn)取決于當(dāng)前的項(xiàng)目狀態(tài),全棧工程師可以一部分時(shí)間用在前棧開發(fā)部分,然后過一段時(shí)間可以去做后端的開發(fā),用來平衡前后端開發(fā)的工作量和工作進(jìn)度。

有一點(diǎn)可以肯定的, 全棧工程師幾乎可以跟開發(fā)工作中的任何環(huán)節(jié)中的開發(fā)工程師進(jìn)行合作。

從薪水的分布狀態(tài)來看,一般來說,由于工作內(nèi)容的復(fù)雜性和多樣性,前端工程師的工資相對(duì)來說要高于后端工程師的工資,但是這個(gè)差距并不大。這個(gè)跟具體的公司的具體的工作項(xiàng)目是有關(guān)系的, 有的公司后端工程師掙的比前端工程師還要多呢。

全棧工程師因?yàn)槭裁炊伎梢宰觯岳碚摵同F(xiàn)實(shí)上來講,薪水比前端工程師和后端工程師都要掙得多一點(diǎn)。

但是值得一提的是,很少有人能夠做全棧開發(fā)。這主要是因?yàn)樽鳛槿祟悾覀儗?duì)工作內(nèi)容的喜好都有一定的傾向性,換句話說,你不太可能對(duì)所有的事情都感興趣,前端的工作注重的是可視化處理,后端的工作注重的是科學(xué)計(jì)算,深度數(shù)據(jù)挖掘,大部分人是只對(duì)某一種感興趣的。

作為一名全棧開發(fā)工程師,并不是薪水多一點(diǎn)點(diǎn)那么簡單,他的工作內(nèi)容,要超出很多, 要學(xué)的東西,也要超出很多,這個(gè)學(xué)習(xí)過程,對(duì)于大部分工程師來說都會(huì)崩潰掉的。

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

    關(guān)注

    59

    文章

    1565

    瀏覽量

    68408
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗(yàn)證工程師三者有什么區(qū)別? A:FPGA 算法
    發(fā)表于 09-23 18:26

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

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

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

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

    嵌入式軟件工程師和硬件工程師區(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

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

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

    【2023電子工程師大會(huì)】單片機(jī)/RTOS/Linux工程師

    【2023電子工程師大會(huì)】單片機(jī)/RTOS/Linux工程師修煉之路ppt
    發(fā)表于 01-03 16:31 ?40次下載