*目前的程序員總數(shù)大概為800萬;而科班出身,即本科或研究生是計算機專業(yè)的程序員大概為40萬。也就是說:外行人不僅能轉(zhuǎn)行做程序員,而且現(xiàn)在從業(yè)的大多數(shù)程序員都并非科班出身??蒲附逃旅鎺Т蠹以敿毩私庖幌隆?/span>
具體能從事的崗位大概有:
一、開發(fā)工程師
包括:前端開發(fā)工程師、后端開發(fā)工程師、算法工程師、移動開發(fā)工程師、軟件開發(fā)工程師、嵌入式開發(fā)工程師等。
不嚴謹?shù)恼f法是:前端是用戶看得見的,比如瀏覽器的圖片、文字;后端是用戶看不見的,比如后臺數(shù)據(jù)。前端開發(fā)工程師是寫代碼給瀏覽器看的。后端開發(fā)工程師是寫代碼給服務(wù)器看的。
算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機制。
一個不恰當?shù)谋确?算法工程師就像是科學家,做完研究之后把研究結(jié)果交付給后端開發(fā)工程師應(yīng)用。這個崗位對數(shù)學和邏輯思維能力有很高的要求。
移動開發(fā)工程師跟前端開發(fā)工程師類似,移動開發(fā)工也稱為手機開發(fā),或叫做移動互聯(lián)網(wǎng)開發(fā)。是指以手機、PDA、UMPC 等便攜終端為基礎(chǔ),進行相應(yīng)的開發(fā)工作。
軟件開發(fā)工程師一般指從事軟件開發(fā)職業(yè)的人。軟件工程師跟一般程序員的分別,在于一個程序員的工作是按照指定的規(guī)格進行編碼,而軟件工程師的工作則需要設(shè)計和規(guī)劃。
嵌入式開發(fā)是指在嵌入式操作系統(tǒng)下進行開發(fā),包括在系統(tǒng)化設(shè)計指導下的硬件和軟件以及綜合研發(fā)。
二、技術(shù)管理者
包括:主管、經(jīng)理、技術(shù)總監(jiān)、CTO等。
技術(shù)管理者都來源于一線,每7~10個技術(shù)人員中有一個技術(shù)管理崗位。
對于一線技術(shù)人員來說,有了3-5年經(jīng)驗之后轉(zhuǎn)管理是一個比較好的契機。
三、架構(gòu)師&復(fù)合開發(fā)工程師
包括:前端架構(gòu)師、后端架構(gòu)師、全棧(前端+后端)、后端+算法等復(fù)合開發(fā)工程師。
架構(gòu)師跟普通開發(fā)工程師的區(qū)別是:開發(fā)工程師做的是一線的工作,而架構(gòu)師更多的情況是作為技術(shù)儲備,類似的角色。他們不是把系統(tǒng)架構(gòu)搭建好之后就沒事了,普通技術(shù)人員解決不了的疑難雜癥都會交給架構(gòu)師解決。
架構(gòu)師比管理者數(shù)量更少,通常5~6技術(shù)崗位中配備一個,小公司里面多由CTO或經(jīng)理兼任,大公司會有專門的架構(gòu)師,底下不帶人。
四、測試開發(fā)工程師
測試:查找軟件缺陷;開發(fā):開發(fā)工具、平臺系統(tǒng)。
厲害的測試開發(fā)工程師既能測試又能開發(fā)。因為互聯(lián)網(wǎng)時代不像從前軟件刻盤賣的時候,需要把產(chǎn)品測試得非常完善才推出,而是可以在線快速修復(fù)bug,迭代版本。
五、運維工程師
負責日常維護,確保整個服務(wù)的高可用性,同時不斷優(yōu)化系統(tǒng)架構(gòu)提升部署效率、優(yōu)化資源利用率提高整體的ROI。
簡單來說就是業(yè)務(wù)長期穩(wěn)定運行(如網(wǎng)站、游戲的服務(wù)器),同時數(shù)據(jù)安全可靠(如用戶名密碼、數(shù)據(jù))。
六、DBA(數(shù)據(jù)庫管理員)
一般意義上的數(shù)據(jù)庫管理員是一個負責管理和維護數(shù)據(jù)庫服務(wù)器的人,數(shù)據(jù)庫管理員負責全面管理和控制數(shù)據(jù)庫系統(tǒng),包括數(shù)據(jù)庫的安裝、監(jiān)控、備份、恢復(fù)等基本工作。
那么前端和后端工程師適不適合新手轉(zhuǎn)行呢?其實,轉(zhuǎn)行初級的前端或后端工程師,你所做的動作是使用一個普通的框架,學大眾化的技術(shù),理論上不需要英語基礎(chǔ)都可以學會的。
如果一個技術(shù),市場上只有少于30%的公司在使用,那么建議不要學習它。因為學完之后當你找工作時,一百家公司里面只有二三十家公司可以選擇,對于轉(zhuǎn)行的人來說很難。而如果學的技術(shù)市場上有30%以上公司都在使用,那么它肯定有中文的文檔和論壇,那么不需要會英文也能學習。
所以,對于想轉(zhuǎn)行做程序員的伙伴來說,可以先轉(zhuǎn)行成為前端工程師,再逐步提高自己的英文水平和學習后端或算法工程師的知識。
科迅教育講師全程面授的高品質(zhì)教學模式,以實踐來驅(qū)動教學,助力學員掌握過硬技能和提升實際運用經(jīng)驗!