一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java程序員如何才能完成從入行到大佬的晉升之路

工程師人生 ? 來源:簡書網(wǎng) ? 作者:大齊老師 ? 2019-11-29 16:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Java業(yè)界流行著一種說法——黃金5年,就是從程序員入職時算起,前五年的工作選擇直接影響整個職業(yè)生涯的職業(yè)發(fā)展和薪資走向。如何把握這五年,從一個剛?cè)胄械牟锁B蛻變成一個處事不驚的大佬,這是一個涉及到自身的專業(yè)知識儲備和選擇的難題,那么,一個Java程序員如何做才能完成從入行到大佬的晉升之路呢?

參加工作1-2年之間

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

參加工作3-4年之間

如果你處于這個階段,說實話很難再提升代碼能力了,因為這個階段的學習會比較多樣化。在前三年的工作中,你肯定不同程度地接觸過其它的技術(shù),比如大數(shù)據(jù)、分布式緩存、分布式消息服務、分布式計算、軟負載均衡等技術(shù),你能精通任何一項,都將是你未來面試時巨大的優(yōu)勢。因此如果你對某一項技術(shù)感興趣,這時可以深入去研究,這項技術(shù)不一定是你工作所用到的,但一定是相關(guān)的。

參加工作4-5年之間

參加工作四至五年的程序員,這時,你應該遇到技術(shù)的瓶頸了。不要急于提高自己的技術(shù),此時更重要的是提高你的影響力,你可以嘗試去一些知名公司提高你的就業(yè)背景;你也可以發(fā)表一些技術(shù)文章去影響更多的人;你還可以去Github創(chuàng)建一個屬于你的開源項目,打造屬于自己的產(chǎn)品。技術(shù)學到這個階段,很容易遇到瓶頸,而且往往達到一定程度后,你再深入研究的效果就真的微乎其微了,除非你是專門做學術(shù)研究的。然而很可惜,大部分程序猿做不到這一步,那是科學家做的事情。這個時候提高影響力主要是影響力可以給你創(chuàng)造更多的機會,所以,你最大的任務是提高自己的影響力,為未來工作生涯做準備。

我有個朋友2010年畢業(yè),作為一名軟件開發(fā)程序員,踏入軟件開發(fā)行業(yè)已有8個年頭了,他做過初級軟件工程師、高級軟件工程師、項目主管、技術(shù)經(jīng)理、項目經(jīng)理,近些年帶過開發(fā)團隊、參與招聘面試。我請他把這些年的工作體會分享下,有不同意見的歡迎探討。

對于軟件開發(fā)同學而言,首先要客觀認識自身的情況,想清楚自己現(xiàn)在要什么、未來要什么,做好職業(yè)規(guī)劃,從而選擇不同類型的企業(yè)。例如,當前身無幾分,急需就業(yè),技術(shù)能力較為一般,可以選擇人力資源外包臨時過渡;喜歡技術(shù)專研,對技術(shù)有濃厚的興趣,希望以后成為某個領(lǐng)域的技術(shù)牛人,可以選擇互聯(lián)網(wǎng)平臺類型;有一定的技術(shù)基礎(chǔ),以后想往技術(shù)經(jīng)理、項目經(jīng)理方向發(fā)展,可以選擇項目外包類型。接下來將對程序員的職業(yè)發(fā)揮發(fā)展規(guī)劃提出具體的建議:

你是否有了明確的職業(yè)發(fā)展規(guī)劃?

1、 走向架構(gòu)師

對任何一個Java開發(fā)人員來說,架構(gòu)師都是一個令人向往的角色。那么程序員與架構(gòu)師之間的主要區(qū)別是什么呢?架構(gòu)師擁有完善和扎實的技術(shù)體系,具備較好系統(tǒng)分析和設(shè)計能力,豐富的項目研發(fā)經(jīng)驗。其實,程序員的成長首先來自自身的學習,而閱讀成熟項目的代碼會使人受益匪淺;其次是來自所從事領(lǐng)域的經(jīng)驗,要了解分布式系統(tǒng)的特點,在做項目時,要能夠關(guān)注性能、擴展性、可靠性、可用性等指標。

架構(gòu)師是一個漫長的積累過程,大部分架構(gòu)師的年齡在35歲左右,這個階段就是程序員的黃金期。那么我們?nèi)绾我砸粋€架構(gòu)師的標準來加強自己的能力呢?程序員要向一名架構(gòu)師發(fā)展,需要進一步加強技能的修養(yǎng)。對于互聯(lián)網(wǎng)公司來言,最重要的技能是對網(wǎng)絡(luò)和分布式系統(tǒng)的理解,比較麻煩的是分布式系統(tǒng),除了分布式,在現(xiàn)在大型互聯(lián)網(wǎng)企業(yè)中,還需掌握高性能、深入淺出、性能調(diào)優(yōu)、Spring、JVM等技術(shù)。當然,良好的駕馭管理開發(fā)團隊的能力和人格修養(yǎng),能夠讓架構(gòu)師在開發(fā)項目中游刃有余,不會出現(xiàn)意外的干擾。

2、 走向項目經(jīng)理

有一些程序員工作機遇比較好,不但負責項目的設(shè)計工作,而且還負責項目的管理工作,對項目經(jīng)理這個工作有一定的嘗試。因此,這類程序員可以審視一下自己,是否合適這項工作,如果自己對這種工作比較滿意,而且具備項目經(jīng)理的要求,則可以向項目經(jīng)理這個方向發(fā)展。項目經(jīng)理的工作重點已經(jīng)從編程轉(zhuǎn)移到對人、對技術(shù)、對進度、對項目的管理,因此,項目經(jīng)理必須要了解軟件開發(fā)的各個環(huán)節(jié)、了解開發(fā)的各種技術(shù)和運用、了解開發(fā)隊伍人員的水平和特點。

在日常的工作和生活中就得逐步鍛煉這方面的能力,其次,學習一些項目管理的知識,例如:PMP、CMMI、敏捷開發(fā)管理等。從程序員到項目經(jīng)理可以使項目經(jīng)理更好地理解程序員在項目中的地位和作用,了解軟件開發(fā)的各種規(guī)律性的東西,從而保證項目的正常完成。而且,項目經(jīng)理的收入在公司中的地位也是比較高的,因此,我認為走向項目經(jīng)理是程序員的另一個發(fā)展空間。我想提醒一下,程序員在擔任項目經(jīng)理之前最好要把軟件設(shè)計工作做好,這樣在做項目經(jīng)理的時候,就會有很好的基礎(chǔ)。

3、 走向管理者

很多程序員希望自己能成為公司中的主管、經(jīng)理、老總、老板,這樣在公司無論是收入還是地位都相對高一些。另外,有些程序員可能厭倦了年復一年的編程工作,希望能擺脫這種步步緊逼的工作狀態(tài),走向管理者程序員要比一般人做更多的準備,做更多的轉(zhuǎn)型工作。但是,如果你有這個志向,又積累了這方面的工作經(jīng)驗,可以努力往管理者發(fā)展。由于軟件公司的管理者不同于一般公司的管理者,專業(yè)能力越強,管理起來就越得心應手,沒有專業(yè)能力的管理,遇到的問題很多,也很難解決。 因此,我的建議程序員最好要把編程、項目設(shè)計、項目管理等基礎(chǔ)打好,這樣轉(zhuǎn)型到管理者成功率就會高一些。

4、 原地踏步

當然也有程序員惰性比較大,安于現(xiàn)狀,也無可厚非。對待這些程序員,我的建議是原地發(fā)展,把本職工作做得更好,把自己的技術(shù)水平再提高一步。在這個過程中他們的能力和自信心都會得到提高,他們的想法自然不會一成不變。不管做哪一行,都應盡早做好職業(yè)規(guī)劃,人都需要有一個目標去激勵自己,Java程序員更是如此,朝著一個目標逐步提升自身實力總會比原地打轉(zhuǎn)好,相信聰明的你該知道怎么做。

據(jù)不完全統(tǒng)計,截至目前(2017.07)為止,中國Java程序員的數(shù)量已經(jīng)超過100萬。而且,隨著IT培訓業(yè)的持續(xù)發(fā)展和大量的應屆畢業(yè)生進入社會,Java程序員面臨的競爭壓力越來越大。那么,作為一名Java程序員,怎樣努力才能快速成長為一名高級的程序員或者架構(gòu)師,這不僅是一個剛踏入職場的初級程序員,也是工作三五年后開始迷茫的老程序員,都必須要面對和明白的問題。為了幫助大家少走彎路,我總結(jié)出一個Java程序員的工作2-5年成長路線圖。

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

1、通信協(xié)議

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

2.、序列化

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

3.、數(shù)據(jù)庫

要形成自己的數(shù)據(jù)庫選取風格,就需要先對自己常用的數(shù)據(jù)庫有足夠深入的了解。對于關(guān)系式數(shù)據(jù)庫,除了一般的Create、Query、Delete、Update操作外,還需要能自行建立索引、數(shù)據(jù)庫的平行擴展、了解如何進行性能調(diào)試,以及了解常見查詢操作的性能級別、常見的查詢性能瓶頸點。一個較好的例子是 “SELECT COUNT(*) FROM table WHERE dt_create-86400》NOW();” 。

4、 存儲

存儲分為幾種類型。NAS等各家產(chǎn)品有所不同,大多是通過NFS來訪問的,問題是NAS的價格很高,而且在去IOE的趨勢中很多人也不愿意再用,所以經(jīng)常會有基于文件系統(tǒng)建立小規(guī)模存儲的需求。需要關(guān)注的是每個目錄下的文件數(shù)不應該太多,當一個目錄下文件數(shù)(實際是inode數(shù)量,包括文件和目錄)超過1000時,性能就很差了。所以,建議將一個系統(tǒng)中要存儲的對象ID做16進制,隨后每2位16進制做成一級目錄,這樣可以確保每個目錄下的文件數(shù)不會超過256個?,F(xiàn)代云計算,如Amazon S3已經(jīng)把存儲的問題解決的很好了,如果可能,盡量用好。

5、應用框架

此事在各個語言之間各有選擇,多注意了解自己關(guān)注方向的所有框架的優(yōu)勢和劣勢,至少當有個毛頭孩子問你為什么不選擇某個最新的框架時,能清楚用自己的觀點答復。對于常見的框架,十分推薦自己重新實現(xiàn)一個來當作鍛煉,實現(xiàn)一個WEB框架,不到200行代碼就實現(xiàn)了。

6、接口

主要是指接口協(xié)議,或者RPC協(xié)議。系統(tǒng)之間進行RPC調(diào)用很常見,注意選擇自己能熟練使用的,并且有所深入研究,并了解其常見的限制。RESTful API就是個比較常見的選擇,但是性能并不好,自己要對性能等參數(shù)有量化的了解,而不是簡單的一句好或不好。短連接接口在三次握手時是串行操作,要了解其為何耗時。

除了要在如上的各種不可或缺的組成部分中有所了解,還要能清楚地知道一些常用系統(tǒng)模塊的原理,并能夠很深入的玩起來。幾個值得注意的:

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

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

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

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

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

那如何快速學習并精通呢?

針對當前互聯(lián)網(wǎng)公司的技術(shù)需求以及結(jié)合主流技術(shù),我自己整理了一套系統(tǒng)的架構(gòu)技術(shù)體系,當你技術(shù)過硬的時候,能夠解決技術(shù)問題才會服眾。不少公司都很重視高并發(fā)高可用的技術(shù),特別是一線互聯(lián)網(wǎng)公司,分布式、JVM、spring源碼分析、微服務等知識點已是面試的必考題,這些東西可能你們平時在工作中接觸過,但是缺少全面系統(tǒng)的學習。

責任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2989

    瀏覽量

    109983
  • 程序員
    +關(guān)注

    關(guān)注

    4

    文章

    954

    瀏覽量

    30435
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    車載以太網(wǎng)入坑指南,從小白懂哥的進階之路

    ?樓主廢話在前 各位技術(shù)大佬們好!最近公司項目涉及車載以太網(wǎng),剛開始完全懵逼,花了大半個月時間各種查資料、測試設(shè)備,總算是摸清了門道。想著互聯(lián)網(wǎng)上臥虎藏龍,肯定有不少大佬對這個技術(shù)感興趣,所以寫個
    的頭像 發(fā)表于 07-18 13:51 ?135次閱讀
    車載以太網(wǎng)入坑指南,從小白<b class='flag-5'>到</b>懂哥的進階<b class='flag-5'>之路</b>

    跟老齊學Python:入門精通

    礎(chǔ)的學習者介紹一門時下比較流行、并且用途比較廣泛的編程語言,所以,本書讀起來不晦澀,并且在其中穿插了很多貌似與Python 編程無關(guān),但與學習者未來程序員職業(yè)生涯有關(guān)的內(nèi)容。 獲取完整文檔資料可下載附件哦?。。?! 如果內(nèi)容有幫助可以關(guān)注、點贊、評論支持一下哦~
    發(fā)表于 06-03 16:10

    程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)

    的地址)出發(fā),采用推導的方式,深入淺出的分析了廣大C程序員學習和開發(fā)中遇到的難點。 2. 方法論的高度對C語言在數(shù)據(jù)結(jié)構(gòu)和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?771次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?727次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1115次閱讀

    Java代碼之美,遵循樣式規(guī)范開始

    作者:京東零售 劉仲偉 在軟件開發(fā)的世界里,代碼不僅是程序的基石,更是程序員交流的通用語言。而Java,作為一門廣泛應用于企業(yè)級應用的編程語言,其代碼的可讀性和一致性對于項目的長期維護和團隊協(xié)作
    的頭像 發(fā)表于 11-27 11:42 ?587次閱讀
    <b class='flag-5'>Java</b>代碼之美,<b class='flag-5'>從</b>遵循樣式規(guī)范開始

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?538次閱讀

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導下,鴻蒙生態(tài)服務公司舉辦了一場面向廣大開發(fā)者的盛會——鴻蒙1024程序員節(jié)暨鴻蒙原生應用交流會。軟通動力子公司鴻湖萬聯(lián)作為開源鴻蒙生態(tài)的重要參與者和貢獻者
    的頭像 發(fā)表于 10-29 15:49 ?757次閱讀
    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024<b class='flag-5'>程序員</b>節(jié)成功舉辦

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?503次閱讀

    【轉(zhuǎn)型必看】JavaAI,程序員的逆襲秘籍,轉(zhuǎn)行人工智能不再是夢!

    ?隨著技術(shù)的不斷進步,人工智能(AI)已經(jīng)成為當今科技領(lǐng)域最熱門的話題之一。許多開發(fā)者開始考慮傳統(tǒng)的軟件開發(fā)領(lǐng)域,如Java,轉(zhuǎn)向人工智能領(lǐng)域,今天小編和大家一起來探討Java開發(fā)者是否可以轉(zhuǎn)型
    的頭像 發(fā)表于 07-31 14:42 ?2408次閱讀
    【轉(zhuǎn)型必看】<b class='flag-5'>Java</b><b class='flag-5'>到</b>AI,<b class='flag-5'>程序員</b>的逆襲秘籍,轉(zhuǎn)行人工智能不再是夢!