什麼纔是程序員的內功心法?

1、讀大學不如上技校?

在大學時代,我一度有個想法,讀一個垃圾大學還不如讀技校!!!並且差點退學,去讀技校……幸好我爸罵了我一頓……html

由於到了大三,除了背會了些基本概念,學校什麼都沒教會。教點java、C++也都是基本語法。java

選修的網頁設計課,報的人趨之若鶩,守着時間點搶名額。到最後,也就是作一個簡單的html頁面,連jquery都沒教會。jquery

這樣的大學真的有用嗎???git

耶魯大學校長:若是一名耶魯畢業生擁有某種很專業的技能,那就是咱們教育的失敗……程序員

我甚是不能理解。github

畢業了,什麼都沒學會,怎麼找工做???準備喝西北風嗎???編程

隨着年齡的增加以及經驗的增長,慢慢能理解這種教育的高深之處。網絡

如今的大學教育實際上是通識教育。所謂通識教育,就是讓你具備往各個方向發展的潛能。而不是帶着你向那個方向發展。架構

因此,在這個基礎上,大學會讓你具備自學JAVA的能力,而不會帶着你從java入門到精通。框架

而大學的願景更爲宏大,他培養的是根據你本身的愛好,可以自學成才的精英,而不是像短時間培訓同樣,單純學會工具的使用。

而這個願景是創建在每位大學生都可以好好學習基礎知識,而且業餘自學某項技能的基礎上的。

「再加把勁,等你上了大學就輕鬆了」

這是高中老師最大的謊話。若是你真的在大學裏,吃喝玩樂,泡妞把妹,爽的不亦樂乎。那畢業時,大機率是要走培訓班路線的。

大學不是技校!這就致使,你不自學就學不到實戰本領,而實戰本領倒是公司招人的評價標準,這也是培訓班能長期活着的根本緣由。

2、基礎知識的用處在哪裏?

任何的理論知識,都是很難短時間內看到價值,尤爲是在你剛入行的時候。

對於剛入門編程的同窗,學的只是諸如語法怎麼寫,IDE怎麼用,諸如此類的基本工具的使用。

這時候的你,根本不可能用到任何的理論知識。

就像扎風箏。初期,你在跟着別人把一個風箏作出來的時候,根本不會考慮扎風箏的基本原理此類的刻板知識。你只知道,我只要跟着別人作,就能作出來。

可是,等你熟練了之後,須要本身設計風箏了,沒辦法仿了。這時候,這些基本原理就用得上了,你就須要知道扎風箏須要遵循怎樣的設計原理,必須遵循怎樣的架構,這個風箏才能飛起來、飛得更高。

代碼也是同樣的,初期學習的時候,都只是仿的過程,用到的網絡請求,也只是人家寫的一句代碼而已,記住就能實現網絡通訊。

可是等你成爲熟練工了之後, 你就須要理解它的內部原理,這時候就須要瞭解網絡請求的機制,TCP UDP的區別,計算機網絡的五層協議。

操做系統、編譯原理有用嗎?

你編程的時候,根本用不到。由於操做系統都是現成的,你根本不可能再修改操做系統,編程原理也同樣,98%的人不可能會接觸到編譯器。

但它的價值在哪呢?

基礎知識對程序員最大的價值是軟件思惟能力的培養和軟件架構意識的潛移默化。

很明顯的區別就是,兩我的同時學一套新框架,基礎紮實的同窗,對網絡協議、操做系統網絡部分處理機制熟悉,能夠學得比對些部分沒有任何瞭解或瞭解不多的同窗,學的快不少,也透徹不少。

通常的框架設計,都是圍繞性能、複用性、高擴展性開發的。

要作到這些,就必須對底層依賴深刻了解,而這些都是中高級程序員必備的技能。

武俠小說中練武講究內外兼修。徒有招式的功夫,沒有任何殺傷力。

而只有內功的例子,就像無崖子傳授虛竹70年內力,卻沒有傳授虛竹招式。致使虛竹空有一身內力,殊不知如何運用。

file

有了內功之後的練武,就像張無忌練乾坤大挪移,人家練了幾十年不成,而他只垂手可得成練到第七層。

file

若是說基礎知識是內功心法,而具體編程技能就是招式祕籍。只記得代碼怎麼寫,不懂原理,甚難成爲高手。而只懂基礎知識,不懂編程,就像虛竹空有內力而不知如何運用。

惟有內外兼修,才能成爲絕世高手。

3、基礎知識在精不在多

因此,基礎知識的學習,在你初級階段是看不到成效的,若是你想要靠學習基礎知識快速的找工做、升職加薪,是不現實的。

若是你還在上學,建議老師上的課儘可能好好上,不要上了四年,逃了四年。而後,業餘自學某個方向的開發課程,自我提高。到校招時,將會很是有競爭力。

分享你們一個開源工程,這裏蒐集了計算機各方向的系列教程,進階、實戰都有,內容很是系統,直接跟着學就行:https://github.com/harvic/CS-Learning-res

這些是在校期間老師所不會教的,恰好作爲補充。在公衆號裏回覆資源下載便可。

對於已經工做的同窗,就不必拿着厚厚的書死啃了,我建議,用到哪塊補哪塊的邏輯來學習。好比你在看網絡通訊的代碼,那你能夠看看大學裏的計算機網絡的書,從宏觀層面瞭解網絡各個層級的功能,以及各類通訊協議的區別。

基礎知識不是包治百病的良藥,但若是你有耐心去學習,可能堅持兩三年後,在你已有的水平上,提高一兩個檔次絕不爲過,升職加薪即是天然而然的事了。

固然,堅持是最難的事,並且仍是兩三年,談何容易。這也是爲何開發崗那麼多,專家崗那麼少的緣由了。

本人全部文章皆爲原創,都與版權保護平臺有合做,著做權歸啓艦全部,未經受權,轉載必究!

相關文章
相關標籤/搜索