現狀
每次我曾經的同學打電話向我詢問程序員這個行業怎么樣,我都會很耐心的講上一個半小時,談人生談理想,并判斷他是否適合程序員這個行業。
每次看到群里有人問程序員好不好當啊,覺得有眼緣我就會加上好友,連麥討論一下。
我為什么會這么做呢,因為目前市面上所存在的QQ交流群,一大半都是培訓機構的人建立的,還有小部分群,只要你進群問,XXX學了好不好找工作啊,全部都是勸退:不好!轉行吧!
這往往就會改變一個人的想法,也就改變了一個人的人生,有技術的沒空引導新人,沒技術的只會吹水誤導新人。
所以,我將我之前每次都會進行的長篇大論,總結成為本文,供各位想要入行或者轉行的大學生或者其他職業的你們借鑒。
是否適合程序員
首先,判斷自己是否適合程序員這個職業。
在校大學生&應屆畢業生
1.是否計算機相關專業?
如果不是計算機相關專業,判斷自己是否會適合程序員或者計算機工作的學習。例如:打字速度,不會厭倦電腦,獨立鉆研的能力。
2.是否在學習C語言等計算機課程還算得心應手?
數學和英語能力,以及計算機基礎學的是否扎實,都決定了以后你能達到的高度上限,如果你學的并不扎實,不用擔心,你只是會比別人慢一點到達同樣高度而已,只要努力學習。
3.是否對著程序員這行或者計算機語言有著濃厚的興趣?
我個人看法,學習能力是一方面,在勤能補拙的基礎上,往往興趣卻是能支持你在程序員道路上越走越長的核心。
社會人士&其他職業
1.是否是發自內心的學習?
不是單純的因為程序員行業工資高,而是想來學一門技術的。單純把程序員當成掙錢的工具,會限制你以后能到達的高度。怎么限制?可能沒有興趣兩年以后就轉行了這種程度。
2.是否適合程序員行業?
掙錢的行業很多,不只程序員,程序員大多996模式,自己是否適應長時間在電腦前工作?
3.是否有著改變人生的想法?
往往社會人員進行轉行時要比應屆畢業生有著更大決心,否則你不會在這條路上走太遠,你需要比大學生更有耐心和毅力進行學習。
程序員需要謙虛、好學、內斂、成熟的人,因為不僅需要不斷的學習,還需要人際交流、靈活變通、獨立解決問題、主觀意識。你才可以達到一般程序猿到達不了的高度。
高工資是需要不斷學習的,而不是空口白話就有的高工資
建立個人目標
那么在判斷自己適合程序員行業以后,我們就來指定一個目標吧~沒有目標的程序員和咸魚有什么區別?
我為什么當程序員呢,我想做一個自己的應用,很不巧,我也是一名非科班出身的人,經過自己的努力學習,成為了一名程序員。怎么樣的學習呢,跟高考強度一樣的歷練吧~
個人目標:
首先按照三月內、半年內、1年、2年、3年、5年指定人生規劃。
例如:本人在三月內要進行XX語言的學習,半年內讀什么書、1年內做到XX級別的開發。
個人規劃一定要切合實際,要需要一定的努力才能實現。
個人目標可以是車子,房子,票子。一定是要循序漸進達到的目標,規劃則是實現目標的過程。
做不做的到是一回事,敢不敢想又是另一回事。這么說吧,去上海工作的事情,就是我上學想都不敢想的事。現在我隨時都可以去上海找工作。
學習途徑
規劃了個人目標以后,我們可以開始程序員的學習了。那么怎么進行學習呢,我是一個小白,我怎么知道該學習什么呢。找個人帶帶嗎?
自學:
自學往往需要一個良好的學習環境,以及高效的學習方法,往往需要大量的時間成本,大量時間成本最適合大三大四的學生,在最后的兩年進行自學,完全可以達到畢業后尋找工作的程度。
但是你要做到不被寢室的人干擾哦。
自學大概需要2年的時間成本,社會人士0基礎可能需要更長。請慎重考慮
找人帶:
相對社會轉業人士,往往迫切的需要投入程序員行業開始賺錢。那么怎么辦呢。這時候就體現你的人脈了。
首先尋找自己人脈中的程序員,看看有沒有更好的推薦以及實習機會。找到人帶,往往是最好的途徑,可由于目前互聯網經濟快速發展,程序員并沒有空帶實習。大公司都喜歡培養985 211的迎接畢業生。
最快的方法是快速入門一門語言,然后找一個實習工作,看看人脈當中有沒有這個機會。
如果沒有,而且又想轉行的,只能考慮下面這個了。
培訓:
個人看法: 很多人都覺培訓機構坑,是因為有些人對計算機一竅不通就一時熱血報了培訓班,聽說高工資,報名了以后交了錢也學不會,這就是培訓機構被罵的原因。
如果你覺得自己的確適合程序員這個行業,而且還有著刻苦學習,克服困難的毅力,那我還是可以同意你來培訓機構進行學習。
如果沒有,你還是選擇別的行業吧,程序員真的不是隨便培訓一下,你就很厲害了。
在培訓機構,還有一個重點就是,你不能被老師灌輸思維,一定一定一定要有自己的理解和體會,不然出來也是廢物。
培訓機構的學習氛圍還是不錯的,大家都是交錢過來學習的,而不會在那里玩游戲。玩游戲注定被淘汰。
培訓機構也有好壞,這里為了避免不必要的討論,就不做多做描述了。
如何構建適合自己的學習體系
好吧好吧,不管怎么樣,你都已經選擇程序員這條路了,那么我就告訴你,我是怎么學習的吧。
學習方向
首先,程序員這個行業分為很多子行業,每個子行業都是一門程序語言。大致列一下主流語言和行業,大家可以評論補充下:
》
前端:HTML5
后端:Java、PHP
移動開發: 安卓(Java) iOS(Objective-C)
游戲開發:Unity3D
云計算:Spark
語言有很多,這里只列舉了我所知道的。
選擇一門自己喜歡的工作語言進行學習,當你學習一門語言,熟悉之后,建議學習第二門語言,成為復合型人才。
當然,剛開始只是開發工程師,在你技術成熟以后,你可以考慮架構師、技術經理、產品經理進行轉型。
學習環境&設備
那么確定了學習方向,我們就準備一下學習環境吧。
首先一定要有一臺趁手的電腦,工欲善其事必先利其器。
如果經濟允許的話,個人推薦使用Mac電腦進行開發,但是這樣成本可能會有點高哦,所以經濟不允許就使用一臺高配置的PC筆記本電腦。
配置只會影響到你的學習速度,以及學習體驗,越好的筆記本在你不打游戲的前提下,只會提高你的工作效率以及學習效率。
系統的話,推薦裝一個Linux系統,優雅的開發都是在基于Linux系統下的。別問我為什么,我只挺Shell.
設備有了,就準備一個適合學習的環境吧,如果你是大學生,那么請你不要受同宿舍打游戲的干擾,適當的遠離他們,你的人生就越完整。
不要等到25歲了和人家20歲程序員交談時:我20歲的時候還和寢室的人一起打游戲呢。
如果你在家自學的話,那么你需要提前和家里人說清楚,你需要什么樣的環境,多久時間,不然一直被嫌棄,你反而會失去學習的動力,因為你在家里算閑人。
如果你在培訓機構,那么請你勇奪第一,你在培訓機構都當不了第一的話,那么你注定會被淘汰。做不做到是一回事,想都不敢想,你就輸了。
自己去尋找高質量的交流群。
重點:在確定了自己的路線后,不要被他人的風言風語所影響,努力學習,讓那些不以為然的吹水貨們刮目相看,實力是證明自己的最好方法
學習方法
那么,學習環境有了,本文的重點來了,學習方法,是一個很重要的事。
程序員這個行業,有很多前人巨人鋪路,網上有很多的資源,可是大多數人卻不以為然,覺得網上沒東西,沒干貨,是因為學習方法不對。
首先我要把我在網上看到好的方法,分享給大家~在這里要感謝一下Keegan小鋼的文章,教會了我如何學習,下列方法結合了本人體會總結。
學習方法:
1.學習力
學習力不同于學習能力,而是將知識資源轉換為知識儲備的能力,你看了多少書、文章,這是你的知識總量(閱讀量),但不是你擁有的。你能夠講出來的知識,就是你所擁有的。
2.目標學習法
學習一定要找到難度適中,需要一定時間學習才能理解的知識。而且以后能用的上。
從遇到的問題出發,從能實踐的領域出發去找適合的認知材料。
不要一上來就閱讀數據結構、算法導論這種圣經類的書籍,而是一步一步來。
3.快速學習法
當我遇到一個自己不會的知識點時,我會進行百度,進行泛讀,充分結合各個大神的文章,進行理解,重點是自己個人的理解。做筆記。辯證的看待每個人的文章,然后提煉到自己的筆記里。
遇到難點時,我會詢問列表里的大神,是否在工作中也是這個做法。得到答案。
整理以后,可以用自己的話描述出這些知識點。
在講的過程中,就會發現自己的話有瑕疵,就會去尋找正確的說法,不斷修正自己。
4.輸出倒逼輸入
如何提高鞏固自己的實力,也是本人最喜歡的一個學習方法,在整理自己的筆記之后,嘗試把自己的筆記轉成文章輸出出來,放在博客,簡書或者CSDN等技術論壇上。
在輸出的同時,在追求完美的同時,就會發現自己的不足,搜羅各種知識點,結合自己的理解。
最后變成自己的輸出文章。這就是輸出倒逼輸入。完美的文章逼著自己學習更多的知識。
5.快捷鍵&筆記
那么高效的開發,為什么推薦Mac呢,因為快捷鍵太方便了,我會將常用的終端,文本編輯器設置快捷鍵,快速調用。
關于筆記,我本人會開啟三個筆記窗口,使用的是Omni outliner.
1.自學筆記,該筆記針對并記錄在書中的問題,以及書中重點。
2.視頻筆記+學習日志,該筆記針對每天的學習中遇到的問題,以及在各個視頻當中汲取的知識點的筆記。
3.輸出筆記,例如:全棧工程師開發入門筆記,該筆記按照文章輸出規范整理,每一個知識點,都可以成為一篇文章輸出,不整理好不寫入筆記,這就是我的財富。一定要漂漂亮亮的。
Github & 個人博客
這個東西一定要有吧,不僅是個人經驗的體現,也是一個提高自己的途徑。
學習工具
學習工具呢,因為本人是Mac系統,所以就先在這里說一下概念,以后有好的軟件會更新。
學習工具的概念呢,就是電腦中所有利于提高你開發效率和學習效率的都是學習工具,不利的都可以卸載掉。做一個成熟的程序員~
學習工具每個人都是不同的,都需要自己去尋找合適自己的,例如學習前端時,大家都推薦sublime text3,但是我自己會去尋找例如Atom、VSCode、PHPStorm的工具,每個都配置一遍,在配置的過程中又會涉及到brew、curl、wget等知識點,根據百度這些關鍵詞,我又會學到不少東西。
總之就是學習成本、時間成本的相互調配,請選擇適合自己的工具和學習方法很重要。
開始學習
在這里,并不是抵制玩游戲,我也玩游戲,但是我勸你在有穩定的工作實力之前,卸載掉你電腦上的游戲,手機上的游戲,QQ別上了,微信別上了,沒什么用,好好學習,你的人生就更加完整。
當你學會了學習方法后,你會覺得東西學不完。
如果你沒有東西學不完的想法,說明你還沒有找到合適學習方法哦。或者說,你不適合做程序員。
區塊鏈理解嗎,大數據是什么,人工智能怎么做,機器學習呢?不學習會被淘汰哦~
余生,請君不留余力的學習。
-
程序員
+關注
關注
4文章
953瀏覽量
29833
發布評論請先 登錄
相關推薦
評論