原創|行業資訊|編輯:龔雪|2014-08-11 10:09:00.000|閱讀 612 次
概述:本文內容摘選自知乎,原問題是“非科班出身程序員比較容易缺乏哪些技能?用什么方法彌補比較好?”
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
這是最近知乎上的一個熱門問答,大部分答案都應該是出自科班的程序員,而我是一個典型非正統科班的無證程序員,不能說成功轉型,至少在一線碼農崗位上持續工作了8年,即將邁入第9個年頭,希望可以用自身經歷給樓主參考。
我大學本科文學院廣播電視新聞專業,記者班,純粹的文科,所有課程都是寫作與拍片,沒有任何理工科相關課程,整個大學都是在分析吳忠憲與白巖松的電視節目中度過,作業皆是300字剖析《霸王別姬》、《我猜我猜我猜猜猜猜》、《小莉看世界》。所以是純正得不能再純正的非科班,連理工科一點邊都不沾。
作為一個民科,我并不贊同大部分科班出身同學的答案,轉型并不靠讀書或者補充理論知識,我自己走上程序員這條路的唯一方法,就是無比勤奮地堆砌代碼量。
碼農作為一個工程職業,其核心并不是什么高深的理論或者牛逼的算法,真正重要的是你踩了多少坑,你是否踩過足夠多的坑。除了極少數真正需要頂尖理論知識的算法,絕大部分日常開發,依靠的都是經驗,特別是工程經驗。看一本書,可能你看完就O了,可是你真的懂了?第一高分的答案說看完那些書要2~3年,可是你看完了那些書,就真的會寫程序了?
作為一個非科班的程序員,你要說服別人你寫的程序比科班要好,只有你真的比科班的人寫得好!因為你沒有學位,沒有系統的課程,只有真正從實戰中越過學位這個坎兒,靠的就是你擁有超強的寫代碼的能力。而這種能力,只有靠寫大量的程序和代碼,積累經驗,切實鍛煉出比大部分科班同學更強的coding skill的能力。
我在大學的時候,基本上每天都寫十幾個小時代碼,天天背著筆記本上課,藏在抽屜底下,不上課,就悶頭寫。晚上也寫,有時候一直寫到凌晨2-3點(我自己一個人住學校附近)。一開始很困難,因為沒有理論知識,所以有很多問題不懂。我建議遇到不懂,才查書,才查資料,而不是一開始沒帶著問題就虛無縹緲地看書,這樣效率很低。
曾經我這樣建議過別人寫大量代碼,別人會問,到底寫什么?
寫自己感興趣的東西!你先創造出一個需求,你可以先作為用戶,想一下你需要什么功能,一開始即使是無聊的,即使是已經有的,即使是別人寫爛了的,都可以作為自己的題目,然后圍繞著寫。我推薦你參考一個很成熟的、很經典的軟件(當然不需要很專業或者很難),模仿它做出你能做的所有功能。針對每一種功能,自己去思考一種做法,試圖猜想別人會用什么方法實現。在你做完之后,可以搜索一下網上的資料,進行印證,不斷修正自己的設計思路和代碼架構想法。
這是一種極好的習慣,養成這種猜別人思路的習慣會讓你越來越熟悉各種軟件的架構方式,也越來越熟悉如何去通過軟件的表象猜出它內里的設計思路。我現在的主業是游戲引擎設計,基本上我看了一下游戲引擎的一些表象,已經可以猜出大部分它的設計細節。
而熟悉別人思路還有一個重要的作用,就是把自己的思維模式向正統工程學靠攏。遇到一個問題,如何剖析,如何抽取重點,如何平衡利弊,最后架構解決方案,在軟件工程方面解決這些問題的思路都有一套正統的想法,雖然你沒有經歷過ACM訓練,雖然你沒有上過軟件工程的課,雖然你沒有讀過這方面的著作,但你熟悉了主流軟件世界對這些問題的一貫思路,你也會逐漸變得像他們一樣思考,你會遵循這種思維模式解決問題——肯定比你大學上四年課程,考幾次試,讀十本二十本所謂的好書,要管用得多。
但最后你還是要回歸——在用野路子讓你獲得一般科班程序員都無法媲美的coding skill、以及已經可以熟練運用主流軟件工程思維解決軟件架構問題之后,你需要回歸到正統理論中來,這時候可以讀一些著作,而這些書在網上可以一搜一大把,隨便讀,隨便看。反正這時候你補充理論只會讓你更強,而且你理解得更加透徹,更精準,絕對比上課聽老師照本宣科要更加深入理解。
如果你能夠充分利用4年本科時間,基本上你可以足夠堆砌出幾十萬行代碼,而如果你又不是特別笨,你應該可以秒殺大部分渾渾噩噩玩dota過的計算機本科生。如果你還可以在某一個領域——比如圖形、或者編譯、操作系統之類的,有比較深入的修為,而又稍微比一般人聰明一點,你還可以直接干掉80%的985/211研究生。那些幫老板干活,只是每天上班打卡、作業應付、考試抄襲的人,是遠遠干不過拼死拼活堆砌代碼量的實戰非科班生的。
而最最最后,你需要的是自信,非科班生絕對可以做得比科班生要牛逼。寫個程序而已,有多高深?非得讀個幾年書?你讀書的那會兒,我寫的代碼量絕對比你屌多了,我讀的paper比你多多了。反正說白了,只要你肯不要命的、勤奮地寫代碼,你會出頭的,我保證!
列一個書單,僅供參考:
整理自
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網