我的java年終總結(jié)

恍然間,發(fā)現(xiàn)自己在這個(gè)行業(yè)里已經(jīng)摸爬滾打了六年了,原以為自己就憑已有的項(xiàng)目經(jīng)驗(yàn)和工作經(jīng)歷怎么著也應(yīng)該算得上是一個(gè)業(yè)內(nèi)比較資歷的人士了,但是今年在換工作的過程中卻遭到了重大的挫折。詳細(xì)過程我就不再敘述,在此,只想給大家說一說我的總結(jié)吧,看看大家有沒有相似的經(jīng)歷,和類似的感悟。

第一. Java程序員需要不斷的學(xué)習(xí);

貌似這一點(diǎn)適應(yīng)的行業(yè)最廣,但是我可以很肯定的說:當(dāng)你從事web開發(fā)一年后,重新找工作時(shí),才會(huì)真實(shí)的感受到這句話。

工作第一年,往往是什么都充滿新鮮感,什么都學(xué)習(xí),沖勁十足的一年;WEB行業(yè)知識(shí)更新特別快,今天一個(gè)框架的新版本,明天又是另一個(gè)新框架,有時(shí)往往根據(jù)項(xiàng)目的需要來不斷學(xué)習(xí)新東西;所有,很多時(shí)候感覺,自己用過的東西真多呀!但是真正深入研究的東西卻不多。

面試,是跳槽后第一個(gè)需要面對(duì)的問題;而且不同公司面試的著重點(diǎn)不同;但是卻有一個(gè)共同點(diǎn):Java基礎(chǔ)是必考的。工作第一年,可能問你String對(duì)象創(chuàng)建的理解,常用的框架是什么等等;工作第二年,就問你Java內(nèi)存分配機(jī)制是什么,類是如何加載的等等;第三年,就問你常用的設(shè)計(jì)模式是什么,你在工作中充當(dāng)什么角色,怎么獨(dú)立完成一個(gè)模塊等等;

可以看出------這是一個(gè)典型的程序員的成長(zhǎng)過程:

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

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

一、開源框架解析

程序員每天都和代碼打交道。經(jīng)過數(shù)年的基礎(chǔ)教育和職業(yè)培訓(xùn),大部分程序員都會(huì)「寫」代碼,或者至少會(huì)抄代碼和改代碼。但是,會(huì)讀代碼的并不在多數(shù),會(huì)讀代碼又真正讀懂一些大項(xiàng)目的源碼的,少之又少。這也造成了很多錯(cuò)誤看源碼的方式。

那要如何正確的分析源碼呢? 我們的目標(biāo)應(yīng)該放在最常用的框架上面:

二、架構(gòu)師筑基

從架構(gòu)設(shè)計(jì),到應(yīng)用層調(diào)優(yōu),再深入了解底層原理,扎實(shí)的Java基本功才能讓自己變?yōu)閽叩厣裆簝?nèi)存模型,并發(fā)模式,線程模型,鎖細(xì)節(jié)等等

三、高性能架構(gòu)

我們不僅僅對(duì)項(xiàng)目要運(yùn)籌帷幄,還要能解決一切性能問題。只有深入學(xué)習(xí)JVM底層原理,Mysql底層優(yōu)化以及Tomcat調(diào)優(yōu),才能達(dá)到知其然,知其所以然的效果。除了性能優(yōu)化之外,也能提供通用的常見思路以及方案選型的考慮點(diǎn),幫助大家培養(yǎng)在方案選型時(shí)的意識(shí)、思維以及做各種權(quán)衡的能力。

四、微服務(wù)架構(gòu)

關(guān)于微服務(wù)架構(gòu)的取舍

在合適的項(xiàng)目,合適的團(tuán)隊(duì),采用微服務(wù)架構(gòu)收益會(huì)大于成本。微服務(wù)架構(gòu)有很多吸引人的地方,但在擁抱微服務(wù)之前,也需要認(rèn)清它所帶來的挑戰(zhàn)。需要避免為了“微服務(wù)”而“微服務(wù)”。微服務(wù)架構(gòu)引入策略 – 對(duì)傳統(tǒng)企業(yè)而言,開始時(shí)可以考慮引入部分合適的微服務(wù)架構(gòu)原則對(duì)已有系統(tǒng)進(jìn)行改造或新建微服務(wù)應(yīng)用,逐步探索及積累微服務(wù)架構(gòu)經(jīng)驗(yàn),而非全盤實(shí)施微服務(wù)架構(gòu)。

五、團(tuán)隊(duì)協(xié)作

開發(fā)工具工程化

通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的軟件項(xiàng)目管理工具。程序員的戰(zhàn)斗,往往不是一個(gè)人的戰(zhàn)斗,我們?nèi)绾卧谝粋€(gè)平臺(tái)下高效的去重,進(jìn)行代碼review,對(duì)功能進(jìn)行調(diào)整,debug,做到在統(tǒng)一的規(guī)劃下步步為營(yíng),混亂的堆代碼的過程中找到自己的記錄。這一切都依賴于有效的工具。

六、B2C項(xiàng)目實(shí)戰(zhàn)

項(xiàng)目實(shí)戰(zhàn)

要想立足于互聯(lián)網(wǎng)公司,且能在互聯(lián)網(wǎng)浪潮中不被淹沒,對(duì)于項(xiàng)目的開發(fā)實(shí)戰(zhàn)演練是不必可少的技能,也是對(duì)自身能力的一個(gè)衡量,有多少的量對(duì)等于獲得多少的回報(bào)。看似簡(jiǎn)單的一個(gè)項(xiàng)目需求圖譜,其中的底層原理,實(shí)現(xiàn)原理又能知道多少?你搭建一個(gè)完整的B2C項(xiàng)目平臺(tái)到底需要多少知識(shí)?這一切都是需要我們考量的。


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

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

一個(gè)程序員不可能是一直寫代碼的,就是寫代碼也要知道業(yè)務(wù)邏輯,滿足什么需求;俗話說隔行如隔山,每個(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,代碼寫的一般,但是卻可以跟客戶流暢的溝通,控制著新需求的提出,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)。先問你幾個(gè)問題:

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

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

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

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

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

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

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

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

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

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

如果你工作了多年,屬于老鳥了,也要善于帶人,能提攜小弟!因?yàn)橹挥行〉艹砷L(zhǎng)了,你身上的擔(dān)子才會(huì)輕,項(xiàng)目才會(huì)順暢的進(jìn)行!

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

第四. 良好的心態(tài)和體態(tài)

程序員必須有責(zé)任心!這點(diǎn)非常重要。遇上問題,不能隨便的踢皮球,很認(rèn)真的和別人溝通,提出自己的見解,和客戶聯(lián)系,才能把問題解決。技術(shù)上的問題不是問題,總可以解決,但是需求上的問題,必須搞清楚!一旦需求出錯(cuò),一個(gè)項(xiàng)目就可能延期或者失敗。程序員的責(zé)任心決定了他的成長(zhǎng),一個(gè)有責(zé)任心的人才可能成為骨干,讓領(lǐng)導(dǎo)信任!

其次就是能頂住壓力,大家都知道程序員要加班,壓力大,所有遇到問題必須不輕易放棄,合理的根據(jù)能力去處理!

身體是革命的本錢,程序員尤其重要,天天坐在電腦前,很容易發(fā)胖,變成鴨梨身材,所有多鍛煉呀!

到某些程度就不要跳槽了,在一家有發(fā)展前景或者工作開心的工作長(zhǎng)久呆下去吧,不能跟年輕人比熱情了,這時(shí)候要的是穩(wěn)重,在公司充當(dāng)?shù)氖且粋€(gè)資深的IT從業(yè)者,幫人優(yōu)化程序,分析需求,為項(xiàng)目出謀劃策解決疑難等。

第五. 多寫技術(shù)文檔

多寫技術(shù)文檔是好事哦-----其實(shí)它是對(duì)你工作經(jīng)驗(yàn)的總結(jié)和提高!一個(gè)愿意和別人分享知識(shí)的人,才能在不斷的思考中提高!而且,寫文檔很鍛煉人滴!

所以建議木有博客或者經(jīng)??磩e人文檔自己卻不寫的同行,趕快開博吧,其樂無窮呀!

(技術(shù)文檔注重簡(jiǎn)潔精練,提供源碼;總結(jié)性文檔注重親身體會(huì)?。?/p>

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

跳槽,對(duì)IT人來說絕對(duì)不是個(gè)陌生的詞匯,幾乎所有人都身體力行過。首先我要強(qiáng)調(diào)一點(diǎn),跳槽并沒有壞處,但是頻繁的跳槽就不好了。在工作的前4年,必須跳槽,而且鼓勵(lì)跳槽(建議經(jīng)歷2---3家公司);每個(gè)公司對(duì)技術(shù)的側(cè)重點(diǎn)都不同,對(duì)開發(fā)流程控制都不一樣,所需要的技術(shù)性人才自然不一樣;比如外包公司,要的是一個(gè)代碼狂人(我很喜歡招做過外包的人,感覺很多在外包公司待過的人做事的效率很高);小事業(yè)的公司,要的是一個(gè)全能型的程序員(能設(shè)計(jì)分析,能寫代碼,能部署);大的公司,要的是一個(gè)技術(shù)扎實(shí),有潛力的人(英語好,理解能力好,Java基礎(chǔ)扎實(shí));這樣如果你在一家公司呆久了,很可能就模式化,如果一旦離開這家公司,找工作有時(shí)候很容易碰壁;多經(jīng)歷兩家公司,對(duì)程序員很有益!而且我自己也有感覺,每次找工作都在強(qiáng)制自己學(xué)東西。

而且關(guān)鍵是,一次跳槽,薪資就更高了 ----- 很多人跳槽都是對(duì)當(dāng)前薪資不滿呀。

但是,一旦工作5年后,建議不要在跳了,更多是規(guī)劃自己的職業(yè)生涯,程序員畢竟有“青春飯”的嫌疑,我們不能跟年輕人比呀。這時(shí)候如果想一直做技術(shù),建議在一家好的公司長(zhǎng)久呆下去,技術(shù)+業(yè)務(wù),足夠你混的了;如果想做管理層,這時(shí)候也基本是時(shí)候了;想自己開公司,就要付出更多,對(duì)運(yùn)營(yíng)有深入了解,并側(cè)重銷售和客戶的關(guān)系啦。

我的年終總結(jié)就到這里了,請(qǐng)查收。

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

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

  • “微服務(wù)架構(gòu)”這一術(shù)語在前幾年橫空出世,用于描述這樣一種特定的軟件設(shè)計(jì)方法,即以若干組可獨(dú)立部署的服務(wù)的方式進(jìn)行軟...
    ThoughtWorks閱讀 17,102評(píng)論 1 71
  • 微服務(wù)最近非常流行,各大互聯(lián)網(wǎng)公司紛紛采用微服務(wù)架構(gòu)體系,微服務(wù)架構(gòu)模式正在為敏捷部署以及復(fù)雜企業(yè)應(yīng)用實(shí)施提供巨大...
    Sting閱讀 9,207評(píng)論 0 57
  • 我 我喜歡邂逅 喜歡仰望 喜歡在青草地上以手作枕 看白云一點(diǎn)一點(diǎn)地蕩 喜歡仰望夜空 看那神秘美麗的星系 我喜歡庭院...
    林歸暖閱讀 157評(píng)論 0 0
  • 之前對(duì)于webview的使用做了總結(jié),以為坑應(yīng)該都吃掉了,沒想到今天發(fā)版后才發(fā)現(xiàn)有一個(gè)大坑: 在Android7....
    GeekBug閱讀 8,133評(píng)論 5 28
  • 上午召開了第一學(xué)期期末家長(zhǎng)會(huì),家長(zhǎng)們濟(jì)濟(jì)一堂,都為了一個(gè)共同的目標(biāo)——為培育好孩子而來。馬老師和劉老師就期...

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