1. 程式人生 > >一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

貌似這一點適應的行業最廣,但是我可以很肯定的說:當你從事web開發一年後,重新找工作時,才會真實的感受到這句話。

工作第一年,往往是什麼都充滿新鮮感,什麼都學習,衝勁十足的一年;WEB行業知識更新特別快,今天一個框架的新版本,明天又是另一個新框架,有時往往根據專案的需要來不斷學習新東西;所有,很多時候感覺,自己用過的東西真多呀!但是真正深入研究的東西卻不多。

面試,是跳槽後第一個需要面對的問題;而且不同公司面試的著重點不同;但是卻有一個共同點:Java基礎是必考的。

工作第一年,可能問你String物件建立的理解,常用的框架是什麼等等;

工作第二年,就問你Java記憶體分配機制是什麼,類是如何載入的等等;

第三年,就問你常用的設計模式是什麼,你在工作中充當什麼角色,怎麼獨立完成一個模組等等;

可以看出——這是一個典型的程式設計師的成長過程:

使用Java—->深入理解Java積累經驗——>獨立設計分析能力——>獨當一面的多面手!

因此,必須學習:

Java基礎的深入理解;

不多作解釋,推薦書目《Java程式設計思想》,《Java執行緒》,《Java NIO》,《深入java虛擬機器》

資料庫

最常用的是Oracle了(當然銀行專案等需要DB2等),熟練掌握使用儲存過程,觸發器等;

UML

專案中經常要寫文件,專案經理的基本功,程式設計師走向設計的基本功;

設計模式

這個建議多看吧,在閱讀原始碼中體會;

linux系統

需要掌握常用的linux命令——部署在windows作業系統上的專案很少吧。

其他就不多說了,大家可以補充。

學習上,興趣是最大的老師;專案驅動也是不錯的選擇,總之,不學習不行。

第二. 積累行業背景;

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

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

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

第三. 合理的職業規劃

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

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

b. 你願意一直寫程式碼,而不關心其他嗎?

c. 一個專案的前期需求,設計,後期部署維護,領導找到你,你說咱搞不定,行嗎?

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

什麼是高階程式設計師?

具有分析設計能力,能進行技術攻關,而且具有某行業深厚背景的程式設計師!

所有,一個專案立項後,你要積極的參與到前期設計中,跟老同志們一道思考分析問題,學習經驗!OK,你這就成長啦!

千萬不要認為程式設計師就是寫程式碼的哦!!!

而且,通過一個專案的開發,你要能粗略的統計出一個功能的開發時間;比如一個模組有20個小功能點,你開發了80個小時,每個小功能點平均2小時——這時在前期就能評估工作量啦。當然每個人的效率和工作質量是不同的,因人而異,但是大概的工作量應該是可以統計出來的,用於統計一個專案的工作週期;

具備上面的能力,你起碼已經是一個專案組的骨幹啦!此時,就可以帶領小弟做開發而不是平凡的一個被帶領者啦。

很多公司的專案骨幹和專案經理都不是通過招聘的來的,都是培養出來的——-工作2年,思考能力不錯,善於動手,很上道!OK,此時專案經理和公司中層可能就注意到你了,就會給你多分配任務慢慢的鍛鍊你,這時候千萬不要鬧彆扭哦(曾遇上這樣一個同事,技術很好,人也不錯,領導突然給他分配很多工,他開始是默默承受,後來鬧意見啦!領導找他談話後,他算明白啦!頂過一段時間就基本適應,可以快速的做完;後來他成了我們那批人中新的專案leader啦),跟帶你的人好好學習,多勞動,很快就出頭啦!

如果你工作了多年,屬於老鳥了,也要善於帶人,能提攜小弟!因為只有小弟成長了,你身上的擔子才會輕,專案才會順暢的進行!

而且高階程式設計師(本科為例)工作四年左右工資就達到一個瓶頸了(一線城市是9K—1.2W),這時候必須“轉型”—–高階程式設計師只是你能力的一部分,系統分析師,架構師,技術主管才是你應該告訴別人的職務,薪資才能再次提升。

四、獨當一面的能力

個人認為這是任何做技術的終極目標,在我的成長過程中,轉過很多方向,但是無論做哪個方向,我都會不斷地以這個標準來審問和要求自己,如果上面沒有更大的大牛在,我能否獨立搞定?為什麼沒有這個信心,哪方面還很欠缺?後面的成長過程中,則努力去彌補這塊短板。

如今網路發達,很多功能都能在網上找到現成的程式碼參考,或者找到不錯的開源專案,站在他人的肩膀上,我們往往能夠快速地完成某些功能。但千萬不要過早地洋洋得意,記住,快速做出來是一種能力,能深入理解原理又是另一種能力,它們並不相等。做技術不要浮於表面,得過且過,用完了某些開源庫,完成某些專案之後,一定要抽時間深入去了解底層原理,這樣才能真正得到昇華和提高。

據不完全統計,截至目前(2017.07)為止,中國Java程式設計師的數量已經超過了100萬。而且,隨著IT培訓業的持續發展和大量的應屆畢業生進入社會,Java程式設計師面臨的競爭壓力越來越大。那麼,作為一名Java程式設計師,怎樣努力才能快速成長為一名高階的程式設計師或者架構師,或者說一名優秀的高階工程師或架構師應該有怎樣的技術知識體系,這不僅是一個剛剛踏入職場的初級程式設計師,也是工作三五年之後開始迷茫的老程式設計師,都必須要面對和想明白的問題。為了幫助大家少走彎路,我總結出一個Java程式設計師的工作2-5年成長路線圖。

以下技術方向我們有自己的高清思維方向導圖以及架構師有自己講解的架構視訊分享(包括高可用,高併發,spring原始碼,mybatis原始碼,JVM,大資料,Netty等多個技術知識的架構視訊資料和各種電子書籍閱讀)視訊資料獲取方式加入Java進階之路即可獲取:878249276 。

1、開源框架解析專題

站在巨人肩膀,收穫不一樣的視野。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

原始碼解析

2、微服務架構專題

你還不知道微服務,怎麼漲薪。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

微服務架構

3、架構築基專題

深入核心、直擊故障、拒絕懵圈。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

架構築基

4、團隊協作開發專題

讓你團隊開發效率提高十倍。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

團隊協作開發

5:設計模式

學習Java技術體系,常見的設計模式是編碼必備,掌握了它你會變得更強。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

設計模式

6、高效能架構專題

成為網際網路架構師,你要的都在這裡。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

高效能架構

7:併發程式設計

從架構設計,到應用層調優,再深入瞭解底層原理,紮實的Java基本功才能讓自己變為掃地神僧:

記憶體模型

併發模式

執行緒模型

鎖細節

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

併發程式設計

8、B2C商城專案實戰

擼起袖子幹實事,專案經驗那點事。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

B2C商城專案實戰

有了路線解析圖,有沒有免費資料?有沒有志同道合的小夥伴共同進步?

精講架構視訊資料獲取方式加入Java進階之路即可獲取:878249276 。

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

 

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

 

一個工作三年左右的阿里Java程式設計師跟大家談談從業心得

 

精講架構視訊資料獲取方式加入Java進階之路即可獲取:878249276 。

以上,就是一整個專案的流程清單,以一步一個腳印的經歷總結,不涉及具體語言程式碼,但是思路都是相通的,希望對你有幫助!