我兒子也是軟體專業,目前大二,透過認真地思索參加培訓班來學習軟體技術這件事情,不推薦參加培訓班,而應主動自學。
首先明確一點,我認為,對於軟體專業的學生,如果還需要參加培訓班才能找到工作,那麼我可以肯定這個學生的四年時光是被浪費了,不應該這樣的。不要把責任全推到外部環境上,哪怕學校再差,周圍人再怎麼不愛學習,只要真的認真學了,斷不至於慘到不參加培訓班就找不到工作的地步。
程式設計是一種技能,軟體開發實際上分為兩個大的階段:
1 問題定義、分析與設計階段,這是最需要智商、創造力和經驗的階段,真正的開發高手,就是在這一階段體現出遠超普通人的水平,而在這一階段所需要的能力,對不起,培訓班教不出來,也無法速成,只能靠人自己的努力,慢慢地培養和增強。
2 使用各種技術與工具,將第一階段的成果實現出來。這一塊就比較機械了,多數人經過訓練都能掌握,培訓班在這一塊的效率是很高效的,它們多半能在較短的時間內,教會學員特定程式設計一種使用特定工具去解決各種問題的能力,好的培訓班對於培養那些並不需要太多創造力的初級程式設計師(即我們所說的“搬磚”程式設計師)是有效的,它們設計了一整套比較完整的、符合當下業界實際需求的培訓體系統,並且有意無意地也應用了一些教育學的研究成果,它們其實是在傳授一些開發模式和程式設計套路,它們的目的,就是在比較短的時間內,將這些開發模式與套路灌入學生大腦,讓其能機械式地反應就行了。所以,培訓班的大問題,就是它只教授工具與技術的具體使用方法,介紹一些典型的套路,但卻無法或很難提升學員的分析問題和解決問題的能力。
其實各種學習資源,網際網路上有好多,比如國內外名校的MOOC,都是可以免費去學的,還有諸如知乎、StackOverflow、簡書等網站,上面都沉澱了大量的他人的知識與經驗,你還可以透過網際網路直接向特定領域的牛人請教,比如知乎、微博都開通了付費問答,花些錢,就能得到那些在特定領域經驗豐富的人的建議,向這些“老師”請教的機會,以前是不存在的。
有這麼豐富的資源,為什麼不去主動利用這些資源來提升自學的效率呢?
所以,新的時代,我們學習觀點要改變:
只要你能善用網際網路上的各種資源,你會發現,透過自學入門並不會比透過培訓班入門慢多少,而你在這個過程中所培養出來的自學技能,將讓你受益終身。
我兒子也是軟體專業,目前大二,透過認真地思索參加培訓班來學習軟體技術這件事情,不推薦參加培訓班,而應主動自學。
首先明確一點,我認為,對於軟體專業的學生,如果還需要參加培訓班才能找到工作,那麼我可以肯定這個學生的四年時光是被浪費了,不應該這樣的。不要把責任全推到外部環境上,哪怕學校再差,周圍人再怎麼不愛學習,只要真的認真學了,斷不至於慘到不參加培訓班就找不到工作的地步。
程式設計是一種技能,軟體開發實際上分為兩個大的階段:
1 問題定義、分析與設計階段,這是最需要智商、創造力和經驗的階段,真正的開發高手,就是在這一階段體現出遠超普通人的水平,而在這一階段所需要的能力,對不起,培訓班教不出來,也無法速成,只能靠人自己的努力,慢慢地培養和增強。
2 使用各種技術與工具,將第一階段的成果實現出來。這一塊就比較機械了,多數人經過訓練都能掌握,培訓班在這一塊的效率是很高效的,它們多半能在較短的時間內,教會學員特定程式設計一種使用特定工具去解決各種問題的能力,好的培訓班對於培養那些並不需要太多創造力的初級程式設計師(即我們所說的“搬磚”程式設計師)是有效的,它們設計了一整套比較完整的、符合當下業界實際需求的培訓體系統,並且有意無意地也應用了一些教育學的研究成果,它們其實是在傳授一些開發模式和程式設計套路,它們的目的,就是在比較短的時間內,將這些開發模式與套路灌入學生大腦,讓其能機械式地反應就行了。所以,培訓班的大問題,就是它只教授工具與技術的具體使用方法,介紹一些典型的套路,但卻無法或很難提升學員的分析問題和解決問題的能力。
其實各種學習資源,網際網路上有好多,比如國內外名校的MOOC,都是可以免費去學的,還有諸如知乎、StackOverflow、簡書等網站,上面都沉澱了大量的他人的知識與經驗,你還可以透過網際網路直接向特定領域的牛人請教,比如知乎、微博都開通了付費問答,花些錢,就能得到那些在特定領域經驗豐富的人的建議,向這些“老師”請教的機會,以前是不存在的。
有這麼豐富的資源,為什麼不去主動利用這些資源來提升自學的效率呢?
所以,新的時代,我們學習觀點要改變:
只要你能善用網際網路上的各種資源,你會發現,透過自學入門並不會比透過培訓班入門慢多少,而你在這個過程中所培養出來的自學技能,將讓你受益終身。