乾貨系列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開發---中級開發--高級開發---軟件架構師--系統架構師---項目經理----系統分析師




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





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

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

需要掌握的基本技能有:

  • Java常用框架
  • 瞭解Java版本區別
  • Java程序設計基礎知識
  • 常用團隊協作開發工具
  • Java GUI程序設計
  • Java常用框架(Struts MVC、Spring、Hibernate框架)
  • UML建模語言
  • TCP/IP協議原理與應用
  • Java se技術
   
  以上是入門和提高的階段需要的技能,然後再學習基本的Windows內核原理 、Linux內核編程技術,一般來說,堅持學習一年,就可以成爲一名中級開發工程師。
  初級階段是最迷茫的,工作很雜,還要學習技能,是很辛苦,容易讓人放棄,我的辦法是制定季度學習計劃,然後是執行和堅持,持之以恆(唉,我知道這裏面說起來容易做起來難,只能看個人的修爲了)。
  加快技能提高的方法通常有:看專業書,蒐集資料,看源碼,多在網上討論和回答問題。

  我在學習專業書的一些習慣:
  • 書一本本的看,貪多嚼不爛,在基礎章節多下功夫,高深部分在初期先不看。這樣學習進度可以保障,也有成就感。
  • 記筆記
  • 多做題,不光書上的題,還有網上的資源,也包括回答問題
   
第二階段:成長爲高級開發工程師晉升目標Java項目經理(公司中層)
需要再學習的技能有:

  • 編譯原理
  • 數據建模
  • 需求分析設計
  • 數據結構
  • 設計模式
  • 軟件架構和系統架構相關知識
(別怕,6座網上有技能對應的學習資源,如:圖書、免費公開課)

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

  • Linux內核編程
  • UNIX/Linux 系統管理
  • 軟件項目風險管理
  • 常用算法
  • 軟件性能測試
  • socket套接字網絡編程
  • 軟件工程系統知識
項目經理作爲一名中層管理者還需要學習些錦上添花的知識,比如:流程管理、團隊運營管理。
   
   
第三階段:系統分析師向首席技術官發展(公司高層)
系統分析師工作會用到技能:
  • 項目管理系統方法
  • 軟件工程系統知識
  • 網絡安全技術與解決方案(Cisco)
  • 可行性分析以及建模
       系統分析師工作中會經常就項目與行業專家、用戶溝通,通過他們的意見,分析得出該項目所具備的特點、成本、風險等,最終給公司和客戶一個相對可靠的確定性結論或實施方案模型。
   因此,系統分析師經常在各種方案中進行抉擇,這時,是考驗你的判斷和分析能力,當然,這些能力都源自你的技術體系是否完備,還有就是經驗的累積了,這個職位沒有積累是不行的。
圖:



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

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

   因爲Java桌面應用開發多以技術外包或產品出售爲目的,所以,即便要轉型到產品經理,也需要很紮實的技術根基才能把工作做好。
   
第一階段:選擇最佳轉型時機
  當你有轉型的想法的時候,嚴格意義上不叫轉型,應該叫轉崗。因此,在我的職業發展規劃建議是,當你完成初級初級到高級Java工程師,最好到了系統架構師的水平再轉到產品經理的角色上去,這樣,技術不會丟,項目經驗也積累了不少,做起產品經理會更加得心應手。(第一階段主攻技能,同第一條線路的第一階段一樣)
   
第二階段:轉型產品經理,目標向產品總監發展
做產品經理,你需要補充的技能有:
  • 需求分析設計
  • 用戶心理體驗
  • 快速原型設計工具
  • 網站信息架構
  • 界面交互式系統設計
   
 還有就是人際關係的處理,你會同時和內外部人做各種協調。多看看團隊溝通與協作方面的書。
   
第三階段:產品總監---公司副總
你的知識體系將發生變化,主要需要補充帶團隊和管理方面的技能:
  • 管理學
  • 商業心理學
  • 經濟學原理
  • 數據分析
  • 預算管理
   
  選擇產品--管理這條路線除了技術,同時還考驗你的綜合管理素質,這時的你將要管理幾個項目團隊,乃至運營整個公司。

圖:


   

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


完整發展路線圖:




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


java乾貨系列文章:

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

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



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