??這個(gè)暑假,過(guò)得感覺(jué)非常漫長(zhǎng)。假期里制定了一些學(xué)習(xí)計(jì)劃,看一些書(shū),都在有條不紊的進(jìn)行著。在這期間,幫助一些剛?cè)腴T的小伙伴如何踏入程序員職業(yè)生涯,也和一些老程序員聊聊程序員的職業(yè)規(guī)劃,其實(shí)也不只是針對(duì)程序員,對(duì)剛開(kāi)始學(xué)編程的小伙伴也是一樣的,總的來(lái)說(shuō)心里有一些體會(huì),還是蠻有感觸的。
??有一個(gè)小伙伴小Z問(wèn)我,不知道自己適不適合做程序員,工作了半年,發(fā)現(xiàn)自己獨(dú)立解決問(wèn)題的能力很弱。通過(guò)和他溝通,發(fā)現(xiàn)小Z半年在單位一直處于代碼搬運(yùn)工的角色。
??由于所在單位的代碼質(zhì)量比較好,小Z可以直接將vue桌面端的代碼拷貝過(guò)來(lái)到手機(jī)端,然后也完成了手機(jī)端的開(kāi)發(fā)。當(dāng)時(shí),我覺(jué)得還不錯(cuò),所以問(wèn)了問(wèn)他vue一些知識(shí)。關(guān)于vue的v-if,v-show都不清楚,vuex也不懂,甚至連簡(jiǎn)單的js代碼都不知道什么意思。
??說(shuō)實(shí)話,當(dāng)時(shí)我就非常震驚了。所以,我就問(wèn)他還學(xué)習(xí)了哪些知識(shí)。他學(xué)了java,C++,springboot,echarts,mysql等等。
??對(duì)于一個(gè)程序員剛?cè)肼毎肽陙?lái)說(shuō),其實(shí)學(xué)習(xí)得還不錯(cuò)。但是這一次的遠(yuǎn)程在家的辦公,沒(méi)有使用公司的代碼,也沒(méi)有公司的知識(shí)庫(kù)作為參考,在家獨(dú)立推進(jìn)小例子的原型和小demo。他幾乎一點(diǎn)代碼都寫(xiě)不出來(lái)。這正是他現(xiàn)在苦惱的地方,信心逐漸喪失,工作效率和效果很低,壓力很大。后來(lái),我們聊了很久,總算大概知道出現(xiàn)這個(gè)情況的原因所在。
1、程序員不是代碼的搬運(yùn)工
??程序員的工作不是代碼的搬運(yùn)工,而是一個(gè)有著創(chuàng)造力的工作。小Z在半年的工作,基本只是整天在公司里面拷貝這代碼,而不去了解代碼為什么這么寫(xiě),不去研究這么寫(xiě)的好處,對(duì)于代碼中涉及到不懂的技術(shù),也不去仔細(xì)學(xué)習(xí)。也許你一開(kāi)始還能勉強(qiáng)應(yīng)付工作的事情,但是后期沒(méi)有形成自己的知識(shí)體系,這樣的你很難成為真正的程序員。
2、需要持續(xù)努力,韌性很重要
??小Z,在剛?cè)肼毜谝粋€(gè)月里面,很認(rèn)真。在第一階段的公司內(nèi)部考驗(yàn)中順利通過(guò)(當(dāng)時(shí)另外和小Z一起入職的還有另外一個(gè)小伙伴,而這個(gè)小伙伴沒(méi)有通過(guò)考核,因此這一點(diǎn)的自滿的感覺(jué),讓他低估了程序員這個(gè)工種)。但是后來(lái)的五六個(gè)月的工作中,就開(kāi)始放松自己,不再認(rèn)真了,以后的惰性又出來(lái),真是覺(jué)得有一點(diǎn)可惜。另外碰到代碼的難問(wèn)題,不去仔細(xì)解決,總覺(jué)得公司有高手幫他搞定,所以在后來(lái)的提高很少。從而在這一次遠(yuǎn)程獨(dú)立辦公的時(shí)候,發(fā)現(xiàn)知識(shí)和技術(shù)問(wèn)題越來(lái)越多。在此,從個(gè)人經(jīng)歷來(lái)講,個(gè)人覺(jué)得當(dāng)你選擇程序員這個(gè)職業(yè)方向時(shí),希望你能做好一個(gè)持續(xù)性長(zhǎng)期學(xué)習(xí)的心里準(zhǔn)備。
3、困難多,bug多,心好累
??想必,這個(gè)是新手程序員,經(jīng)常有疑惑和有挫敗感的地方。但是,我想說(shuō)的,對(duì)于老程序員,這種感覺(jué)也是一直存在的,而且甚至于苦惱的感覺(jué)比起新手們,更有過(guò)之而無(wú)不及。所以,心態(tài)平和點(diǎn),因?yàn)檫@個(gè)情況會(huì)伴隨你的整個(gè)職業(yè)生涯。很多時(shí)候職業(yè)信心,不是別人對(duì)你贊譽(yù)而帶來(lái)的,而是你在克服一個(gè)又一個(gè)困難的成就感給與的。而職業(yè)信心這一點(diǎn)非常重要。
4、如何解決碰到的代碼問(wèn)題
??第一點(diǎn),網(wǎng)上資源非常豐富,對(duì)于碰到的常規(guī)問(wèn)題,網(wǎng)上一般都有解決辦法。這時(shí)候大家肯定首先想到的是百度。但是個(gè)人觀點(diǎn),覺(jué)得google更好一些。另外一些技術(shù)網(wǎng)站和有價(jià)值的技術(shù)文檔要記得收藏,一些大牛的博客積累關(guān)注,一些技術(shù)社區(qū),你也可以提出你的問(wèn)題,這里的一些知識(shí)往往更全面更有價(jià)值。
??第二點(diǎn),另外可以尋求身邊的小伙伴幫忙,但是記住,先去嘗試自己解決,拿出你的分析情況和思考點(diǎn),再向別人請(qǐng)教(不要一碰到問(wèn)題就問(wèn)別人,這樣一直打擾別人,也會(huì)影響別人的效率),這樣你在思考分析過(guò)程的技術(shù)點(diǎn)能夠和別人講的知識(shí)形成很好的聯(lián)系。
??第三點(diǎn),多學(xué)習(xí)多看書(shū),尤其基礎(chǔ)性的知識(shí)點(diǎn),書(shū)上都會(huì)有解決辦法。
??第四點(diǎn),涉及到使用一些技術(shù)組件和開(kāi)源的框架,認(rèn)證閱讀別人的源碼和文檔,往往對(duì)解決問(wèn)題幫助很大,另外優(yōu)秀源碼的閱讀,對(duì)于提高你本身的知識(shí)體系幫助非常大。
5、代碼的實(shí)現(xiàn)思路往往來(lái)源于生活
??另外對(duì)于一些功能的代碼實(shí)現(xiàn)手段,不妨在一開(kāi)始沒(méi)有思路的時(shí)候,可以先采用偽代碼方式,和身邊的生活聯(lián)系起來(lái)去思考。
??我曾經(jīng)碰到一個(gè)情況,團(tuán)隊(duì)在做一個(gè)可視化布局的功能(要求畫(huà)布上的節(jié)點(diǎn),動(dòng)態(tài)排列,動(dòng)態(tài)布局,實(shí)現(xiàn)這個(gè)布局算法),一開(kāi)始由于接受任務(wù)的小伙伴對(duì)于可視化組件才剛剛熟悉,讓他實(shí)現(xiàn)布局,他一臉蒙圈,不知道如何下手。
??后來(lái),我就舉了一個(gè)生活的例子,如果,你們?nèi)覝?zhǔn)備坐在一個(gè)方桌周圍吃飯,你先坐下來(lái),這時(shí)候你爸爸來(lái),他該怎么坐?你爸爸坐下來(lái)后,發(fā)現(xiàn)位置太擠,你媽媽等會(huì)也要過(guò)來(lái)坐,怎么辦?這時(shí)候他似乎有點(diǎn)明白了,后來(lái)我追問(wèn),如果全家換成坐在圓桌周圍吃飯呢?這時(shí)候他豁然開(kāi)朗了。
??代碼在解決問(wèn)題的時(shí)候,其實(shí)也是解決生活的問(wèn)題,二者聯(lián)系起來(lái)往往也會(huì)帶來(lái)思路。
6、編碼效率低怎么辦
??很好的IDE的選擇,熟悉你的IDE的快捷鍵,能夠大大提高你的代碼速度。另外對(duì)于重新的代碼工作,選擇一些小工具的使用,或著編寫(xiě)一些小腳本幫自己實(shí)現(xiàn),往往事半功倍。另外多學(xué)習(xí)多練習(xí),熟能生巧。
7、如何提高自己的技術(shù)
??實(shí)戰(zhàn)!實(shí)戰(zhàn)!實(shí)戰(zhàn)!我曾經(jīng)碰到一個(gè)新手程序員,涉及到技術(shù)知識(shí)都知道一些,一些新技術(shù)的干貨很多都有知曉。但是后來(lái)在一起工作之后,才發(fā)現(xiàn)實(shí)戰(zhàn)能力非常弱。為什么呢?后來(lái)才知道,他有一個(gè)非?!昂谩钡牧?xí)慣,記技術(shù)筆記,但是完全是文科生摘錄筆記法,甚至于書(shū)上的練習(xí)代碼,他竟然沒(méi)有在IDE敲過(guò),而是在筆記里摘錄。而且記錄的筆記,東一塊西一塊,沒(méi)有技術(shù)路線。
??所以如何提高技術(shù),選擇幾本很好的書(shū)整理好,向有經(jīng)驗(yàn)小伙伴請(qǐng)教,找到一個(gè)符合自己目前認(rèn)識(shí)水平的技術(shù)路線,這一點(diǎn)非常重要。這個(gè)技術(shù)路線往往一步一步夯實(shí),這樣會(huì)快速重塑你的知識(shí)體系。最后不要忘記還是實(shí)戰(zhàn)。
??最后想說(shuō)的,程序員的工作不是的你生活的全部。閑下來(lái),看看技術(shù)以外的書(shū)往往也很重要。如果一直陷于技術(shù)中,有的時(shí)候往往會(huì)限制你的思維,讓你對(duì)周圍形成陌生感,這樣的生活一點(diǎn)都不美好。
看到這里是不是又有很多感悟了呢~
如果你很想學(xué)會(huì)編程,那么小編推薦我專欄的C語(yǔ)言/C++編程學(xué)習(xí)基地【點(diǎn)擊進(jìn)入】!
都是學(xué)編程小伙伴們,帶你入個(gè)門還是簡(jiǎn)簡(jiǎn)單單啦,一起學(xué)習(xí),一起加油~
還有許多學(xué)習(xí)資料和視頻,相信你會(huì)喜歡的!
涉及:游戲開(kāi)發(fā)、常用軟件開(kāi)發(fā)、編程基礎(chǔ)知識(shí)、課程設(shè)計(jì)、黑客等等......
