{eval=Array;=+count(Array);}
剛開始工作2年,工資多少這都不重要,最重要的是規(guī)劃好自己的職業(yè)發(fā)展路線、階段性目標(biāo),然后超這目標(biāo)前進(jìn)。程序員兩條路,一個(gè)是走向架構(gòu)師、一個(gè)是走向項(xiàng)目管理,關(guān)鍵看自己喜歡哪個(gè)。
拿本人來(lái)說,比較喜歡走技術(shù)路線,做技術(shù)方面的大拿,實(shí)際上大多數(shù)程序員都是喜歡成為別人口中的牛人、大拿。那么怎么變成牛人呢?
我認(rèn)為基礎(chǔ)是非常重要的,現(xiàn)在很多培訓(xùn)機(jī)構(gòu)出來(lái)的工程化程序員,基礎(chǔ)很弱,一問三不知,遇到問題不知道從哪里入手解決,這樣是很難拿到高端技術(shù)崗位的offer的。
我以我的經(jīng)歷來(lái)說下怎么打基礎(chǔ),這里推薦幾本書《深入理解計(jì)算機(jī)操作系統(tǒng)》、《數(shù)據(jù)庫(kù)系統(tǒng)概念》、《SQL權(quán)威指南》、《算法導(dǎo)論》,如果是搞JAVA方面的程序員,必須深入讀《深入理解JAVA虛擬機(jī)》、《JAVA并發(fā)編程實(shí)戰(zhàn)》、《設(shè)計(jì)模式》。這些書都是經(jīng)典書籍,除了能幫助你在日常項(xiàng)目中能更好解決問題外,還能夠應(yīng)付各種技術(shù)面試。所以平時(shí)有事沒事就拿出來(lái)翻翻,加深印象,熟記于心,這些基礎(chǔ)的書籍讀完你可能會(huì)覺得自己原來(lái)了解的知識(shí)真的很少,會(huì)讓你變得越發(fā)謙遜,不在自以為是(我見過好多程序員在做了幾個(gè)項(xiàng)目后覺得自己牛的不可一世,結(jié)果面試的時(shí)候滿頭大汗,啥都答不上來(lái))。
除了計(jì)算機(jī)基礎(chǔ)知識(shí)牢固外,還要時(shí)刻學(xué)習(xí)市面上的各種開源框架,緊跟時(shí)代步伐,這里說的學(xué)習(xí)不是說會(huì)用就可以了,而是要深入框架內(nèi)部,去進(jìn)行源碼學(xué)習(xí),自己去一邊看代碼一邊畫對(duì)象關(guān)系圖。我記得Hibernate剛出來(lái)的時(shí)候風(fēng)靡一時(shí),當(dāng)時(shí)我還在自己封裝JDBC,覺得會(huì)Hibernate很牛叉,于是把hibernate源碼拿來(lái)深讀一邊,理解里面的設(shè)計(jì)思想和各種設(shè)計(jì)模式在框架內(nèi)是如何運(yùn)用的,之后用起Hibernate變得得心應(yīng)手,成為解決項(xiàng)目疑難雜癥的當(dāng)仁不讓的人選。上面是個(gè)例子,當(dāng)然現(xiàn)在首選的ORM框架還是MyBatis,如果你也在從事JAVA方面的研發(fā)工作,MyBaits的源碼你是否已經(jīng)深讀過了呢?
接下來(lái),如果你想找高薪的技術(shù)職位,那么去大廠是最好的途徑,國(guó)內(nèi)一梯隊(duì)的ucloud、百度、ucloud,二梯隊(duì)的頭條、京東、美團(tuán)、滴滴,還有偏傳統(tǒng)行業(yè)的ucloud,都能幫助你完成高薪夢(mèng)想。那么怎么才能躋身進(jìn)入這些公司呢? 在技術(shù)上面,除了精通(一定是精通,源碼級(jí)別的、思想級(jí)別的)上面那些計(jì)算機(jī)知識(shí)和業(yè)界流行框架外,大型分布式的軟件架構(gòu)是必須要掌握的,這里說幾個(gè)方向,一是大型分布式緩存的設(shè)計(jì)和應(yīng)用(radis、tair)、大型分布式數(shù)據(jù)庫(kù)的設(shè)計(jì)和應(yīng)用(cobar,tddl)、大型分布式消息中間件(Kafka、RabbitMQ),為什么我這里要強(qiáng)調(diào)“設(shè)計(jì)”?就是你需要具備獨(dú)立設(shè)計(jì)類似上述中間件的能力,而不僅僅是會(huì)應(yīng)用。所以這時(shí)候你會(huì)發(fā)現(xiàn)你之前所學(xué)的基本功有了用武之地,你之前熟讀各種框架的源碼,深入理解設(shè)計(jì)思想和設(shè)計(jì)模式,你能在各個(gè)環(huán)境很快找到問題的根本點(diǎn)、比如設(shè)計(jì)中的性能的瓶頸在哪里、failover機(jī)制怎么設(shè)計(jì)、什么情況下需要進(jìn)行冪等控制等等、怎么限流控流等等等等。
那很多人會(huì)問我,平時(shí)的項(xiàng)目過程就是簡(jiǎn)單的CRUD,接觸不了這么深的東西,我想說的是,如果你有明確的目標(biāo)和堅(jiān)定的信念,那你一定會(huì)在日常的工作學(xué)習(xí)中去向這個(gè)方向努力,手上的項(xiàng)目沒有,就自己搭項(xiàng)目,在自己的電腦上搭建分布式環(huán)境,我之前就是在自己的(高端)筆記本中裝了5個(gè)虛擬機(jī),自己玩各種分布式應(yīng)用和架構(gòu),先把思想和原理弄通弄熟,在找機(jī)會(huì)去實(shí)踐。如果當(dāng)前的公司沒有實(shí)踐的環(huán)境,就說明你在當(dāng)前的公司已經(jīng)遇到發(fā)展瓶頸,必須去選擇能讓你實(shí)踐夢(mèng)想的公司,可能你不能一步就跳進(jìn)BAT,但是憑借你自己的基礎(chǔ)和實(shí)例已經(jīng)很容易找到能讓你展示才華的公司,然后再借助實(shí)際的大型項(xiàng)目經(jīng)歷,往你的終極目標(biāo)邁進(jìn)。
最后說下,現(xiàn)在是dt時(shí)代和正在邁向人工智能時(shí)代,大數(shù)據(jù)軟件架構(gòu)師是非常珍貴的,大數(shù)據(jù)方面,現(xiàn)在業(yè)界的開源框架,比如Hadoop體系、Spark體系、Storm等等,無(wú)一不是以大型分布式軟件架構(gòu)為思想搭建的,你為此都準(zhǔn)備好了么?
如果你現(xiàn)在只是剛剛工作的兩年的程序員,除了CRUD外,你還掌握了什么技能?如果你是一個(gè)有夢(mèng)想和激情的程序員,不要為眼前的每月5000塊所沮喪,堅(jiān)持學(xué)習(xí),堅(jiān)持沉淀,月薪5萬(wàn)不是天方夜譚。
1:選擇一個(gè)方向,嵌入式?web?移動(dòng)互聯(lián)網(wǎng)?
2:努力提高自己的專業(yè)技能,一定要有深度,學(xué)習(xí)一些語(yǔ)言之外的東西,比如服務(wù)器運(yùn)維,數(shù)據(jù)庫(kù),前端。
3:盡可能的不要長(zhǎng)時(shí)間呆在外包公司,快餐式的開發(fā)對(duì)技能幫助不大
4:多和別人學(xué)習(xí)、溝通,學(xué)習(xí)別人的工作經(jīng)驗(yàn)
0
回答0
回答0
回答0
回答10
回答4
回答9
回答0
回答1
回答5
回答