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