乾貨系列2:看看Java桌面應用開發的職業發展空間與必備技能

導讀:
   我前面兩篇文章分別寫了java軟件開發和java互聯網開發工程師的職業發展和技能要素,今天說一說Java桌面應用開發的程序員,他們一般來說對未來發展尤爲困惑,確實,用Java可以創建出桌面應用,但只要我們想開發真正的富桌面應用,還需要使用JNI、C/C++等等技能。所有,也許瞭解如何系統的建立自己的知識體系,是你困惑的的根本原因。

  所以,如果你正在(或未來)做Java桌面應用開發,並且對你未來的職業道路感到迷茫和不知所措。跟我來,我將就java桌面應用的發展路線和所需要的技能一一說明,或許對你會有所幫助。


簡單瞭解一下java桌面工程師:

首先,告訴你,Java桌面開發很強大:
Java桌面應用也有很多很成功的產品,比如eclipse,lutos notes,lotus sametime,DB2的管理控制工具,凡是IBM和oracle的桌面工具大部分都是Java寫的,不同點就在於有的是swing寫的,而IBM一般用SWT。

Java互聯網開發工程師的主要崗位職責(真的有人不知道):
從事軟件架構設計及編碼工作,參與系統的設計、測試以及部分開發工作。


言歸正傳--發展:


職業發展道路基本有兩條:技術專精路線、技術轉產品路線

1.技術專精--晉升軌跡基本是這樣:
第一條路線:初級Java開發---中級開發--高級開發---軟件架構師--系統架構師---項目經理----系統分析師


20140515102411515

2.技術轉產品--晉升軌跡基本是這樣:
第二條路線:初級Java開發---中級開發--高級開發---軟件架構師--系統架構師--產品經理---產品總監


20140515102433546


具體分析--晉升需要的技能要素:


第一條路線:技術專精路線
第一階段:初級--中級開發工程師(公司基層)

需要掌握的基本技能有:

  • Java常用框架

  • 瞭解Java版本區別

  • Java程序設計基礎知識

  • 常用團隊協作開發工具

  • Java GUI程序設計

  • Java常用框架(Struts MVC、Spring、Hibernate框架)

  • UML建模語言

  • TCP/IP協議原理與應用

  • Java se技術


  以上是入門和提高的階段需要的技能,然後再學習基本的Windows內核原理 、Linux內核編程技術,一般來說,堅持學習一年,就可以成爲一名中級開發工程師。
  初級階段是最迷茫的,工作很雜,還要學習技能,是很辛苦,容易讓人放棄,我的辦法是制定季度學習計劃,然後是執行和堅持,持之以恆(唉,我知道這裏面說起來容易做起來難,只能看個人的修爲了)。
  加快技能提高的方法通常有:看專業書,蒐集資料,看源碼,多在網上討論和回答問題。

我在學習專業書的一些習慣:
  • 書一本本的看,貪多嚼不爛,在基礎章節多下功夫,高深部分在初期先不看。這樣學習進度可以保障,也有成就感。

  • 記筆記

  • 多做題,不光書上的題,還有網上的資源,也包括回答問題


第二階段:成長爲高級開發工程師晉升目標Java項目經理(公司中層)
需要再學習的技能有:



  • 編譯原理

  • 數據建模

  • 需求分析設計

  • 數據結構

  • 設計模式

  • 軟件架構和系統架構相關知識

(別怕,6座網上有技能對應的學習資源,如:圖書、免費公開課)


從高級開發工程師到項目經理還要學習。

  • Linux內核編程

  • UNIX/Linux 系統管理

  • 軟件項目風險管理

  • 常用算法

  • 軟件性能測試

  • socket套接字網絡編程

  • 軟件工程系統知識

項目經理作爲一名中層管理者還需要學習些錦上添花的知識,比如:流程管理、團隊運營管理。


第三階段:系統分析師向首席技術官發展(公司高層)
系統分析師工作會用到技能:
  • 項目管理系統方法

  • 軟件工程系統知識

  • 網絡安全技術與解決方案(Cisco)

  • 可行性分析以及建模

系統分析師工作中會經常就項目與行業專家、用戶溝通,通過他們的意見,分析得出該項目所具備的特點、成本、風險等,最終給公司和客戶一個相對可靠的確定性結論或實施方案模型。
   因此,系統分析師經常在各種方案中進行抉擇,這時,是考驗你的判斷和分析能力,當然,這些能力都源自你的技術體系是否完備,還有就是經驗的累積了,這個職位沒有積累是不行的。
圖:

20140515101602687

互聯網的圈子不大,做Java桌面應用開發的圈子更小,只要你熱愛編程,肯努力,不斷的堅持,一定有一天會體會到“莫愁前路無知己,天下誰人不識君”的感覺。

第二路線:技術轉產品專精路線

   因爲Java桌面應用開發多以技術外包或產品出售爲目的,所以,即便要轉型到產品經理,也需要很紮實的技術根基才能把工作做好。

第一階段:選擇最佳轉型時機
  當你有轉型的想法的時候,嚴格意義上不叫轉型,應該叫轉崗。因此,在我的職業發展規劃建議是,當你完成初級初級到高級Java工程師,最好到了系統架構師的水平再轉到產品經理的角色上去,這樣,技術不會丟,項目經驗也積累了不少,做起產品經理會更加得心應手。(第一階段主攻技能,同第一條線路的第一階段一樣)

第二階段:轉型產品經理,目標向產品總監發展
做產品經理,你需要補充的技能有:
  • 需求分析設計

  • 用戶心理體驗

  • 快速原型設計工具

  • 網站信息架構

  • 界面交互式系統設計


 還有就是人際關係的處理,你會同時和內外部人做各種協調。多看看團隊溝通與協作方面的書。

第三階段:產品總監---公司副總
你的知識體系將發生變化,主要需要補充帶團隊和管理方面的技能:
  • 管理學

  • 商業心理學

  • 經濟學原理

  • 數據分析

  • 預算管理


  選擇產品--管理這條路線除了技術,同時還考驗你的綜合管理素質,這時的你將要管理幾個項目團隊,乃至運營整個公司。

圖:


20140515101948453

最後,再回顧一下週鴻禕的話:如果說有天賦,那只是在漫長的過程中不斷經歷痛苦,不斷嘗試失敗,不斷學習從而培養起來的。所以,不要聽那些有用的廢話。爲自己的職業生涯負責,做規劃、選方向、定學習計劃,然後,去執行、去堅持。除此,沒有捷徑。(強調一下,我不喜歡周的做事風格,但他說的話和做的產品還是很靠譜的)


完整發展路線圖:

20140515102046203


  這篇文章內容參考了6座網的《Java桌面應用開發工程師職業規劃圖》,在6座網上有很詳盡的發展路線和技能、學習資源的介紹。


java乾貨系列文章:

乾貨:從技能角度談--Java軟件開發工程師的自我修養與晉升(B/S結構)(圖文詳解)

乾貨系列1:Java互聯網網站開發工程師 的技術提高與晉升路線(技術專精)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章