對於程式設計師的專業出身,一種是科班程式設計師,也就是上了大學的程式設計師,一種是在培訓機構用三五個月學完了技術,然後出來找工作的程式設計師。
對這兩種程式設計師,哪個更容易找工作,外界評判不一。
一種認為是否為計算機相關專業對於程式設計師的影響不大,畢竟編碼是一個實踐性很強的工作,用的技術與語言需要在實際工作中不斷積累,學校裡學的都是偏理論性的知識,對於實際工作意義不大。
另一種認為科班程式設計師和非科班程式設計師即使看似code水平差不多,在初級階段也看不出太大差距。但是一旦進階到中高級,差距就日漸顯現。非科班的程式設計師缺乏底層知識和原理,根基不穩導致他們很難到達程式設計師行業的金字塔尖。
個人認為,更看好科班出身的程式設計師。
現在大學裡計算機專業的課程表,大概有這些:數字電路原理、模擬電子技術、數字邏輯、數值分析、計算機原理、微型計算機技術、計算機系統結構、計算機網絡、高級語言、彙編語言、數據結構、作業系統、資料庫原理、編譯原理、圖形學、人工智慧、計算方法、離散數學、概率統計、線性代數以及算法設計與分析、人機互動、面向對象方法、計算機英語等。
可以看到,在這些課程裡,高數、概率、線代、復變、離散等基礎學科,能塑造學生的邏輯思維能力,也就是如何將現實問題轉化為程序邏輯。如果你以後是從事跟算法、大數據相關的工作,更是需要用到這些複雜的數學運算。如果沒有這些基本功,在擇業上就會比較局限。
如果有認真去學的話,四年下來,一個合格的計算機專業的學生,應該要知道計算機體系是如何一步步構建出來的,每一步的取捨是什麼,內在的邏輯是什麼。
所以科班和培訓機構出來的程式設計師最大區別就在於:科班選手打下的基礎會更好,更能理解計算機的深層邏輯,再學習Java、python、PHP Object-c這些語言的時候會更容易上手。
不得不承認的是,企業在程式設計師招聘時,雖然沒有將計算機相關專業作為門檻,但是在實際招聘中,卻更偏向於科班人才。
除非你有大廠背景,有很強大的項目經驗,否則你很難說服面試官你沒有四年的專業學習,照樣比那些科班畢業生更強。
從長期職業生涯來看,專業是否對口只決定了工作前兩年是否得心應手,之後的發展完全取決於個人的持續學習與努力。
很多非科班程式設計師在工作中落後於科班程式設計師,縱然有專業不對口的原因,但是更多的是由於個人後期學習不夠紮實,缺乏持之以恆的韌勁。
那麼問題來了,你是什麼專業的程式設計師?