去年,美國的程序員問答網站Stack Overflow曾向用戶提問,他們是否有計算機科學專業的學位。在這項“2015年開發者調查”中,26086名程序員中有近一半回答稱,他們沒有計算機科學學位。
這是否意味著,不需要大學學位就可以成為程序員?簡而言之,答案是肯定的。不過,對非專業出身的人士來說,程序員之路要相對困難。
人力資源機構Robert Half Technology高級總監約翰·里德(John Reed)表示,許多大型科技公司用大學學歷作為門檻來過濾求職者簡歷。例如,谷歌(微博)不會面試沒有計算機科學學位的入門級工程師。
如果情況如此,那么為何許多程序員沒有計算機科學學位?一個重要的外部因素是大學學費正日益高漲。例如在美國,較便宜的公立兩年制大學每年學費平均為11438美元,而較昂貴的選擇,即私立的非盈利四年制大學每年學費平均為43921美元。這些費用中還沒有包括生活費。
其他因素也在造成影響。一方面,速成的在線課程和培訓班正在興起。你可以在實踐中學習,而不必等待幾年時間才能畢業。
因此,如果你沒有計算機學位,同時又決定成為程序員,那么以下是幾點建議:
1.不要閉門造車
請找個地方,與其他程序員一同工作,而無論你們是否從事同一個項目。
獨自一人編程所面臨的嚴重挑戰在于,關于你不清楚的細節,你將毫無頭緒。只有將自己的代碼與他人的代碼進行比較,你才能知道哪里出了問題。
IEEE的巴里·博姆(Barry Boehm)的一項研究顯示,無論是否采用結對編程模式,與他人一同進行代碼評審相對于獨立工作將可以多發現60%的代碼錯誤。
2.良好的關系網比出挑的編程能力更重要
閉門造車還會帶來一個壞處,這就是你無法在職業生涯初期建立自己的關系網。這樣的關系網能在日后帶來巨大幫助。
通過這樣的關系,其他程序員可以評估你的技能,幫你逐步提高自己的能力。
3.自學大學計算機專業的內容
這種學習的好處在于,如果你掌握了6到8本書的基本知識,那么就會成為一名基本功扎實的程序員。推薦的學科包括離散數學的應用、設計模式或J2EE設計模式,以及算法設計等。
如果你參加在線課程或培訓班,那么建議是從頭開始學習,除非你有過一定的編程經驗,或是對技術有著天生的直覺。
自頂向下的模式“將程序員置于應用或框架中,鼓勵他們將自己的知識拼接在其中”。而自底向上的模式則是“從基礎開始,逐步培養能力”。
對入門者來說,自底向上的方式值得推薦,因為這將厘清許多概念。動力節點創新推出國內Java零基礎培訓班,想打好計算機基礎,可以先上基礎班再到就業班。
4.持續練習
無論是否有學位,多參與項目不僅對未來的職業生涯發展很重要,也是幫你積累更多經驗的很好方式。
如果你不打算拿到計算機科學學位,那么這一點尤為重要。這些項目將成為你的主要經歷,可以展示你的能力。一種很好的起步方式是開發移動應用。這使你方便地展示成果,并從用戶那里直接獲得反饋。
如果你考慮開發移動應用,那么建議是學習iOS平臺的Swift或Objective C,Android平臺的Java,以及Windows Phone平臺的C#、VB或JavaScript。
此外,你也可以使用Phonegap和Titanium等技術,開發運行在所有三大平臺上的應用。這些技術基于HTML、CSS和JavaScript,開發的應用可以在各處運行。
想學Java就來動力節點,口口相傳的Java黃埔軍校,實現你的高薪夢!