對(duì)于程序員的成長(zhǎng),我們一般可以分為三個(gè)大的階段,一是初級(jí)(0到3年);二是中級(jí)(3到5年);三是高級(jí)(5年以上)。這其中不僅僅需要的是時(shí)間的錘煉,還有技術(shù)上的提升。
階段一:初級(jí)階段。
這個(gè)階段的學(xué)習(xí)可能是科班出身的學(xué)生在本碩博階段完成的,也可能是半路出家的學(xué)生在線下IT教育培訓(xùn)機(jī)構(gòu)中和線上教育平臺(tái)上完成的。這部分教育內(nèi)容是基礎(chǔ)性的,體系也比較成熟。
技能:我們知道如何團(tuán)隊(duì)協(xié)作、如何使用項(xiàng)目管理工具、項(xiàng)目版本如何控制、我們寫(xiě)的代碼如何測(cè)試如何在線上運(yùn)行等等,積累了一定的開(kāi)發(fā)經(jīng)驗(yàn),也對(duì)代碼有了一定深入的認(rèn)識(shí),是一個(gè)比較純粹的Coder的階段。
心態(tài):在學(xué)習(xí)過(guò)程中,和老師做過(guò)一些小項(xiàng)目,自認(rèn)為自己很牛,那個(gè)時(shí)期的我們,壓根不知道自己不知道,還以為自己懂很多,現(xiàn)在想起自己以前就好笑,那個(gè)時(shí)候還算不上程序員,頂多只能算是個(gè)業(yè)余編程愛(ài)好者。
表現(xiàn):假自信、過(guò)度承諾、滿口我能行沒(méi)問(wèn)題、看不起其他程序員….。
階段二:中級(jí)階段。
這個(gè)階段一般是程序員開(kāi)始工作之后,他們需要在不同的項(xiàng)目中掌握進(jìn)階技能,并逐漸確立自己的專長(zhǎng),程序員在職級(jí)上升的過(guò)程中要掌握一些專業(yè)技能,程序員會(huì)有意識(shí)的去學(xué)習(xí)。
技能:這個(gè)階段其實(shí)更像一個(gè)分水嶺,些人在三年里,除了完成工作,在空余時(shí)間基本不會(huì)研究別的東西,這些人永遠(yuǎn)就是個(gè)Coder,年紀(jì)大一些勢(shì)必被更年輕的人給頂替;有些人在三年里,除了寫(xiě)代碼之外,還熱衷于研究各種技術(shù)實(shí)現(xiàn)細(xì)節(jié)、看了N多好書(shū)、寫(xiě)一些博客、在Github上分享技術(shù),這些人在五年后必然具備在技術(shù)上獨(dú)當(dāng)一面的能力并且清楚自己未來(lái)的發(fā)展方向,從一個(gè)Coder逐步走向系統(tǒng)分析師或是架構(gòu)師,成為項(xiàng)目組中不可或缺的人物。
心態(tài):工作三四年后,自己的技能逐步提高,成為了項(xiàng)目組的技術(shù)大拿,這時(shí)候也很自信,知道自己能夠解決遇到的一般問(wèn)題,這時(shí)候就是中級(jí)程序員階段了。
表現(xiàn):自信、比較客觀、真正承諾、有點(diǎn)自我…
階段三:高級(jí)階段
在這個(gè)階段一些程序員脫穎而出,開(kāi)始帶團(tuán)隊(duì)的階段。這個(gè)時(shí)候程序員需要的是一些宏觀層面的學(xué)習(xí)內(nèi)容。
技能:有些人必然成長(zhǎng)為一名對(duì)行業(yè)有著深入認(rèn)識(shí)、對(duì)技術(shù)有著深入認(rèn)識(shí)、能從零開(kāi)始對(duì)一個(gè)產(chǎn)品進(jìn)行分析的程序員,這樣的人在公司基本擔(dān)任的都是CTO、技術(shù)專家、首席架構(gòu)師等非常關(guān)鍵的職位。
心態(tài):工作多年后,隨著自己知識(shí)的深度和廣度的提高,越學(xué)發(fā)現(xiàn)越不懂,有時(shí)好覺(jué)得自己以前真是浪費(fèi)了太多時(shí)間。雖然覺(jué)得自己還有很多需要提高,但是對(duì)工作中遇到的問(wèn)題基本沒(méi)有解決不了的,這個(gè)時(shí)候很多知識(shí)都自成體系,解決問(wèn)題也有了自己的潛意識(shí),有時(shí)連自己都不知道自己知道,這時(shí)候?qū)儆诟呒?jí)程序員級(jí)別了。
表現(xiàn):開(kāi)放、主動(dòng)、好學(xué)、謙虛…