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