天天看點

六年Java程式員,你迷惘了嗎?

程式員從開始選擇到堅持下去,工作了六年對一個程式員意味什麼?在職位上:進階開發工程師?架構師?技術經理?or ... ?在能力上:各種編碼無壓力?核心代碼無壓力?平台架構無壓力? or ... fuck?看着這些問号都心累。相同六年,不同程式員卻走在了不同的路線,有些能在六年成為架構師,有些卻還是程式員,不是工作年限加長而已,那麼,六年你迷惘了嗎?又走到了那個十字路口?

畢業六年,從北京到上海到矽谷,從國内網際網路公司外企,看到了公司好的地方和壞的地方,這裡隻是根據自己的經曆寫一些大方向選擇建議,僅供參考。

**第一、合理的職業規劃

**

什麼是職業規劃—-就是你短期或者長期的一個職業計劃!大道理不講,咱簡單點。先問你幾個問題:

a.你工作幾年了,你願意一直和新入行的新手一樣就是個簡單的程式員嗎?

  1. 你願意一直寫代碼,而不關心其他嗎?
  2. 一個項目的前期需求,設計,後期部署維護,上司找到你,你說咱搞不定,行嗎?

程式員不是敲代碼的機器。第一年太多東西不懂,你可以一切聽從老大的安排,敲敲代碼,看看資料庫,測試自己和别人的代碼;但是第二年,你還是這樣嗎?不可能的,一年的經驗你完全可以入行了,是時候該學習怎麼進行需求分析,怎麼設計資料庫,怎麼寫各類文檔,怎麼寫更好的代碼?這是進階程式員的要求!

六年Java程式員,你迷惘了嗎?

第二、行業背景很重要**

行業背景非常重要;工作3年後必須确定自己的行業背景,比如一直從事電信行業,一直從事銀行項目,一直從事ERP行業等等。

一個程式員不可能是一直寫代碼的,就是寫代碼也要知道業務邏輯,滿足什麼需求;俗話說隔行如隔山,每個行業的業務都不一樣,甚至差别很大,比如你一直從事流媒體的研究,讓你跳槽到一家銀行項目,完了,一切從頭學吧,以前的行業經驗都用不上了;而且,一個公司公司招人,就是希望找到那些很容易上手,不需要教育訓練業務很久的程式員;頻繁跳槽的朋友,一定要注意這點;

一直在一個行業呆久了,就可以成為這個行業的專家;我們可以經常看到,一個項目組的某個leader,代碼寫的一般,但是卻可以跟客戶流暢的溝通,控制着新需求的提出,bug的修正等等;而客戶也很願意跟他打交道,因為那些老的項目隻有他能維護,他甚至熟悉系統的每一張表結構——-可想在這個行業呆的時間有多久啦。

六年Java程式員,你迷惘了嗎?

第三、别以上班太忙沒時間學習為借口

很多人認為自己沒有成為技術大牛并不是自己不聰明,也不是自己不努力,而是中國的這個環境下,技術人員加班都太多了,導緻自己沒有額外的時間進行學習。

實際上的做法正好相反:首先我們應該在工作中學習和提升,因為學以緻用或者有執行個體參考,學習的效果是最好的;其次工作後學習不需要大段時間,而是要擠出時間,利用時間碎片來學習。

對程式員來講,開發思想、架構、代碼就是财富,軟體的價值在于重複利用,而不是每個東西,都從頭開發。有些子產品在很大程度上有一定的相似性,例如業務邏輯上都需要某個查詢字段、顯示某些資訊,操作上都涉及到資料的增删改查。這種重複的工作無形中增加了開發工作量。xjr快速開平台正好解決了這方面的問題,xjr快速開發平

link

台是開發人員以某種程式設計語言或者某幾種程式設計語言(比如:目前流行的多種web技術,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等 )為基礎,将各種需要的功能封裝在不同的層中,具大家調用而開發出來的一個軟體。基礎簡單的功能交給它。可以花更多時是來學習新知識,不斷提升自我。

六年Java程式員,你迷惘了嗎?

Java程式員的工作2-5年成長路線可以以下方面來。

一、閱讀源碼

深入的Java學習,經典源碼閱讀不可少。

二、分布式架構

随着業務越來越複雜,資料量越來越大,并發量越來越大,單體的架構模式顯然再也無法對應,作為Java後端架構師,高并發+高可用+海量資料的分布式架構體系,是必不可少的。

三、性能優化

作為後端Java技術專家,解決性能問題才真正展現一個架構師的功力。隻有深入學習JVM底層原理,Mysql底層優化以及Tomcat調優,做到知其然,知其是以然。