自學編程有幾個很是大的坑,不少人所以走了很多彎路:前端
一、若是你不是計算機、工科專業,不是以編程爲生的大學畢業生,不要去用國內的大學教材來入門,不要去學考驗人性的C/C++、Java、彙編等,這些東西已經不適合你,推薦你去學網頁開發(HTML、CSS、JavaScript)、去用PHP搭建網站、或者學Python(取代VBA來提高辦公效率,替代Excel、PowerBI來作數據分析、可視化)、小程序等,一週可入門,好玩又好學,對工做有幫助,深刻可提高工資,也不排除可轉行;程序員
大學教程講理論比較多,所學的內容只有你在月薪2萬以上纔開始發揮做用。即便月薪2萬之後,也不建議你使用國內的人寫的計算機教程,國內越是名校,學歷越高,就越會用國外寫的教材。而美國學計算機理論以前在高中就有AP課程,而國內絕大可能是計算機零基礎。C/C++、Java不學習半年以上,你是很難開發出一個實用的東西的。用C++寫貪食蛇小遊戲?別搞笑了,你以爲你這遊戲實用嗎?用Java開發安卓?你零基礎學半年,能開發一個App上線嗎?用Java作網站?稍微簡單的JSP已經淘汰了(固然國內有些外包公司還在用JSP)。若是你花半年時間學前端、Python、PHP,不只能夠開發出實用項目,你均可以來接外包、來找工做了,甚至能夠轉行了。(計算機、工科相關專業應該怎麼學技術,這個我之後會詳細說一下,你們就不要在評論裏槓我了哈。)
有些方向不實用,也就是實際開發已經不做爲一個通用的解決方案了,好比JSP、Flash這些;
有些方向在國內用的人會愈來愈少,好比VB、好比 http://ASP.NET;
有些方向沒有前途還會阻礙你的進步,花大量時間折騰沒有意義,好比易語言;
有些方向不適合新手去學,新手學了沒用,哪怕再怎麼流批,好比彙編;
有些技術聽起來頗有前途,可是不適合新手去跟風學,好比Dart,Go,你啥基礎沒有你也學不通。
不可謂很少,可是就是沒有開始實戰起來,這能學會麼?有些人買了一些經典計算機教材(一般比較厚),一啃就是幾個星期,甚至個把月。更可怕的是直接去啃編譯原理、算法導論、計算機系統、網絡編程這些書,不說你啃不啃得下來,你即便學完了你也不知道能夠幹嗎啊!!!
JS直接啃犀牛書,這本書可有1000頁。不少人啃了半天學不下來就說編程好難。你學習方式方法有問題,編程能不難麼?
PHP、Python、前端這些若是你學習兩天到一週都不能上手實際開發一個東西出來(非寫幾行代碼),你就走了不少彎路。
四、大學生千萬不要用考證的方式來學編程;若是學校對二級計算機等級考試有要求,就考Office或Python吧,混過去就好了,不要去參加什麼軟考之類的,浪費你的時間。面試
不少學生視野比較狹窄,他只能接受到學校和身邊的人灌輸給你的知識和觀念,只能瞭解到有限的評價體系,以爲考了這些計算機等級考試和軟考纔算得上是優秀,學編程也每每以這些知識爲目標。這些徹底能夠理解,由於我大學時也考過。
事實上評價一個學生在計算機方面是否真的優秀,一個是你對技術知識的深入理解,這一點你能夠像寫論文同樣多寫寫技術文章,培養本身的研究探索精神;二是你對項目產出能力,你可以證實給本身、給他人看的,項目是很是重要的一個依據。對於一個初學者,該如何輸出本身的東西這裏面有很是多的學問,之後我再整理一下。
學校對於優秀學生的評價體系與企業對於優秀員工的評價體系差別是很是大的,而你我的對於學技能的追求,你本身內心也有一套標準,這三者之間有很大的不一樣。可是不少零基礎想學技能的人卻被要求按照學校的標準與方式來學,怎麼可能學得好?
(固然有些技術方向的證書是能夠考的,好比網絡工程師CCNP、運維工程師RHCE、RHCA,PMP這些行業仍是比較承認的,軟考什麼的就算了)
以項目爲導向的方式來學習,便是符合程序員學技術的方式,又能讓你對學技術欲罷不能。學習技術原本是一件可讓你頗有成就感的事情,若是你學編程一個星期都受挫茫然沒有效果,只能說明你學習方式不對。
國內編程教育思路頗有問題, 編程原本就是一項技能,所謂技能就跟作菜、騎自行車同樣,你學了就能夠實操。可是國內編程教育卻要求你成爲一個有品味的廚師,給你灌輸菜系的知識,告訴你色、香、味、形、器、意、養等作菜的道理,就是不讓你動手作菜。不少資深廚師會告訴你這道理過重要了,廚師不懂這些算個p的廚師,可是你明明想學的是作菜,有些人就說了,你只學作菜,跟進技校有什麼區別?太low了。可是你明明就沒有資格以及不想成爲廚師啊....
若是你想轉型IT,成爲互聯網方向的職場達人,其實方向是有不少不少的,好比若是你對設計有追求,哪怕你沒有繪畫天賦,你仍然能夠學UI、UX;若是你對互聯網產品感興趣,溝通能力比較強,產品經理就比較適合你;若是你自認爲你喜歡研究數據,數據分析就有大量崗位等着你;前端、後端、移動端、測試、運維等等都有大量高薪有前途的崗位。
互聯網(含EE、CS)相關崗位是很是豐富的,編程不僅是會讓你成爲程序員,機會多的是,沒有必要硬着頭皮不切實際去成爲算法工程師、人工智能工程師、大數據工程師這些你已經不具有進入資格的方向。