相比于其他傳統(tǒng)行業(yè),程序員的確是低投入、高產(chǎn)出的工作。但你千萬不要以為有臺(tái)電腦,就能編程變現(xiàn)。零基礎(chǔ)入行,如果方法不對(duì),一定會(huì)困難重重。拿我自己來說吧,作為一個(gè)入行8年的老程序員,我不是科班生,完全是從零基礎(chǔ)自學(xué)的編程,剛開始的時(shí)候也遇到了很多問題,跌過不少跟頭,好在一路堅(jiān)持了下來,現(xiàn)在也算有所建樹。就給你分享一下我自己學(xué)編程的經(jīng)驗(yàn)吧。
*階段,選擇語言。
你需要用百度谷歌提前上網(wǎng)了解,像C、C++、Java、Javascript,包括時(shí)下比較新潮的Python、Go,都是我們所說的編程語言。這些語言都沒有*的優(yōu)勢,而是各有千秋,側(cè)重于不同的需求。例如新興的 Python 在數(shù)據(jù)分析和機(jī)器學(xué)習(xí)等方面有較好的應(yīng)用,而傳統(tǒng)的Javascript、Java則是用于web前后端的開發(fā),更符合市面上的崗位需求。
在選擇時(shí),你要先給自己想進(jìn)的公司,想做的職位有一個(gè)初步的畫像。我個(gè)人建議,如果是想要從事相關(guān)工作,還是要選擇一個(gè)應(yīng)用范圍和前景都更廣闊的語言作為入職的敲門磚。等到真正工作以后再學(xué)習(xí)其他語言。
第二階段,學(xué)習(xí)編程"思想"
這時(shí)候你可能會(huì)糾結(jié)于是報(bào)個(gè)培訓(xùn)班還是自學(xué)?這要根據(jù)你自己的個(gè)人情況,現(xiàn)在網(wǎng)上編程的課程體系很豐富,像是 B站上有很多教Java的視頻,不懂的地方也可以向百度和谷歌求教。至于培訓(xùn)班,在內(nèi)容上其實(shí)和自學(xué)都沒有多大出入,但可以幫你強(qiáng)制性的固定一個(gè)學(xué)習(xí)時(shí)間,花錢給自己買點(diǎn)兒壓力,要是在時(shí)間和財(cái)力允許的狀況下可以選擇。
而在學(xué)習(xí)的過程中,切忌無腦的照著別人的代碼敲,甚至我都不建議你記筆記。因?yàn)?重要的是能夠?qū)W習(xí)別人的編程的思路,你要時(shí)刻思考這個(gè)功能是怎么實(shí)現(xiàn),為什么要這么實(shí)現(xiàn)。*好能每次看完書或者視頻,用自己的思路把這些東西整理出來,在和視頻中對(duì)比,找出問題,這樣才能把人家精髓的東西消化到自己的思維中。
第三階段,動(dòng)手實(shí)踐。
學(xué)習(xí)時(shí),你要給自己一個(gè)心理暗示,把自己當(dāng)做一名真正的開發(fā)者。因?yàn)榫幊淌且豁?xiàng)必須放在實(shí)踐中檢驗(yàn)的工作。記熟語法和API只是基礎(chǔ),能用他們解決實(shí)際問題才叫編程。在你摸到一些編程思路之后,可以嘗試著脫離課本完全自己實(shí)現(xiàn)功能。自己實(shí)現(xiàn)一些小項(xiàng)目來練手,看別人項(xiàng)目代碼,與別人討論,提升代碼能力。*終的入職報(bào)告上,你所做的項(xiàng)目才是能證明你個(gè)人價(jià)值的經(jīng)驗(yàn)。
第四階段,了解業(yè)務(wù)邏輯。
什么是業(yè)務(wù)邏輯呢?簡單來說,就是客戶給你的框架和要求。
我剛開始工作的時(shí)候,也是一接到業(yè)務(wù)上手就寫代碼,以至于到了中后期會(huì)漏掉客戶要求的點(diǎn),或沒辦法周全客戶的需求。這也是很多新手會(huì)犯的一個(gè)毛病,有經(jīng)驗(yàn)的老手通常就會(huì)告訴你,沒有任何一個(gè)項(xiàng)目十一上來就寫代碼了。
我們需要在動(dòng)手之前,仔細(xì)的研究客戶的框架和要求,理清業(yè)務(wù)邏輯。把編程過程中,要注意的點(diǎn)羅列清楚,可以做成一個(gè)流程圖,再開始動(dòng)手編程。
作為一個(gè)零基礎(chǔ)的初學(xué)者,如果能走過這4個(gè)階段,基本就算是入行了。這些也只是我自己個(gè)人的經(jīng)驗(yàn)總結(jié),希望能夠幫助到大家。