您的位置:首頁>正文

自學成才的程式師與程式設計專業的程式師兩者之間有何差距

其實小編覺得自學程式設計和在大學程式設計專業沒有什麼差別。 事先你並不需要先學好數學英語, 一樣可以敲代碼, 一樣可以成為一個好的程式師。 電腦的數學很多都是非直觀的, 比如說n的平方和n的立方誰增長的快, 快多少?你不學數學分析也能有大致的認識, 不影響你學演算法, 當然建議你能從數學的角度思考, 把這個問題真正的學明白。 演算法和資料結構裡用到的數學知識很少, 多項式和對數就涵蓋99%了。 至於英語, 就算你看原版書, 也不需要認識多少單詞, 一半都是代碼和圖。 如果你能找到大神指點你,

那當然是最好不過了。

學程式設計最重要的是實踐, 就是寫代碼、看別人寫的代碼、再寫代碼, 你看再多的書, 不寫代碼, 你還是不會程式設計。 但是寫代碼也要講究方法循序漸進, 不能剛學了幾天語法, 就想寫個作業系統什麼的,

樹立這種不切實際的目標只會讓你的自信受到嚴重打擊迷失自我。 同時小編推薦一個學C/C++的學習群627819188無論你是大牛還是小白, 是想轉行還是想入行都可以來瞭解一起進步一起學習!群內有很多乾貨和技術分享!

現在說說自學和專業出身, 差距主要體現在那些方面:

職業起點不同: 這是我感覺最明顯的差距, 也是影響最大的一點。 絕大多數公司對於軟體工程師的招聘, 尤其是校園招聘, 還是要卡學歷的。 當然許多崗位像我這樣相關專業的也可以, 但是演算法, 系統底層這樣的hard core, 6年CS的科班訓練是必須的, 即便是Math的本科, 很多還是prefer CS的背景。 而一個人的職業生涯一個很大影響因素就是第一份工作, 在歐美更甚。

技術天花板不同: 如果你一直想走技術路線,

自學出身一般會是: SE -> Senior SE -> Lead SE->Arch -> ?

科班出身:

工業界:SE or Scientist -> Senior SE or Senior Scientist -> Lead SE or Principle Scientist -> Arch or Fellow -> ?

學術:AP -> Assoc Prof -> Prof -> ?(也就是說自學和學術界, 大公司的research基本無緣了)

技術視野不同: 視野是個很玄學的東西, 如果要測量的話, 自己的體會大概就是自學出身很難讀懂CS領域頂會的文章。 這個東西也許大家都還在寫for each的時候是沒什麼卵用的, 但是如果讓你去做Arch,設計一個DSL, 這個東西就很有用了。

電腦基礎知識薄弱: 程式師三大浪漫(編譯原理, 圖形學, 作業系統), 我估計99.99%的程式師只會在OS的課上寫人生唯一一個OS, compiler同理。 自學嘛, 基本上是不會涉及了, 除非工作需要。 拋開圖形學不談, 我實在是認為OS 和 Compiler非常有用。

以上四種差距, 影響力根據個人情況增減。

但是說到最後最重要的還是“自學能力”, 對於程式師這個行業, 學校課程再好不去付出努力提升個人能力你早晚都會被淘汰。 所謂“師傅領進門, 修行在個人”。 一個自學的程式師如果他能不斷對自身解決問題的能力進行不斷的刷新, 自學也可以成為一名牛逼的程式師。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示