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