最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Java程序員的4個(gè)職業(yè)發(fā)展方向,該如何把握黃金5年?

2020-11-28 11:21 作者:每天一個(gè)禿頂小技巧  | 我要投稿

在Java程序界流行著一種默認(rèn)的說(shuō)法叫“黃金5年”,意思是說(shuō),一個(gè)Java程序員從入職的時(shí)候算起,前五年我選擇直接影響著整個(gè)職業(yè)生涯的發(fā)展方向和薪資走向。

而這5年,也決定了一個(gè)程序員能否成為職業(yè)大牛的可能。那么,在這黃金5年,Java程序員如何做才能實(shí)現(xiàn)自我突破呢?

對(duì)初學(xué)者建議

首先,對(duì)尚未進(jìn)入職場(chǎng)工作的在校生以及準(zhǔn)備轉(zhuǎn)行Java的同學(xué)的建議:

一定要從最基礎(chǔ)的知識(shí)學(xué)起,學(xué)習(xí)Java基礎(chǔ)的時(shí)候,應(yīng)該盡量多動(dòng)手寫,寫出來(lái)運(yùn)行一下,會(huì)發(fā)現(xiàn)很多問題。

學(xué)完基礎(chǔ)內(nèi)容之后,對(duì)Java有一個(gè)基本的了解之后,不要著急著進(jìn)入更高級(jí)的學(xué)習(xí),嘗試用Java語(yǔ)言寫出一些簡(jiǎn)單的程序鍛煉自己。

參加工作1-2年之間

在這段時(shí)間里,想必對(duì)Java已經(jīng)有了一個(gè)較為深入的了解。
首先,要非常熟悉設(shè)計(jì)模式,日常要多看一些關(guān)于代碼編寫優(yōu)化的書,提高自己的代碼能力,能夠?qū)懗鲆皇謨?yōu)雅的代碼;
其次,在工作過(guò)程中肯定接觸過(guò)并發(fā),應(yīng)該更加深入地去了解并發(fā)的相關(guān)知識(shí);
最后,要對(duì)所使用的框架和Java的類庫(kù)有一定的研究,還需要去看一些JDK中的類的源碼,包括自己日常所使用的框架的源碼。
總而言之,這個(gè)階段,需要做的是深入了解Java底層和Java類庫(kù),也就是JVM和JDK的相關(guān)內(nèi)容。

參加工作3-4年之間

處于這個(gè)階段,說(shuō)實(shí)話很難再提升代碼能力了,因?yàn)檫@個(gè)階段的學(xué)習(xí)會(huì)比較多樣化。

在前三年的工作中,相信或多或少都會(huì)接觸一些其它的技術(shù),比如大數(shù)據(jù)、分布式緩存、分布式消息服務(wù)、分布式計(jì)算、軟負(fù)載均衡等技術(shù),你能精通任何一項(xiàng),都將是你未來(lái)面試時(shí)巨大的優(yōu)勢(shì)。
因此,如果自己對(duì)某一項(xiàng)技術(shù)感興趣,這時(shí)可以深入去研究,即使這項(xiàng)技術(shù)不一定會(huì)在工作時(shí)用到,但一定是相關(guān)的。

參加工作4-5年之間

到了這個(gè)階段,應(yīng)該遇到了所謂的“技術(shù)瓶頸期”了。不要急于提高自己的技術(shù),此時(shí)更重要的是提高你的影響力。

可以嘗試去一些知名公司提高你的就業(yè)背景;也可以發(fā)表一些技術(shù)文章去影響更多的人;還可以去Github創(chuàng)建一個(gè)屬于自己的開源項(xiàng)目,打造屬于自己的產(chǎn)品。
這個(gè)時(shí)候提高自己的影響力主要是可以給自己創(chuàng)造更多的機(jī)會(huì),所以,這個(gè)階段最大的任務(wù)是提高自己的影響力,為未來(lái)工作生涯做準(zhǔn)備。
對(duì)于軟件開發(fā)同學(xué)而言,首先要客觀認(rèn)識(shí)自身的情況,想清楚自己現(xiàn)在要什么、未來(lái)要什么,做好職業(yè)規(guī)劃,從而選擇不同類型的企業(yè)。


Java程序員職業(yè)發(fā)展規(guī)劃和方向

走向架構(gòu)師

程序員與架構(gòu)師之間的主要區(qū)別是什么呢?

架構(gòu)師,是Java開發(fā)人員非常向往的一個(gè)角色。架構(gòu)師需要擁有完善和扎實(shí)的技術(shù)體系,具備較好系統(tǒng)分析和設(shè)計(jì)能力,豐富的項(xiàng)目研發(fā)經(jīng)驗(yàn)。
架構(gòu)師是一個(gè)漫長(zhǎng)的積累過(guò)程,大部分架構(gòu)師的年齡在35歲左右,這個(gè)階段就是程序員的黃金期。
程序員要向一名架構(gòu)師發(fā)展,需要進(jìn)一步加強(qiáng)技能的修養(yǎng)。對(duì)于互聯(lián)網(wǎng)公司來(lái)言,最重要的技能是對(duì)網(wǎng)絡(luò)和分布式系統(tǒng)的理解,比較麻煩的是分布式系統(tǒng),除了分布式,在現(xiàn)在大型互聯(lián)網(wǎng)企業(yè)中,還需掌握高性能、深入淺出、性能調(diào)優(yōu)、Spring、JVM等技術(shù)。

走向項(xiàng)目經(jīng)理

當(dāng)然,也有一些運(yùn)氣比較好的程序員,不但負(fù)責(zé)項(xiàng)目的設(shè)計(jì)工作,而且還負(fù)責(zé)項(xiàng)目的管理工作,對(duì)項(xiàng)目經(jīng)理這個(gè)工作有一定的嘗試。
因此,這類程序員可以審視一下自己,是否合適這項(xiàng)工作,如果自己對(duì)這種工作比較滿意,而且具備項(xiàng)目經(jīng)理的要求,則可以向項(xiàng)目經(jīng)理這個(gè)方向發(fā)展。
項(xiàng)目經(jīng)理的工作重點(diǎn)已經(jīng)從編程轉(zhuǎn)移到對(duì)人、對(duì)技術(shù)、對(duì)進(jìn)度、對(duì)項(xiàng)目的管理,因此,項(xiàng)目經(jīng)理必須要了解軟件開發(fā)的各個(gè)環(huán)節(jié)、了解開發(fā)的各種技術(shù)和運(yùn)用、了解開發(fā)隊(duì)伍人員的水平和特點(diǎn)。
在日常的工作和生活中就得側(cè)重鍛煉這方面的能力,還要學(xué)習(xí)一些項(xiàng)目管理的知識(shí),例如:PMP、CMMI、敏捷開發(fā)管理等。
從程序員到項(xiàng)目經(jīng)理可以使項(xiàng)目經(jīng)理更好地理解程序員在項(xiàng)目中的地位和作用,了解軟件開發(fā)的各種規(guī)律性的東西,從而保證項(xiàng)目的正常完成。
而且,項(xiàng)目經(jīng)理的收入和地位在公司里也是比較高的,因此,走向項(xiàng)目經(jīng)理是程序員的另一個(gè)發(fā)展空間。

走向管理層

很多程序員希望自己能成為公司中的主管、或項(xiàng)目經(jīng)理等管理人員,無(wú)論是收入還是地位都會(huì)相對(duì)高一些。
另外,還有一些程序員可能厭倦了日復(fù)一日枯燥而繁瑣的編程工作,希望借助走向管理崗擺脫這種步步緊逼的工作狀態(tài)。
當(dāng)然,走向管理者就要求程序員要比一般人做更多的準(zhǔn)備,做更多的轉(zhuǎn)型工作。
由于軟件公司的管理者不同于一般公司的管理者,專業(yè)能力越強(qiáng),管理起來(lái)就越得心應(yīng)手,沒有專業(yè)能力的管理,遇到的問題很多,也很難解決。
所以,想要往管理者發(fā)展的程序員,一定要把編程、項(xiàng)目設(shè)計(jì)、項(xiàng)目管理等基礎(chǔ)打好,這樣轉(zhuǎn)型到管理者成功率就會(huì)高一些,而且到時(shí)候也能更加得心應(yīng)手。

Java程序員應(yīng)該掌握的技術(shù)

通信協(xié)議

各個(gè)子系統(tǒng)之間要進(jìn)行通信,必須要選擇一種或多種通信協(xié)議,現(xiàn)代比較常見的是基于HTTP的協(xié)議。
所以,了解更多協(xié)議對(duì)于學(xué)習(xí)安全也有很大的幫助,比如MySQL和PostgreSQL的協(xié)議都有安全的設(shè)計(jì)。

序列化

系統(tǒng)之間通過(guò)網(wǎng)絡(luò)傳輸或者存儲(chǔ)到文件時(shí),肯定只有一種格式,就是字符串。
要將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)與字符串之間進(jìn)行轉(zhuǎn)換,就需要用到序列化,簡(jiǎn)單的序列化如JSON和XML,稍微復(fù)雜些的有protobuf、thrift等。
需要了解所有這些序列化方式之間的優(yōu)勢(shì)和劣勢(shì)。比如JSON和XML只能用于傳遞數(shù)據(jù),而protobuf與thrift還可以用來(lái)做RPC協(xié)議,至少要確保每種序列化方式都自己嘗試過(guò)hello world。

數(shù)據(jù)庫(kù)

要形成自己的數(shù)據(jù)庫(kù)選取風(fēng)格,就需要先對(duì)自己常用的數(shù)據(jù)庫(kù)有足夠深入的了解。
對(duì)于關(guān)系式數(shù)據(jù)庫(kù),除了一般的Create、Query、Delete、Update操作外,還需要能自行建立索引、數(shù)據(jù)庫(kù)的平行擴(kuò)展、了解如何進(jìn)行性能調(diào)試,以及了解常見查詢操作的性能級(jí)別、常見的查詢性能瓶頸點(diǎn)。

存儲(chǔ)

需要關(guān)注的是每個(gè)目錄下的文件數(shù)不應(yīng)該太多,當(dāng)一個(gè)目錄下文件數(shù)(實(shí)際是inode數(shù)量,包括文件和目錄)超過(guò)1000時(shí),性能就很差了。
所以,建議將一個(gè)系統(tǒng)中要存儲(chǔ)的對(duì)象ID做16進(jìn)制,隨后每2位16進(jìn)制做成一級(jí)目錄,這樣可以確保每個(gè)目錄下的文件數(shù)不會(huì)超過(guò)256個(gè)?,F(xiàn)代云計(jì)算,如Amazon S3已經(jīng)把存儲(chǔ)的問題解決的很好了,如果可能,盡量用好。

應(yīng)用框架

多注意了解自己關(guān)注方向的所有框架的優(yōu)勢(shì)和劣勢(shì),選擇最適合自己的,而不是選擇最新的。

接口

主要是指接口協(xié)議,或者RPC協(xié)議。系統(tǒng)之間進(jìn)行RPC調(diào)用很常見,注意選擇自己能熟練使用的,并且有所深入研究,并了解其常見的限制。
RESTful API就是個(gè)比較常見的選擇,但是性能并不好,自己要對(duì)性能等參數(shù)有量化的了解,而不是簡(jiǎn)單的一句好或不好。短連接接口在三次握手時(shí)是串行操作,要了解其為何耗時(shí)。
除了要在如上的各種不可或缺的組成部分中有所了解,還要能清楚地知道一些常用系統(tǒng)模塊的原理,并能夠很深入的玩起來(lái)。

幾個(gè)值得注意的方面:

1、HTTP服務(wù)器:常見的無(wú)非是nginx、apache,自己要能進(jìn)行基本配置,包括靜態(tài)文件、fastcgi轉(zhuǎn)發(fā)等。

2、 關(guān)系式數(shù)據(jù)庫(kù):常見的如mysql、postgresql、sqlite,自己要對(duì)每一種都有深入的了解,可以做一遍常見操作的性能測(cè)試,并牢記于心。比如sqlite雖然并不需要走網(wǎng)絡(luò),但是實(shí)際查詢性能很差。

3、NoSQL數(shù)據(jù)庫(kù):memcache、redis、mongodb等,近幾年有很多,挨個(gè)了解其實(shí)現(xiàn)原理,以及各種常用操作的性能,當(dāng)有需要時(shí),隨時(shí)能拿得出手來(lái)用。

4、云計(jì)算平臺(tái):幾種常見的云計(jì)算平臺(tái)的應(yīng)用方式要有了解,如Google的資源方式和Amazon的VPS方式,每種云計(jì)算平臺(tái)往往還會(huì)提供一大堆附加服務(wù),比如可靠數(shù)據(jù)庫(kù),存儲(chǔ),緩存等,也要分別有所了解。

5、 加密/簽名技術(shù):常見如truecrypt、openssl、gnu pg、sha1、md5、scrypt等,了解各種加密/簽名技術(shù)的安全性、字長(zhǎng)等,并都能自己做過(guò)hello world。

來(lái)源:微信公眾號(hào)
作者:Java后端進(jìn)階
原文:Java程序員的4個(gè)職業(yè)發(fā)展方向,該如何把握黃金5年?
也可點(diǎn)擊:尚學(xué)堂最新2020版Java300集教程課程


Java程序員的4個(gè)職業(yè)發(fā)展方向,該如何把握黃金5年?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
大理市| 德清县| 海门市| 兴仁县| 平阳县| 巩义市| 信宜市| 永济市| 吴旗县| 磐安县| 禄丰县| 湖南省| 嘉峪关市| 石棉县| 乌恰县| 德江县| 北辰区| 枣庄市| 林西县| 资源县| 临颍县| 咸丰县| 舒城县| 陇南市| 资中县| 德江县| 合肥市| 盐津县| 渭南市| 桑日县| 怀集县| 宜黄县| 甘洛县| 永顺县| 庆阳市| 武宣县| 镇巴县| 三台县| 哈巴河县| 隆回县| 万源市|