六星源課堂:程序員分幾個(gè)方向?需掌握哪些技能?
互聯(lián)網(wǎng)行業(yè)的崗位紛繁復(fù)雜,種類繁多,除了每個(gè)公司必備的技術(shù),產(chǎn)品,運(yùn)營(yíng),銷售,HR,客服等等,結(jié)合公司的具體業(yè)務(wù),主營(yíng)方向,都會(huì)影響到公司的崗位設(shè)置。而程序員則是互聯(lián)網(wǎng)企業(yè)中最重要的崗位,但是干編程的方向那么多,到底哪個(gè)才是對(duì)的?真的很讓人頭大!

在中國(guó)有很多人都認(rèn)為IT行為是吃青春飯的,如果過(guò)了30歲就很難有機(jī)會(huì)再發(fā)展下去!其實(shí)現(xiàn)實(shí)并不是這樣子的,現(xiàn)在過(guò)30歲的已經(jīng)慢慢多起來(lái)了,也不見(jiàn)得混得不好。
JAVA、C、JS、C++、Python……10多種熱門的開(kāi)發(fā)語(yǔ)言,哪一種最有發(fā)展?jié)摿δ兀科鋵?shí)開(kāi)發(fā)語(yǔ)言只不過(guò)是一個(gè)工具,"與其分散進(jìn)攻,不如全力一擊",無(wú)論是哪一種開(kāi)發(fā)語(yǔ)言,只要您全力地去學(xué)習(xí),到有了一定的熟悉程度的時(shí)候,要學(xué)習(xí)另一種的語(yǔ)言也是輕而易舉的事情。
給大家介紹一下程序員的各種崗位以及所需的不同技能,方便大家更明確清晰的規(guī)劃職業(yè)發(fā)展。
1. 前端開(kāi)發(fā)
目前前端開(kāi)發(fā)崗位需要掌握的技術(shù)越來(lái)越多,只會(huì)jquery和ajax的Java工程師逐漸失去了對(duì)前端的掌控能力,越來(lái)越多專業(yè)使用js語(yǔ)言的前端工程師出現(xiàn)了,并且隨著h5和nodejs的出現(xiàn),前端乃至全棧工程師變得越來(lái)越常見(jiàn),前端技術(shù)發(fā)展之迅速,使得前端工程師需要不斷跟上技術(shù)的腳步。
崗位要求:熟悉html,JavaScript和css5,以及angular,vue和react等框架中的一種,還要掌握瀏覽器內(nèi)核知識(shí),以及HTTP協(xié)議有關(guān)的一切知識(shí),另外越來(lái)越多公司要求前端工程師懂一些后端,如果你是nodejs方向的全棧那就...優(yōu)先考慮!
2. 軟件開(kāi)發(fā)或后臺(tái)開(kāi)發(fā)
后臺(tái)開(kāi)發(fā)也可以理解為是軟件研發(fā)崗位,一直都是企業(yè)最需要的崗位,由于現(xiàn)在企業(yè)里的崗位越來(lái)越細(xì)分,后臺(tái)開(kāi)發(fā)可以理解為是應(yīng)用開(kāi)發(fā),不會(huì)接觸到太多底層技術(shù)的崗位,其中以Java為主,c++為輔。
崗位要求:熟悉后臺(tái)語(yǔ)言,計(jì)算機(jī)基礎(chǔ),算法,數(shù)據(jù)庫(kù),分布式技術(shù),反正就是后端技術(shù)懂得越深越好,越多越好,基本上大廠的研發(fā)主要還是喜歡招收碩士,以及優(yōu)秀的本科生。
3. 移動(dòng)端開(kāi)發(fā)
移動(dòng)開(kāi)發(fā)火了這么久,比拼流量的時(shí)代不再,人口紅利不復(fù)當(dāng)年,移動(dòng)端應(yīng)用也日漸成熟,爆款的app也漸漸變少,于是移動(dòng)端開(kāi)發(fā)的熱度也驟減,取而代之的是人工智能。
曾經(jīng)入局移動(dòng)端開(kāi)發(fā)的人們,有實(shí)力的逐漸成為了手機(jī)系統(tǒng)的內(nèi)核開(kāi)發(fā)人員,做更加專業(yè)的定制化開(kāi)發(fā),而其他人有的投入了H5的懷抱,或者另求出路。
崗位要求:崗位要求不算高,ios開(kāi)發(fā)要會(huì)C或object c以及swift,Android開(kāi)發(fā)要會(huì)Java和Android。然后就是熟悉IDE的使用,了解操作系統(tǒng)內(nèi)核等等。
4. 游戲開(kāi)發(fā)
游戲開(kāi)發(fā)可以說(shuō)是集眾多技術(shù)于一身,特別是在圖形學(xué)技術(shù)方面,要求比其他大部分產(chǎn)品都高。除了寫(xiě)寫(xiě)游戲邏輯和網(wǎng)絡(luò)游戲的通信,越來(lái)越多的工程師開(kāi)始投入到游戲AI和游戲引擎,圖形引擎的研發(fā)當(dāng)中。
崗位要求:大部分PC游戲都要求對(duì)C++特別熟悉,因?yàn)榇蟛糠侄擞味际腔贑++開(kāi)發(fā),畢竟windows。并且由于手游時(shí)代來(lái)臨,越來(lái)越多使用Java,Python等語(yǔ)言的公司出現(xiàn),當(dāng)然,也可以使用基于unity的開(kāi)發(fā)方式,搭配C#和lua等語(yǔ)言開(kāi)發(fā)。騰訊網(wǎng)易級(jí)別的公司需要你了解圖形學(xué),以及腳本語(yǔ)言。同時(shí),越來(lái)越多公司要求同學(xué)了解分布式,Linux操作系統(tǒng)等方面的知識(shí)。
5. 云計(jì)算和基礎(chǔ)架構(gòu)方向
基礎(chǔ)架構(gòu)方向還可以再分為存儲(chǔ)方向,網(wǎng)絡(luò)方向,甚至還可以細(xì)分為CDN方向,SDN方向等等,總之,做底層技術(shù)研究的公司比較少,除非公司體量比較大,或者是做云計(jì)算的公司,所以這些崗位的需求量也比較少,未來(lái)基礎(chǔ)架構(gòu)趨于穩(wěn)定,這個(gè)方向需要的人力也會(huì)越來(lái)越少。
即使如此,還是有很多當(dāng)年進(jìn)入云計(jì)算行業(yè)的從業(yè)者,現(xiàn)在在阿里云,華為云,騰訊云等企業(yè)做的風(fēng)生水起,這些平臺(tái)也就是云計(jì)算產(chǎn)業(yè)金字塔頂端的那些玩家。
崗位要求:熟悉底層技術(shù),對(duì)網(wǎng)絡(luò),存儲(chǔ),或者某一方向有深入研究,對(duì)操作系統(tǒng)非常熟悉,特別是Linux內(nèi)核有研究,同時(shí)對(duì)虛擬化,容器技術(shù),以及OpenStack架構(gòu)了解,對(duì)kubenetes熟悉?,F(xiàn)在也逐漸出現(xiàn)了做gpu虛擬化的公司,為了跟上AI時(shí)代的腳步,云計(jì)算行業(yè)還是有很多工作要做。
云計(jì)算和基礎(chǔ)架構(gòu)方向其實(shí)可以當(dāng)成同一個(gè)方向,因?yàn)樽龌A(chǔ)架構(gòu)的基本就是在做云平臺(tái),在管理公司的機(jī)器資源,和云計(jì)算密不可分。
6. 大數(shù)據(jù)
大數(shù)據(jù)一般服務(wù)于內(nèi)部,所以技術(shù)棧自成一派,同時(shí)大數(shù)據(jù)平臺(tái)也開(kāi)始火熱,基于大數(shù)據(jù)的廣告投放,精準(zhǔn)銷售,用戶畫(huà)像和個(gè)性化推送等應(yīng)用現(xiàn)在也已經(jīng)非常成熟。
大數(shù)據(jù)依然火熱,在AI時(shí)代來(lái)臨后,大數(shù)據(jù)產(chǎn)業(yè)也會(huì)和AI結(jié)合得更緊密,做大數(shù)據(jù)方向的人也會(huì)逐漸向AI靠攏。
崗位要求:Hadoop技術(shù)棧,一門后端語(yǔ)言或腳本語(yǔ)言,具體要求依據(jù)公司而定。熟悉sql語(yǔ)句,熟悉Hadoop組件在Linux環(huán)境下的運(yùn)維操作,還要懂得shell腳本,以及數(shù)據(jù)分析的技能。
現(xiàn)在越來(lái)越多的崗位還需要熟練使用flink,spark和storm等等工具,需要有很強(qiáng)的實(shí)戰(zhàn)能力。
7. 算法和AI
算法和AI無(wú)疑是今年最火熱的方向,因?yàn)锳I和算法崗位往往能給出超過(guò)研發(fā)崗位一大截的薪資待遇。
近幾年越來(lái)越多的AI科技公司進(jìn)入人們的視野,商湯,F(xiàn)ace++,優(yōu)圖等等獨(dú)角獸和新晉公司不斷地進(jìn)行融資和業(yè)務(wù)擴(kuò)展,讓人們感覺(jué)AI落地離現(xiàn)實(shí)越來(lái)越近了。
同時(shí)這些公司也不惜重金招聘優(yōu)秀人才,特別是一些重點(diǎn)院校的博士碩士更成為這些公司的首選目標(biāo)。
崗位要求:非常高,首先要求學(xué)歷和院校,其次要求在算法和AI方向有所研究和建樹(shù),對(duì)于競(jìng)賽,論文非??粗?。大公司的AI崗位往往最后競(jìng)爭(zhēng)的人都是985或者海外院校的碩博。
算法方向其實(shí)也可以繼續(xù)細(xì)分,比如NLP自然語(yǔ)言處理方向,CV計(jì)算機(jī)視覺(jué)方向,以及機(jī)器學(xué)習(xí)方向等等。
算法崗位可以說(shuō)是高學(xué)歷研究型人才的最佳選擇。
8. 硬件方向,嵌入式方向、安全方向,無(wú)人車方向
近幾年自研芯片比較熱,并且GPU技術(shù)應(yīng)用火爆,做這個(gè)方向的同學(xué)大有用武之地。
嵌入式的話,主要還是像無(wú)人車這樣方向的部門會(huì)有比較好的前景,當(dāng)然,還有AI智能設(shè)備,比如近年來(lái)興起的智能家居,以及無(wú)人機(jī)方向等等。
安全方向做的人很少,雖然很酷,但是行業(yè)中發(fā)展的好的安全公司都不怎么賺錢,360是少數(shù)能叫出名字的安全公司了,所以這個(gè)方向其實(shí)也非常冷門。
崗位要求:硬件和嵌入式方向必然對(duì)硬件,電路,信號(hào)系統(tǒng)等知識(shí)有所要求,另外一般使用c語(yǔ)言。安全方向則需要對(duì)加密算法,攻防實(shí)戰(zhàn),以及網(wǎng)絡(luò)安全基礎(chǔ)等比較在行。
9. 運(yùn)維開(kāi)發(fā)
虛擬機(jī)和云計(jì)算出現(xiàn)之后,運(yùn)維需要了解虛機(jī)原理,懂Linux內(nèi)核,并且還要寫(xiě)shell自動(dòng)化腳本進(jìn)行運(yùn)維操作。更夸張的是,現(xiàn)在的運(yùn)維還要做開(kāi)發(fā),做devops自動(dòng)化運(yùn)維開(kāi)發(fā)。打造自動(dòng)化運(yùn)維流水線體系。
崗位要求:懂Linux越多越好,最好懂內(nèi)核,Linux命令隨手來(lái),要會(huì)shell腳本,最好會(huì)開(kāi)發(fā)語(yǔ)言,同時(shí)要懂devops,以及云計(jì)算相關(guān)技術(shù)。
10. 軟件測(cè)試和QA
軟件測(cè)試和QA做的事情差不多,其實(shí)游戲測(cè)試也可以包含在其中。軟件測(cè)試一般就是讓測(cè)試同學(xué)寫(xiě)一些代碼去測(cè)試開(kāi)發(fā)同學(xué)的代碼,保證開(kāi)發(fā)同學(xué)代碼的正確性,并且要保證整個(gè)系統(tǒng)的綜合測(cè)試也是正確無(wú)誤的。
崗位要求:軟件測(cè)試要求比其他幾種測(cè)試要高,包括寫(xiě)自動(dòng)化腳本檢測(cè)代碼錯(cuò)誤,要熟悉測(cè)試語(yǔ)言,以及基本測(cè)試流程,同時(shí)有時(shí)候要求測(cè)試同學(xué)自己開(kāi)發(fā)測(cè)試工具,可能會(huì)有開(kāi)發(fā)方向的要求,這種一般稱為測(cè)試開(kāi)發(fā)。
以上就是本次分享的全部?jī)?nèi)容,想學(xué)習(xí)更多Python技巧,歡迎持續(xù)關(guān)注六星源課堂!