we銀行前端開發(fā)是做什么的前端開發(fā)是做什么的(銀行前端開發(fā)是做什么的)
今天小編和大家聊聊互聯(lián)網(wǎng)企業(yè)技術(shù)崗位都有哪些?各個(gè)技術(shù)崗位都需要具備哪些能力?一些互聯(lián)網(wǎng)企業(yè)對(duì)各個(gè)崗位的要求與崗位職責(zé)的設(shè)定?包括大家比較關(guān)心的崗位薪資福利情況。
互聯(lián)網(wǎng)企業(yè)中技術(shù)崗位被認(rèn)為是核心崗位之一,常見分類有開發(fā)工程師,測(cè)試工程師,架構(gòu)師、運(yùn)維工程師、數(shù)據(jù)工程師等等,但是也有很多企業(yè)會(huì)設(shè)置更為細(xì)分的技術(shù)崗位,例如:DBA、BI、中間件工程師、AI工程師、CAD工程師等等。
開發(fā)工程師崗位,說到開發(fā)工程師崗位在很多人腦中就會(huì)浮現(xiàn)出兩個(gè)詞“程序猿”、“碼農(nóng)”。但是這樣說不全面,開發(fā)工程師崗位也會(huì)區(qū)分很多種類,下面我們逐一介紹。
前端工程師、移動(dòng)端工程師、后端工程師、嵌入式工程師(偏硬件居多,也有叫智能制造工程師的)等等。當(dāng)然還可以按照技術(shù)語言或領(lǐng)域不同再進(jìn)行細(xì)分,例如:java、python、go等等,不過在小編做軟件開發(fā)的年代沒有這些崗位區(qū)分,用現(xiàn)在流行的詞兒“全棧/全站 工程師”,最多區(qū)分硬、軟件開發(fā)工程師。
今天說的崗位:后端工程師崗位,這個(gè)崗位的定義其實(shí)不太容易說明白,小編簡(jiǎn)單一點(diǎn)定義它,利用技術(shù)語言實(shí)現(xiàn)業(yè)務(wù)邏輯的工程師,幕后英雄。其實(shí)這個(gè)崗位就是相對(duì)前端和后端工程師來定義的。我們通常使用任何軟件或系統(tǒng),大部分都是圖形化的,也就是可以看到頁(yè)面,其實(shí)如果想用一個(gè)系統(tǒng)或者互聯(lián)網(wǎng)產(chǎn)品,相當(dāng)一部分工作是由后端工程師完成的,他們做了大量的工作,但是對(duì)于使用的用戶來說基本是看不到。我們經(jīng)常會(huì)說接口(API),這個(gè)其實(shí)就是前后端鏈接的通道,用來傳輸數(shù)據(jù)。但是其實(shí)后端業(yè)務(wù)邏輯中這種非用戶接口更是無數(shù)。
1、后端工程師技術(shù)體系
如果大家看過小編之前介紹的前端工程師崗位,移動(dòng)端工程師崗位的文章,就會(huì)發(fā)現(xiàn)之前崗位中都是技術(shù)語言體系,而這次直接是技術(shù)體系(也叫技術(shù)棧),省去了“語言”二字。相對(duì)前端和移動(dòng)端而言,后端相對(duì)龐雜,尤其是不同的業(yè)務(wù)需要,產(chǎn)品規(guī)模等等,都會(huì)影響技術(shù)棧的選擇。
我們先說說技術(shù)棧有哪些吧,這里面包含了開發(fā)語言,中間件,架構(gòu),數(shù)據(jù),安全,分布式,異步,微服務(wù)等等,小編本次不可能全都說了,說說大家比較熟悉的一些,例如:java、C#、python、go、node等等,看上去這些都是技術(shù)語言,和前端,移動(dòng)端沒有區(qū)別啊。下面我們就選擇大家最熟悉的java說起。

后端開發(fā)技術(shù)棧
想成為一個(gè)java開發(fā)工程師,最簡(jiǎn)單的辦法,學(xué)習(xí)一個(gè)開發(fā)框架即可,例如:SpringCloud,SpingBoot。其實(shí)現(xiàn)在大部分的應(yīng)用后臺(tái)大部分都是java體系的進(jìn)化,我們從java基礎(chǔ)到j(luò)ava高級(jí)知識(shí),簡(jiǎn)單做個(gè)介紹,畢竟想說明白java技術(shù)棧不是一兩篇文章可以說清楚的。
技術(shù)java知識(shí)中,包括開發(fā)工具IDE的使用,javaSDK技術(shù),java面向?qū)ο蠡A(chǔ),javaAPI,javaAWT圖形程序開發(fā)(現(xiàn)在基礎(chǔ)部分可能最多的也就是JSDK了,其他可能實(shí)訓(xùn)或?qū)W校都會(huì)講一些);上面內(nèi)容了解之后,下一步就是J2SE,包括Swing,Socket,Applet,多線程等等;如果想做應(yīng)用程序,也需要了解一定的數(shù)據(jù)庫(kù)知識(shí),Oracle、MySQL等等。再往下發(fā)展,java web開發(fā)(需要掌握J(rèn)DBC,JSP、Servlet,JavaBean,JVM等),還有weblogic,websphere,Tomcat等,這是時(shí)候也需要完整學(xué)習(xí)Jbuilder等工具了;到這里其實(shí)java才算入門,可以了解MVC、Struts等設(shè)計(jì)模式和架構(gòu),開啟自己的應(yīng)用程序之路了。到此,經(jīng)歷過java學(xué)習(xí)的朋友會(huì)了解到,J2EE、EJB,Service,JavaXML等技術(shù)。
看到這里是不是有的朋友已經(jīng)開始放棄java學(xué)習(xí)了,因?yàn)榭吹搅颂嘈枰獙W(xué)習(xí)的了,其實(shí)java技術(shù)棧中,最核心的是java基礎(chǔ)和架構(gòu)理念。
我們把工程師分為兩類:①開發(fā)類人員;②研發(fā)類人才。(其實(shí)技術(shù)崗位,都會(huì)分為這兩類,小編之前講的前端、后端工程師崗位也是如此)
①開發(fā)類人員,只需要了解部分java語言基礎(chǔ)和原理,然后學(xué)習(xí)1到2個(gè)開發(fā)架構(gòu),例如:springCloud、SpingBoot等。很多的校外培訓(xùn)機(jī)構(gòu),基本上如果做java培訓(xùn),近2年包括現(xiàn)在,上來基本就是這兩種,或者再講講什么全家桶,開發(fā)工具等,已經(jīng)很少會(huì)講解java的前世今生,一些技術(shù)原理知識(shí)也都忽略掉了。例如我下面說的這些框架的名字,SSH(Struts、Spring、Hibernate,14年以前比較主流的框架),SSM(Spring、SpringMVC、MyBatis,14年以后興起了一段時(shí)間),現(xiàn)在更多的是SpringBoot。
細(xì)說一下,Struts(2.0之后就逐步淡出人們的視野,JSP盛行年代),spring家族(springCloud、SpingBoot,SpringMVC),Hibernate(也稱為ORM框架),Mybatis(和SQL最友好的中間件之一),JSF(JavaServerFaces,Oracle支持的不錯(cuò),是J2EE時(shí)期重要的產(chǎn)物),Vaadin(一個(gè)開源的框架,UI組件庫(kù)不錯(cuò)和現(xiàn)在的React和Vue結(jié)合使用),Blade(Maven時(shí)代下,開始提供模塊化開發(fā),也支持Jweb組件),Jhipster(2013年發(fā)布的,將Spring Boot,Angular和React集成到一個(gè)大型框架中,其中還包括了Bootstrap),Dubbo(分布式服務(wù)框架),Spark(ava和Kotlin編程語言的一種微框架和特定于領(lǐng)域的語言,大數(shù)據(jù)領(lǐng)域中應(yīng)用較多)。
現(xiàn)在的實(shí)訓(xùn)機(jī)構(gòu)大部分都會(huì)從這些框架直接講起,最多講一下如何發(fā)布和啟動(dòng)一個(gè)框架,最多講講一些中間件的使用,并不能系統(tǒng)的講解,因?yàn)槟康牟煌?。這也就是“程序猿”、“碼農(nóng)”的由來。
②研發(fā)類人才,相對(duì)開發(fā)類人員剛剛使用的框架,它們是哪來的呢?我們這里說的研發(fā)類人員特指研究開發(fā)框架,發(fā)明開發(fā)框架的人員(不是其他生產(chǎn)領(lǐng)域中的業(yè)務(wù),產(chǎn)品等研發(fā)人員)。像我們上面說的很多框架都需要研發(fā)類人員來研究發(fā)明,然后由開發(fā)人員使用。還有很多中間件和輕量級(jí)框架,例如:Shiro、Redis、Log4j、RabbitMQ等等。如果想要成為研發(fā)類人員,首先要具備興趣和意愿,我們知道對(duì)于技術(shù)人員來說,很多的開放社區(qū),大家在討論這個(gè)技術(shù)的一些問題,包括不足等等,也就是這樣的動(dòng)力帶來一批愿意貢獻(xiàn)自己技術(shù)能力的人員(高級(jí)開發(fā)人員,也是研發(fā)人員)。所以后期開源平臺(tái)也就出現(xiàn)了,很多參與開源平臺(tái)建設(shè)的人員也就是在從事著研發(fā)工作。所以小編把研發(fā)人員定位為人才,當(dāng)然更多的企業(yè)還是需要開發(fā)類人員,對(duì)于研發(fā)類人才,還是一些大廠的需求。
我們以Java為例講了后端開發(fā)工程師的技術(shù)要求,那么對(duì)于可以做后端的技術(shù)來說,2020、2021這兩年的TIOBE數(shù)據(jù)來看,C語言、Python、Java是全球受歡迎程度排前三的語言。就招聘情況來看,國(guó)內(nèi)目前java開發(fā)人員仍然是需求量最大的,其次是web前端工程師和測(cè)試工程師,之后是嵌入式工程師,不過隨著智能制造,物聯(lián)網(wǎng)的發(fā)展,2022年嵌入式開發(fā)會(huì)繼續(xù)擴(kuò)大需求。
如果我們把java工程師按照入門,初級(jí)、中級(jí)、高級(jí)分為4個(gè)階段,大致應(yīng)該具備的技術(shù)能力如下:
①入門階段:
熟悉Java開發(fā)環(huán)境搭建和開發(fā)工具(例如:IntelliJ IDEA、JDK等);
熟悉Java基礎(chǔ)語法與面向?qū)ο蟮认嚓P(guān)知識(shí)(OOP相關(guān)知識(shí));
了解Java web相關(guān)知識(shí),如HTML、JavaScript、CSS等;
②初級(jí)階段:
熟悉MVC設(shè)計(jì)模式,并掌握簡(jiǎn)單數(shù)據(jù)庫(kù)相關(guān)知識(shí)(例如MySQL、Mongo等);
熟悉J2EE的開發(fā)技能或者Java Web開發(fā)技能(例如JS、HtmlCSS等);
熟悉常用的開發(fā)框架,如SSM或者SpringBoot;
熟悉常用的代碼版本控制工具,如SVN、Git;
熟悉流程設(shè)計(jì)看懂技術(shù)文檔;
③中級(jí)階段
熟練掌握SSH、SSM、SpringBoot框架中的至少一種;
熟練掌握一定的Java服務(wù)端知識(shí)(例如通信端口,API等相關(guān)知識(shí));
熟練掌握一定的Java微服務(wù)、容器、分布式開發(fā)、負(fù)載均衡、消息隊(duì)列等知識(shí)(例如:LB、Redis、MQ等等);
熟練掌握一定的單元測(cè)試能力、集成測(cè)試能力
④高級(jí)階段(架構(gòu)師、專家、研發(fā)人才等)
Java工程師到達(dá)了高級(jí)階段就是上述能力的綜合運(yùn)用以及對(duì)各技術(shù)的一個(gè)深度掌握的過程。在這個(gè)階段我們更多地應(yīng)該關(guān)注技術(shù)的底層實(shí)現(xiàn)原理以及如何相互配合解決實(shí)際項(xiàng)目。
2、后端工程師的崗位要求(以java工程師為例)
小編在之前的前端工程師、移動(dòng)端工程師崗位的企業(yè)招聘要求中,選擇了大連、北京、深圳\鄭州、成都、西安等城市做對(duì)比,差異還是比較明顯的,小編也解釋過,企業(yè)崗位要求和地域、業(yè)務(wù)性質(zhì)、企業(yè)規(guī)模等很多因數(shù)有關(guān)。所以這次小編選擇上海、蘇州、天津三個(gè)城市多對(duì)比。
2-1,我們先看看一直是高端代名詞的“北上廣深”中的上海,以及我們的東方明珠。我們分別看看初、中、高級(jí)的不同要求。

本次選擇的企業(yè)規(guī)模是100人以上企業(yè),包括1家上市企業(yè)。
企業(yè)1:中級(jí)/高級(jí)Java工程師,薪資15K-22K/月
任職要求:(大專以上)
1. 3年及以上JAVA開發(fā)經(jīng)驗(yàn);
2. 具有良好的編程思想,能夠快速熟悉需求,善于溝通,有較好的工作態(tài)度;
3. 熟練掌握Spring,Spring 工作職責(zé):
1、負(fù)責(zé)銀行個(gè)人金融項(xiàng)目開發(fā)與維護(hù)。
任職要求:
1. 3年及以上JAVA開發(fā)經(jīng)驗(yàn);
2. 具有良好的編程思想,能夠快速熟悉需求,善于溝通,有較好的工作態(tài)度;
3. 熟練掌握Spring,SpringMVC,MyBatis等開源框架并了解其工作原理;有Spring Boot,Spring Cloud,框架經(jīng)驗(yàn)者優(yōu)先;
4. 熟練掌握MySql, Redis等數(shù)據(jù)庫(kù)的開發(fā)和使用;
5、具備金融、銀行等開發(fā)經(jīng)驗(yàn)優(yōu)先。 MVC,MyBatis等開源框架并了解其工作原理;有Spring Boot,Spring Cloud,框架經(jīng)驗(yàn)者優(yōu)先;
企業(yè)2:初級(jí)/中級(jí)Java工程師,薪資14K-18K/月
崗位職責(zé):
1. 負(fù)責(zé)產(chǎn)品后端系統(tǒng)設(shè)計(jì),能夠快速響應(yīng)產(chǎn)品業(yè)務(wù)需求,能夠?qū)τ谙到y(tǒng)設(shè)計(jì)方案有思考
2. 負(fù)責(zé)與產(chǎn)品團(tuán)隊(duì)在功能,交互,數(shù)據(jù)接口層面的溝通,確保產(chǎn)品具有優(yōu)秀的用戶體驗(yàn)
3. 參與架構(gòu)設(shè)計(jì)和優(yōu)化,支撐高并發(fā)、大數(shù)據(jù)系統(tǒng)的研發(fā)
4. 能按時(shí),獨(dú)立,高質(zhì)量地完成工作,對(duì)代碼要求嚴(yán)格
任職要求:
1、計(jì)算機(jī)專業(yè)或相關(guān)專業(yè)大學(xué)本科以上學(xué)歷,2年以上工作經(jīng)驗(yàn)
2、具有扎實(shí)的JAVA基礎(chǔ)知識(shí),較強(qiáng)的動(dòng)手能力
3、熟悉MySQL和SQL語句。
4、精通Sring Cloud開發(fā)框架,熟悉redis、MQ、TOMCAT,熟練使用Linux操作系統(tǒng)。
企業(yè)3:高級(jí)Java工程師,薪資20K-30K/月
崗位胑責(zé):
1、負(fù)責(zé)安全產(chǎn)品服務(wù)端和公共框架的的研發(fā);
2、擔(dān)任重點(diǎn)項(xiàng)目的技術(shù)負(fù)責(zé)人:設(shè)計(jì)技術(shù)方案,協(xié)調(diào)和對(duì)接各方技術(shù)資源完成方案落地;
3、解決開發(fā)過程中的技術(shù)難題,處理生產(chǎn)系統(tǒng)中的各類疑難雜癥(如性能)。
任胑要求:
1、精通Java語言,5年以上相關(guān)工作經(jīng)驗(yàn);熟練掌握至少一種關(guān)系型數(shù)據(jù)庫(kù),具備性能調(diào)優(yōu)能力;
2、深入理解Spring、Spring Boot、My Batis等開源框架;熟悉Redis、Memcache等分布式緩存;熟悉Kafka、RabbitMQ等消息中間件;
3、熟悉Linux操作系統(tǒng)和k8s,有實(shí)際devops經(jīng)驗(yàn);
4、具備團(tuán)隊(duì)合作精神,對(duì)工作有熱情,能夠承受住壓力;
5、有信息安全相關(guān)產(chǎn)品或身份認(rèn)證、訪問控制類產(chǎn)品研發(fā)經(jīng)驗(yàn)者優(yōu)先。

如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/86068.html