0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

一位6年工作經(jīng)驗(yàn)的java程序員的感悟

工程師人生 ? 來(lái)源:工程師吳畏 ? 2019-02-11 15:56 ? 次閱讀

前言

很多年前,剛剛從大學(xué)畢業(yè)的時(shí)候,很多公司來(lái)校招。其中最爛俗的一個(gè)面試問(wèn)題是:“你希望你之后三到五年的發(fā)展是什么?”。我當(dāng)時(shí)的標(biāo)準(zhǔn)回答是(原話):“成為在某一方面能夠獨(dú)當(dāng)一面的技術(shù)專家“。后來(lái)經(jīng)歷了幾家不同的公司,換了不同的方向,才知道這個(gè)真是一個(gè)很難的問(wèn)題。因?yàn)楸鵁o(wú)常勢(shì),什么東西都是在不斷的變化,一早的時(shí)候看好的東西可能會(huì)被淘汰。

(幾乎)沒(méi)有人能夠看準(zhǔn)技術(shù)的下一個(gè)方向,因?yàn)檫@個(gè)問(wèn)題實(shí)在是太難了,能夠做到這一點(diǎn)的你就成為了技術(shù)界的巴菲特了。比如說(shuō)11年加入Google,14年加入Facebook,16年加入阿里巴巴。做到這一點(diǎn)的人肯定有資本也有眼光去做風(fēng)險(xiǎn)投資,就算不做風(fēng)險(xiǎn)投資那么財(cái)務(wù)自由也是妥妥的。

現(xiàn)在畢業(yè)六年,從北京到上海到硅谷,從國(guó)內(nèi)互聯(lián)網(wǎng)公司外企,看到了公司好的地方和壞的地方,這里只是根據(jù)自己的經(jīng)歷寫(xiě)一些大方向選擇建議,僅供參考。

一、行業(yè)背景很重要

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

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

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

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

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

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

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

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

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

三、什么是高級(jí)程序員?

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

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

千萬(wàn)不要認(rèn)為程序員就是寫(xiě)代碼的哦?。?!

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

四、不要覺(jué)得業(yè)務(wù)代碼一樣很牛逼

有人認(rèn)為寫(xiě)業(yè)務(wù)代碼一樣可以很牛逼,理由是業(yè)務(wù)代碼一樣可以有各種技巧,例如可以使用封裝和抽象使得業(yè)務(wù)代碼更具可擴(kuò)展性,可以通過(guò)和產(chǎn)品多交流以便更好的理解和實(shí)現(xiàn)業(yè)務(wù),日志記錄好了問(wèn)題定位效率可以提升10倍等等。 想要獲取更多學(xué)習(xí)資源的,可以加群:454377428

業(yè)務(wù)代碼一樣有技術(shù)含量,這點(diǎn)是肯定的,業(yè)務(wù)代碼中的技術(shù)是每個(gè)程序員的基礎(chǔ),但只是掌握了這些技巧,并不能成為技術(shù)大牛,就像游戲中升級(jí)打怪一樣,開(kāi)始打小怪,經(jīng)驗(yàn)值很高,越到后面經(jīng)驗(yàn)值越少,打小怪已經(jīng)不能提升經(jīng)驗(yàn)值了,這個(gè)時(shí)候就需要打一些更高級(jí)的怪,刷一些有挑戰(zhàn)的副本了,沒(méi)看到哪個(gè)游戲只要一直打小怪就能升到頂級(jí)的。成為技術(shù)大牛的路也是類似的,你要不斷的提升自己的水平,然后面臨更大的挑戰(zhàn),通過(guò)應(yīng)對(duì)這些挑戰(zhàn)從而使自己水平更上一級(jí),然后如此往復(fù),最終達(dá)到技術(shù)大牛甚至業(yè)界大牛的境界,寫(xiě)業(yè)務(wù)代碼只是這個(gè)打怪升級(jí)路上的一個(gè)挑戰(zhàn)而已,而且我認(rèn)為是比較初級(jí)的一個(gè)挑戰(zhàn)。

所以我認(rèn)為:業(yè)務(wù)代碼都寫(xiě)不好的程序員肯定無(wú)法成為技術(shù)大牛,但只把業(yè)務(wù)代碼寫(xiě)好的程序員也還不能成為技術(shù)大牛。

五、別以上班太忙沒(méi)時(shí)間學(xué)習(xí)為借口

很多人認(rèn)為自己沒(méi)有成為技術(shù)大牛并不是自己不聰明,也不是自己不努力,而是中國(guó)的這個(gè)環(huán)境下,技術(shù)人員加班都太多了,導(dǎo)致自己沒(méi)有額外的時(shí)間進(jìn)行學(xué)習(xí)。

這個(gè)理由有一定的客觀性,畢竟和歐美相比,我們的加班確實(shí)要多一些,但這個(gè)因素只是一個(gè)需要克服的問(wèn)題,并不是不可逾越的鴻溝,畢竟我們身邊還是有那么多的大牛也是在中國(guó)這個(gè)環(huán)境成長(zhǎng)起來(lái)的。

我認(rèn)為有幾個(gè)誤區(qū)導(dǎo)致了這種看法的形成:

1)上班做的都是重復(fù)工作,要想提升必須自己額外去學(xué)習(xí)

形成這個(gè)誤區(qū)的主要原因還是在于認(rèn)為“寫(xiě)業(yè)務(wù)代碼是沒(méi)有技術(shù)含量的”,而我現(xiàn)在上班就是寫(xiě)業(yè)務(wù)代碼,所以我在工作中不能提升。

2)學(xué)習(xí)需要大段的連續(xù)時(shí)間

很多人以為要學(xué)習(xí)就要像學(xué)校上課一樣,給你一整天時(shí)間來(lái)上課才算學(xué)習(xí),而我們平時(shí)加班又比較多,周末累的只想睡懶覺(jué),或者只想去看看電影打打游戲來(lái)放松,所以就沒(méi)有時(shí)間學(xué)習(xí)了。

實(shí)際上的做法正好相反:首先我們應(yīng)該在工作中學(xué)習(xí)和提升,因?yàn)閷W(xué)以致用或者有實(shí)例參考,學(xué)習(xí)的效果是最好的;其次工作后學(xué)習(xí)不需要大段時(shí)間,而是要擠出時(shí)間,利用時(shí)間碎片來(lái)學(xué)習(xí)。

六、做的更多,做的比你主管安排給你的任務(wù)更多。

我在HW的時(shí)候,負(fù)責(zé)一個(gè)版本的開(kāi)發(fā),這個(gè)版本的工作量大約是2000行左右,但是我除了做完這個(gè)功能,還將關(guān)聯(lián)的功能全部掌握清楚了,代碼(大約10000行)也全部看了一遍,做完這個(gè)版本后,我對(duì)這個(gè)版本相關(guān)的整套業(yè)務(wù)全部很熟悉了。經(jīng)過(guò)一兩次會(huì)議后,大家發(fā)現(xiàn)我對(duì)這塊掌握最熟了,接下來(lái)就有趣了:產(chǎn)品討論需求找我、測(cè)試有問(wèn)題也找我、老大對(duì)外支撐也找我;后來(lái),不是我負(fù)責(zé)的功能他們也找我,即使我當(dāng)時(shí)不知道,我也會(huì)看代碼或者找文檔幫他們回答。最后我就成了我這個(gè)系統(tǒng)的“專家”了。雖然這個(gè)時(shí)候我還是做業(yè)務(wù)的,還是寫(xiě)業(yè)務(wù)代碼,但是我已經(jīng)對(duì)整個(gè)業(yè)務(wù)都很熟悉了。

以上只是一個(gè)簡(jiǎn)單的例子,其實(shí)就是想說(shuō):要想有機(jī)會(huì),首先你得從人群中冒出來(lái),要想冒出來(lái),你就必須做到與眾不同,要做到與眾不同,你就要做得更多!想要獲取更多學(xué)習(xí)資源的,可以加群:650385180

怎么做得更多呢?可以從以下幾個(gè)方面著手:

1)熟悉更多業(yè)務(wù),不管是不是你負(fù)責(zé)的;熟悉更多代碼,不管是不是你寫(xiě)的

這樣做有很多好處,舉幾個(gè)簡(jiǎn)單的例子:

需求分析的時(shí)候更加準(zhǔn)確,能夠在需求階段就識(shí)別風(fēng)險(xiǎn)、影響、難點(diǎn)

問(wèn)題處理的時(shí)候更加快速,因?yàn)橄嚓P(guān)的業(yè)務(wù)和代碼都熟悉,能夠快速的判斷問(wèn)題可能的原因并進(jìn)行排查處理

方案設(shè)計(jì)的時(shí)候考慮更加周全,由于有對(duì)全局業(yè)務(wù)的理解,能夠設(shè)計(jì)出更好的方案

2)熟悉端到端

比如說(shuō)你負(fù)責(zé)web后臺(tái)開(kāi)發(fā),但實(shí)際上用戶發(fā)起一個(gè)http請(qǐng)求,要經(jīng)過(guò)很多中間步驟才到你的服務(wù)器(例如瀏覽器緩存、DNS、nginx等),服務(wù)器一般又會(huì)經(jīng)過(guò)很多處理才到你寫(xiě)的那部分代碼(路由、權(quán)限等)這整個(gè)流程中的很多系統(tǒng)或者步驟,絕大部分人是不可能去參與寫(xiě)代碼的,但掌握了這些知識(shí)對(duì)你的綜合水平有很大作用,例如方案設(shè)計(jì)、線上故障處理這些更加有含金量的技術(shù)工作都需要綜合技術(shù)水平。

“系統(tǒng)性”、“全局性”、“綜合性”這些字眼看起來(lái)比較虛,但其實(shí)都是技術(shù)大牛的必備的素質(zhì),要達(dá)到這樣的境界,必須去熟悉更多系統(tǒng)、業(yè)務(wù)、代碼。

3)自學(xué)

一般在比較成熟的團(tuán)隊(duì),由于框架或者組件已經(jīng)進(jìn)行了大量的封裝,寫(xiě)業(yè)務(wù)代碼所用到的技術(shù)確實(shí)也比較少,但我們要明白“唯一不變的只有變化”,框架有可能要改進(jìn),組件可能要替換,或者你換了一家公司,新公司既沒(méi)有組件也沒(méi)有框架,要你從頭開(kāi)始來(lái)做。這些都是機(jī)會(huì),也是挑戰(zhàn),而機(jī)會(huì)和挑戰(zhàn)只會(huì)分配給有準(zhǔn)備的人,所以這種情況下我們更加需要自學(xué)更多東西,因?yàn)檎嬲鹊揭玫臅r(shí)候再來(lái)學(xué)已經(jīng)沒(méi)有時(shí)間了。

java為例,大部分業(yè)務(wù)代碼就是if-else加個(gè)數(shù)據(jù)庫(kù)操作,但我們完全可以自己學(xué)些更多java的知識(shí),例如垃圾回收,調(diào)優(yōu),網(wǎng)絡(luò)編程等,這些可能暫時(shí)沒(méi)用,但真要用的時(shí)候,不是google一下就可以了,這個(gè)時(shí)候誰(shuí)已經(jīng)掌握了相關(guān)知識(shí)和技能,機(jī)會(huì)就是誰(shuí)的。

以垃圾回收為例,我自己平時(shí)就抽時(shí)間學(xué)習(xí)了這些知識(shí),學(xué)了1年都沒(méi)用上,但后來(lái)用上了幾次,每次都解決了卡死的大問(wèn)題,而有的同學(xué),寫(xiě)了幾年的java代碼,對(duì)于stop-the-world是什么概念都不知道,更不用說(shuō)去優(yōu)化了。

據(jù)不完全統(tǒng)計(jì),截至目前(2017.07)為止,中國(guó)Java程序員的數(shù)量已經(jīng)超過(guò)了100萬(wàn)。而且,隨著IT培訓(xùn)業(yè)的持續(xù)發(fā)展和大量的應(yīng)屆畢業(yè)生進(jìn)入社會(huì),Java程序員面臨的競(jìng)爭(zhēng)壓力越來(lái)越大。那么,作為一名Java程序員,怎樣努力才能快速成長(zhǎng)為一名高級(jí)的程序員或者架構(gòu)師,或者說(shuō)一名優(yōu)秀的高級(jí)工程師或架構(gòu)師應(yīng)該有怎樣的技術(shù)知識(shí)體系,這不僅是一個(gè)剛剛踏入職場(chǎng)的初級(jí)程序員,也是工作三五年之后開(kāi)始迷茫的老程序員,都必須要面對(duì)和想明白的問(wèn)題。

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

    關(guān)注

    19

    文章

    2974

    瀏覽量

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

    關(guān)注

    4

    文章

    953

    瀏覽量

    29833
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    TMS320C6000程序員指南

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

    TMS320C55x DSP CPU程序員參考補(bǔ)充

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

    UCD3138A64/UCD3138128程序員手冊(cè)

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

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

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

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

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

    AI編程工具會(huì)不會(huì)搶程序員飯碗

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

    第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開(kāi)幕

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

    程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    10月24日,程序員專屬的節(jié)日里,我們盛大開(kāi)啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是場(chǎng)視覺(jué)的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每一位
    的頭像 發(fā)表于 07-08 10:38 ?72次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)

    程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    10月24日,程序員專屬的節(jié)日里,我們盛大開(kāi)啟“程序員節(jié)視頻創(chuàng)意大賽”特別活動(dòng)!這不僅是場(chǎng)視覺(jué)的盛宴,更是智慧與創(chuàng)意的璀璨碰撞。我們誠(chéng)摯邀請(qǐng)每一位
    的頭像 發(fā)表于 07-04 09:00 ?67次閱讀
    <b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

    尋找一位編程

    尋找一位編程。請(qǐng)法郵件 j_helmut@163.com
    發(fā)表于 04-02 13:34

    適者生存,程序員最終會(huì)流向哪……

    程序員沒(méi)有永遠(yuǎn)的護(hù)城河!!就目前的互聯(lián)網(wǎng)大環(huán)境來(lái)看,it行業(yè)已經(jīng)是……
    的頭像 發(fā)表于 03-11 17:11 ?429次閱讀
    適者生存,<b class='flag-5'>程序員</b>最終會(huì)流向哪……

    薪資高、青春飯,是不是程序員=青樓?

    花期太短。技術(shù)迭代快,年齡大容易失業(yè)。 就這幾年的互聯(lián)網(wǎng)環(huán)境而言,不管是前端、Java、Android開(kāi)發(fā)等等行業(yè)。已經(jīng)感受到程序員不是太卷就是工作難找,薪資過(guò)低。以前高工現(xiàn)在拿著中低程序員
    發(fā)表于 03-06 21:32

    GitHub Copilot:你的代碼超級(jí)助手!程序員的最強(qiáng)福音

    今天小啟給大家安利款令人興奮的AI工具——GitHubCopilot。它無(wú)疑是程序員們的最強(qiáng)福音!無(wú)論你是新手還是經(jīng)驗(yàn)豐富的開(kāi)發(fā)者,GitHubCopilot都將成為你的代碼超級(jí)助手。想象
    的頭像 發(fā)表于 03-05 08:04 ?1199次閱讀
    GitHub Copilot:你的代碼超級(jí)助手!<b class='flag-5'>程序員</b>的最強(qiáng)福音

    感覺(jué)我國(guó)的程序員前景片灰暗,是這樣嗎?

    程序員也分為好幾等,在現(xiàn)在看來(lái)大部分的Android、Java、前端等等開(kāi)發(fā)。已經(jīng)看不到希望了,很多人都在邊緣掙扎;剛看到一位Android開(kāi)發(fā)者,過(guò)完回公司就通知被裁;可見(jiàn)每年都
    發(fā)表于 02-20 20:52

    2024程序員的未來(lái)方向如何走?還看今朝

    這幾年的IT行業(yè)想必大家已經(jīng)感受到了,Android、Java、前端等等程序員都經(jīng)歷了大廠……
    的頭像 發(fā)表于 02-02 09:45 ?857次閱讀
    2024<b class='flag-5'>程序員</b>的未來(lái)方向如何走?還看今朝

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品