導讀:
我前面兩篇文章分别寫了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座網的,在6座網上有很詳盡的發展路線和技能、學習資源的介紹。
java幹貨系列文章: