一個資深Java程序員從碼農(nóng)到大牛的進(jìn)階之路

在未來,我們享受良好的服務(wù)的同時,也會為別人提供更良好的服務(wù),需要在技能上還是服務(wù)質(zhì)量上的要求會更高更嚴(yán)格。平時要注意提高自己,不要被時代淘汰掉。

在程序界流行著一種默認(rèn)的說法叫“黃金5年”,也就是一個程序員從入職的時候算起,前五年的選擇直接影響著整個職業(yè)生涯中的職業(yè)發(fā)展方向和薪資走向,如何走好這5年,徹底從一個剛?cè)胄械牟锁B蛻變成可以以不變應(yīng)萬變的職業(yè)大牛,這是一個涉及到自身專業(yè)知識儲備和選擇的大難題,那么,這五年里,一個Java程序員如何做才能完成從入行到大牛的晉升之路呢?

參加工作0-1年之間,Java程序員必須要做得事兒

當(dāng)你學(xué)會了Java的基礎(chǔ)知識以后,你還不足以參加工作,你還需要繼續(xù)深造。你必需要學(xué)會Java開發(fā)框架。公司里為了提高開發(fā)的效率,會使用一些Java Web框架。目前比較主流的是SSM框架,即spring、springmvc、mybatis。你需要學(xué)會這三個框架的搭建,并用它們做出一個簡單的增刪改查的Web項目。你可以不理解那些配置都是什么含義,以及為什么要這么做,這些留著后面你去了解。

但你一定要可以快速的利用它們?nèi)齻€搭建出一個Web框架,你可以記錄下你第一次搭建的過程,在搭建的過程中,也可以順便了解一下maven的知識。在你目前這個階段,你只需要在網(wǎng)絡(luò)上了解一下maven基本的使用方法即可,一些高端的用法隨著你工作經(jīng)驗的增加,會逐漸接觸到的。

參加工作1-2年之間,Java程序員必須要做得事兒

這部分時間段的同學(xué),已經(jīng)對Java有了一個更加深入的了解。這一年,你必須對于設(shè)計模式了如指掌,此外,設(shè)計模式并不是你這一年唯一的任務(wù),你還需要看一些關(guān)于代碼編寫優(yōu)化的書。總而言之,這個階段,你的核心任務(wù)就是提高你的代碼能力,要能寫出一手優(yōu)雅的代碼。

另外,在過去2年的工作當(dāng)中,你肯定或多或少接觸過并發(fā)。這個時候,你應(yīng)該去更加深入的了解并發(fā)相關(guān)的知識,與此同時,這個階段你要做的事情還遠(yuǎn)不止如此。這個時候,你應(yīng)該對于你所使用的框架應(yīng)該有了更深入的了解,對于Java的類庫也有了更深入的了解。因此,你需要去看一些JDK中的類的源碼,也包括你所使用的框架的源碼。總而言之,這個階段,你需要做的是深入了解Java底層和Java類庫,也就是JVM和JDK的相關(guān)內(nèi)容。而且還要更深入的去了解你所使用的框架,方式比較推薦看源碼或者看官方文檔。

參加工作3-4年之間,Java程序員必須要做得事兒

這個階段的同學(xué),提升已經(jīng)是很難了,而且這個階段的學(xué)習(xí)往往會比較多樣化。因為在前3年的過程中,你肯定或多或少接觸過一些其它的技術(shù),比如大數(shù)據(jù)、分布式緩存、分布式消息服務(wù)、分布式計算、軟負(fù)載均衡等等。這些技術(shù),你能精通任何一項,都將是你未來面試時巨大的優(yōu)勢,因此如果你對某一項技術(shù)感興趣的話,這個時候可以深入去研究一下。這項技術(shù)不一定是你工作所用到的,但一定是相關(guān)的。

參加工作4-5年之間,Java程序員必須要做得事兒

參加工作4年到5年的同學(xué),相信你在自己所鉆研的領(lǐng)域已經(jīng)有了自己一定的見解,這個時候,技術(shù)上你應(yīng)該已經(jīng)遇到瓶頸了。這個時候不要著急提高自己的技術(shù),已經(jīng)是時候提高你的影響力了,你可以嘗試去一些知名的公司去提高你的背景,你可以發(fā)表一些文章去影響更多的人。當(dāng)然,你也可以去Github創(chuàng)建一個屬于你的開源項目,去打造自己的產(chǎn)品。技術(shù)學(xué)到這個階段,很容易遇到瓶頸,而且往往達(dá)到一定程度后,你再深入下去的收效就真的微乎其微了,除非你是專門搞學(xué)術(shù)研究的。然而很可惜,大部分程序猿做不到這一步,那是科學(xué)家做的事情。這個時候提高影響力不僅僅是因為技術(shù)上容易遇到瓶頸,更多的是影響力可以給你創(chuàng)造更多的機(jī)會。所以,在這個階段,你最大的任務(wù)是提高自己的影響力,為自己未來的十年工作生涯那一天做準(zhǔn)備。

如果你能夠把每個階段的事情做好,那么最少你的工薪夠讓你在一二線城市買車買房了。

下面我們挑選出幾個有代表性企業(yè)對Java崗位的招聘要求來說明Java工程師職責(zé)以及所需的知識技能知識。

一、京東

初級Java工程師的崗位職責(zé):

需要具備以下知識技能:

熟練掌握J(rèn)ava基礎(chǔ),熟練掌握多線程開發(fā)技術(shù),熟悉軟件開發(fā)流程;

熟悉主流Java開源框架如struts、hibernate、spring;

熟練掌握HTML/CSS/Javascript/jquery/Ajax;

熟悉Oracle/ SQL Server/MySQL其中的一種,并能熟練編寫SQL和存儲過程;

熟悉Linux系統(tǒng),掌握Linux命令。

最課程Java就業(yè)班所學(xué)習(xí)的內(nèi)容不僅包含了初級Java工程師所需要掌握的知識技能,還額外教授高級的Java技術(shù),比如面向測試開發(fā)、JAVA企業(yè)級開發(fā)安全架構(gòu)、JAVA企業(yè)級開發(fā)高性能可擴(kuò)展。

二、網(wǎng)易

簡單來說,初級工程師常扮演著代碼的搬運(yùn)工,是螺絲刀的角色,而進(jìn)階中級Java工程師,所需要的不僅僅精通基礎(chǔ)的知識,還有編程思想的運(yùn)用以結(jié)合實際的項目的解決問題的能力和想法。

以網(wǎng)易中級Java工程師崗位職責(zé)為例:

根據(jù)以上的任職要求,所需要掌握的就不僅僅的知識的熟練,而是精通,精通的概念就是更加深入的研究和認(rèn)識,擁有很好的問題解決能力。

對技術(shù)的要求:

精通java,熟練運(yùn)用SpringBoot、SpringMVC、Hibernate、Mybatis、struts、struts2等技術(shù),能練使用JQuery或相關(guān)的JS框架,精通面向?qū)ο笤O(shè)計;

熟悉mysql/sqlserver數(shù)據(jù)庫,了解相關(guān)的數(shù)據(jù)庫維護(hù)和性能優(yōu)化,熟悉Tomcat、weblogic等服務(wù)器的配置與發(fā)布;

全面扎實的軟件知識結(jié)構(gòu)(操作系統(tǒng)、軟件工程、設(shè)計模式、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫系統(tǒng)、網(wǎng)絡(luò)安全等);

熟練SQL語句的編寫;思維活躍,具備一定的軟件設(shè)計能力及良好的軟件工程思想;

通俗來講,中級Java工程師可以負(fù)責(zé)一個模塊的開發(fā),擁有一定的軟件工程思想,可以自己解決問題。

三、百度

高級的Java工程師崗位職責(zé)

高級的Java工程師是縱觀全局的掌控者,這個層次很熟悉開發(fā),有多年的開發(fā)工作經(jīng)驗,并且也有架構(gòu)設(shè)計經(jīng)驗,熟悉架構(gòu)理念,精通面向?qū)ο蟮脑O(shè)計思想,精通java語言,在高并發(fā),高性能方面有相關(guān)開發(fā)經(jīng)驗。

每晚會有免費(fèi)的課程直播,講課的老師都是在各大互聯(lián)網(wǎng)公司工作至少十年的技術(shù)專家,不但會給我們講解上面所提到的,還會教我們最重要的學(xué)習(xí)思路。下面是我截取的部分課程表。

跳槽時時刻刻都在發(fā)生,但是我建議大家跳槽之前,先想清楚為什么要跳槽。切不可跟風(fēng),看到同事一個個都走了,自己也盲目的開始面試起來(期間也沒有準(zhǔn)備充分),到底是因為技術(shù)原因(影響自己的發(fā)展,偏移自己規(guī)劃的軌跡),還是錢給少了,不受重視。

準(zhǔn)備不充分的面試,完全是浪費(fèi)時間,更是對自己的不負(fù)責(zé)(如果title很高,當(dāng)我沒說)。

今天給大家分享下chenssy在這次跳槽中整理的Java面試大綱,其中大部分都是面試過程中的面試題,可以對照這查漏補(bǔ)缺,當(dāng)然了,這里所列的肯定不可能覆蓋全部方式。

項目介紹

大部分情況,這是一場面試的開門題,面試官問這個問題,主要是考察你的概述能力和全局視野。有的人經(jīng)常抱怨自己每天在堆業(yè)務(wù),但沒有成長。事實上,很多情況下確實在堆業(yè)務(wù),但并不是沒有成長的。并非做中間件或者技術(shù)架構(gòu)才是成長,例如我們的需求分析能力,溝通協(xié)作能力,產(chǎn)品思維能力,抽象建模能力等都是一個非常重要的硬實力。

如果你想學(xué)好JAVA這門技術(shù),也想在IT行業(yè)拿高薪,可以參加我們的訓(xùn)練營課程,選擇最適合自己的課程學(xué)習(xí),技術(shù)大牛親授,7個月后,進(jìn)入名企拿高薪。我們的課程內(nèi)容有:Java工程化、高性能及分布式、高性能、深入淺出。高架構(gòu)。性能調(diào)優(yōu)、Spring,MyBatis,Netty源碼分析和大數(shù)據(jù)等多個知識點。如果你想拿高薪的,想學(xué)習(xí)的,想就業(yè)前景好的,想跟別人競爭能取得優(yōu)勢的,想進(jìn)阿里面試但擔(dān)心面試不過的,你都可以來,q群號為:798891710

注:加群要求

1、具有1-5工作經(jīng)驗的,面對目前流行的技術(shù)不知從何下手,需要突破技術(shù)瓶頸的可以加。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內(nèi)進(jìn)修、跳槽拿高薪的可以加。

3、如果沒有工作經(jīng)驗,但基礎(chǔ)非常扎實,對java工作機(jī)制,常用設(shè)計思想,常用java開發(fā)框架掌握熟練的,可以加。

4、覺得自己很牛B,一般需求都能搞定。但是所學(xué)的知識點沒有系統(tǒng)化,很難在技術(shù)領(lǐng)域繼續(xù)突破的可以加。

5.阿里Java高級大牛直播講解知識點,分享知識,多年工作經(jīng)驗的梳理和總結(jié),帶著大家全面、科學(xué)地建立自己的技術(shù)體系和技術(shù)認(rè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)容