一個阿里工作4年java程序員的從業(yè)心得,寫給還在迷茫的朋友

工作第一年,往往是什么都充滿新鮮感,什么都學(xué)習(xí),沖勁十足的一年;WEB行業(yè)知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據(jù)項目的需要來不斷學(xué)習(xí)新東西;所以,很多時候感覺,自己用過的東西真多呀!但是真正深入研究的東西卻不多。面試,是跳槽后第一個需要面對的問題;而且不同公司面試的著重點不同;但是卻有一個共同點:Java基礎(chǔ)是必考的。

工作第一年,可能問你String對象創(chuàng)建的理解,常用的框架是什么等等;

工作第三年,就問你Java內(nèi)存分配機制是什么,類是如何加載的等等;

工作第五年,就問你常用的設(shè)計模式是什么,你在工作中充當(dāng)什么角色,怎么獨立完成一個模塊等等;

可以看出——這是一個典型的程序員的成長過程:

使用Java—->深入理解Java積累經(jīng)驗——>獨立設(shè)計分析能力——>獨當(dāng)一面的多面手!

因此,必須學(xué)習(xí):

歡迎工作一到五年的Java工程師朋友們加入Java技術(shù)交流:585550789

群內(nèi)提供免費的Java架構(gòu)學(xué)習(xí)資料(里面有高可用、高并發(fā)、高性能及分布式、Jvm性能調(diào)優(yōu)、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構(gòu)資料)合理利用自己每一分每一秒的時間來學(xué)習(xí)提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

數(shù)據(jù)庫

最常用的是Oracle了(當(dāng)然銀行項目等需要DB2等),熟練掌握使用存儲過程,觸發(fā)器等;

UML

項目中經(jīng)常要寫文檔,項目經(jīng)理的基本功,程序員走向設(shè)計的基本功;

linux系統(tǒng)

需要掌握常用的linux命令——部署在windows操作系統(tǒng)上的項目很少吧。

其他就不多說了,大家可以補充。

學(xué)習(xí)上,興趣是最大的老師;項目驅(qū)動也是不錯的選擇,總之,不學(xué)習(xí)不行。

第一. 積累行業(yè)背景;

行業(yè)背景非常重要;工作3年后必須確定自己的行業(yè)背景,比如一直從事電信行業(yè),一直從事銀行項目,一直從事ERP行業(yè)等等。

一個程序員不可能是一直寫代碼的,就是寫代碼也要知道業(yè)務(wù)邏輯,滿足什么需求;俗話說隔行如隔山,每個行業(yè)的業(yè)務(wù)都不一樣,甚至差別很大,比如你一直從事流媒體的研究,讓你跳槽到一家銀行項目,完了,一切從頭學(xué)吧,以前的行業(yè)經(jīng)驗都用不上了;而且,一個公司公司招人,就是希望找到那些很容易上手,不需要培訓(xùn)業(yè)務(wù)很久的程序員;頻繁跳槽的朋友,一定要注意這點;

一直在一個行業(yè)呆久了,就可以成為這個行業(yè)的專家;我們可以經(jīng)??吹剑粋€項目組的某個leader,代碼寫的一般,但是卻可以跟客戶流暢的溝通,控制著新需求的提出,bug的修正等等;而客戶也很愿意跟他打交道,因為那些老的項目只有他能維護,他甚至熟悉系統(tǒng)的每一張表結(jié)構(gòu)——-可想在這個行業(yè)呆的時間有多久啦。

第二. 合理的職業(yè)規(guī)劃

什么是職業(yè)規(guī)劃—-就是你短期或者長期的一個職業(yè)計劃!大道理不講,咱簡單點。先問你幾個問題:

a.你工作幾年了,你愿意一直和新入行的新手一樣就是個簡單的程序員嗎?

b. 你愿意一直寫代碼,而不關(guān)心其他嗎?

c. 一個項目的前期需求,設(shè)計,后期部署維護,領(lǐng)導(dǎo)找到你,你說咱搞不定,行嗎?

程序員不是敲代碼的機器。第一年太多東西不懂,你可以一切聽從老大的安排,敲敲代碼,看看數(shù)據(jù)庫,測試自己和別人的代碼;但是第二年,你還是這樣嗎?不可能的,一年的經(jīng)驗?zāi)阃耆梢匀胄辛?,是時候該學(xué)習(xí)怎么進行需求分析,怎么設(shè)計數(shù)據(jù)庫,怎么寫各類文檔,怎么寫更好的代碼?這是高級程序員的要求!

什么是高級程序員?

具有分析設(shè)計能力,能進行技術(shù)攻關(guān),而且具有某行業(yè)深厚背景的程序員!

所有,一個項目立項后,你要積極的參與到前期設(shè)計中,跟老同志們一道思考分析問題,學(xué)習(xí)經(jīng)驗!OK,你這就成長啦!

千萬不要認為程序員就是寫代碼的哦?。?!

而且,通過一個項目的開發(fā),你要能粗略的統(tǒng)計出一個功能的開發(fā)時間;比如一個模塊有20個小功能點,你開發(fā)了80個小時,每個小功能點平均2小時——這時在前期就能評估工作量啦。當(dāng)然每個人的效率和工作質(zhì)量是不同的,因人而異,但是大概的工作量應(yīng)該是可以統(tǒng)計出來的,用于統(tǒng)計一個項目的工作周期;

具備上面的能力,你起碼已經(jīng)是一個項目組的骨干啦!此時,就可以帶領(lǐng)小弟做開發(fā)而不是平凡的一個被帶領(lǐng)者啦。

很多公司的項目骨干和項目經(jīng)理都不是通過招聘的來的,都是培養(yǎng)出來的——-工作2年,思考能力不錯,善于動手,很上道!

OK,此時項目經(jīng)理和公司中層可能就注意到你了,就會給你多分配任務(wù)慢慢的鍛煉你,這時候千萬不要鬧別扭哦(曾遇上這樣一個同事,技術(shù)很好,人也不錯,領(lǐng)導(dǎo)突然給他分配很多任務(wù),他開始是默默承受,后來鬧意見啦!領(lǐng)導(dǎo)找他談話后,他算明白啦!頂過一段時間就基本適應(yīng),可以快速的做完;后來他成了我們那批人中新的項目leader啦),跟帶你的人好好學(xué)習(xí),多勞動,很快就出頭啦!

如果你工作了多年,屬于老鳥了,也要善于帶人,能提攜小弟!因為只有小弟成長了,你身上的擔(dān)子才會輕,項目才會順暢的進行!

而且高級程序員(本科為例)工作四年左右工資就達到一個瓶頸了(一線城市是9K—1.2W),這時候必須“轉(zhuǎn)型”—–高級程序員只是你能力的一部分,系統(tǒng)分析師,架構(gòu)師,技術(shù)主管才是你應(yīng)該告訴別人的職務(wù),薪資才能再次提升。

第三. 關(guān)于跳槽

跳槽,對IT人來說絕對不是個陌生的詞匯,幾乎所有人都身體力行過。首先我要強調(diào)一點,跳槽并沒有壞處,但是頻繁的跳槽就不好了。在工作的前4年,必須跳槽,而且鼓勵跳槽(建議經(jīng)歷2—3家公司);每個公司對技術(shù)的側(cè)重點都不同,對開發(fā)流程控制都不一樣,所需要的技術(shù)性人才自然不一樣;比如外包公司,要的是一個代碼狂人(我很喜歡招做過外包的人,感覺很多在外包公司待過的人做事的效率很高);

小事業(yè)的公司,要的是一個全能型的程序員(能設(shè)計分析,能寫代碼,能部署);大的公司,要的是一個技術(shù)扎實,有潛力的人(英語好,理解能力好,Java基礎(chǔ)扎實);這樣如果你在一家公司呆久了,很可能就模式化,如果一旦離開這家公司,找工作有時候很容易碰壁;多經(jīng)歷兩家公司,對程序員很有益!而且我自己也有感覺,每次找工作都在強制自己學(xué)東西。

喜歡小編輕輕點個關(guān)注哦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容