如果你是一名初學(xué)者,對編程非常感興趣,想成為一名合格的程序員,不妨花幾分鐘時(shí)間來看一下。
從初學(xué)者成長為一名合格的程序員需要一段時(shí)間的磨練,每個(gè)人付出的時(shí)間和做事的效率不同,我不好評判你需要多長時(shí)間才能學(xué)有所成。站在求職的角度,能開發(fā)出實(shí)用的軟件、網(wǎng)站、APP等才叫學(xué)有所成。
一、程序員的發(fā)展方向
計(jì)算機(jī)涉及的知識非常廣泛,不可能在短時(shí)間內(nèi)全部學(xué)完,即使公司的CTO也不可能樣樣精通,初學(xué)者要選定一個(gè)方向,不要想著把客戶端軟件、網(wǎng)站、APP都開發(fā)出來,這在短時(shí)間內(nèi)是不現(xiàn)實(shí)的。相信我,你不是神!
1)Windows開發(fā):
主要是開發(fā)客戶端(PC機(jī)上的軟件),如QQ、迅雷、360等,需要學(xué)習(xí)C/C++、Windows API、操作系統(tǒng)原理、數(shù)據(jù)結(jié)構(gòu)、算法等。
2)游戲開發(fā):
需要你有Windows開發(fā)的基礎(chǔ),再學(xué)習(xí)DirectX圖形編程、Socket通信、游戲服務(wù)器架設(shè)等。
3)Web開發(fā):
也就是做網(wǎng)站,分前端和后臺。后臺主要負(fù)責(zé)服務(wù)器端的編程,需要學(xué)習(xí)Java、PHP、Python等一門Web開發(fā)語言;前端主要負(fù)責(zé)網(wǎng)頁的設(shè)計(jì),需要學(xué)習(xí)HTML、CSS、Java等。隨著互聯(lián)網(wǎng)的崛起,人才需求量大,工資高,很大一部分程序員都在從事Web開發(fā)。
4)底層服務(wù):
NB的程序員都在搞這些,例如編寫一個(gè)線程池為上層提供服務(wù)。工資比普通的程序員高。
5)算法:
也是NB的程序員在搞,一般不注重編程語言,而是側(cè)重解決問題的方法和效率。工資比普通的程序員高。
6)移動(dòng)開發(fā):
包括IOS和Android,你可以開發(fā)APP,也可以開發(fā)游戲,需要學(xué)習(xí)Java(針對Android)、Objective-C(針對IOS)、Swift(針對IOS)等。
7)軟件和硬件結(jié)合:
包括嵌入式和單片機(jī),不僅要會(huì)寫代碼,還要了解硬件,所以入門門檻比較高,知識也比較龐雜,學(xué)習(xí)時(shí)間長。選擇該方向最好有數(shù)字電路、模擬電路和匯編的基礎(chǔ),非常適合電子信息工程專業(yè)的同學(xué)。
這個(gè)方向的同學(xué),大部分去了中興、華為等以生產(chǎn)電子產(chǎn)品為主的公司,工資雖然沒有一般的程序員高,但是還說得過去。不過隨著智能硬件的崛起,這部分工程師的春天或許就要到來了。
8)測試(QA):
一款產(chǎn)品問世需要大量的測試才能投放市場,QA(Quality Assurance,譯為“品質(zhì)保證”)人員就是為程序員把關(guān)的,如果程序員的作品不符合產(chǎn)品需求或者Bug太多,QA有權(quán)駁回,這時(shí)就會(huì)影響程序員的績效。QA不但要能看懂代碼(大概理解什么意思),還要掌握一定的測試技巧,更重要的是心思縝密,有耐心有毅力,女生比例很高。
二、程序員的待遇
IT行業(yè)的待遇比很多行業(yè)要高,程序員尤為突出,剛剛畢業(yè)的大學(xué)生,進(jìn)入百度、騰訊、阿里巴巴等這些大企業(yè),年薪一般在15萬以上,經(jīng)驗(yàn)豐富的可以拿到20多萬,30萬的就是神一樣的存在,有,但是極少。
拿到融資的創(chuàng)業(yè)公司、規(guī)模不大的公司、一些國企等給的待遇也不錯(cuò),年薪也可以超過10萬。
很多小公司,老板一個(gè)人說了算,也沒有融資,待遇一般都不會(huì)高,一個(gè)月幾千塊錢。這樣的公司招人難,進(jìn)入的門檻低,對學(xué)歷的要求也可以忽略,能干點(diǎn)活就行。但是往往是這樣的公司最折磨人,你什么都需要做,漲薪?jīng)]有明文規(guī)定,老板經(jīng)常畫餅,還會(huì)威脅你說完不成任務(wù)就走人。
每個(gè)城市的待遇也不一樣,北京、上海、廣州、杭州這些一線城市都有大公司,待遇最高;成都、大連、西安這些二三線城市的待遇就一般了。