导读:
我前面两篇文章分别写了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技术
书一本本的看,贪多嚼不烂,在基础章节多下功夫,高深部分在初期先不看。这样学习进度可以保障,也有成就感。
记笔记
多做题,不光书上的题,还有网上的资源,也包括回答问题。
编译原理
数据建模
需求分析设计
数据结构
设计模式
软件架构和系统架构相关知识
从高级开发工程师到项目经理还要学习。
Linux内核编程
UNIX/Linux 系统管理
软件项目风险管理
常用算法
软件性能测试
socket套接字网络编程
软件工程系统知识
项目管理系统方法
软件工程系统知识
网络安全技术与解决方案(Cisco)
可行性分析以及建模
第二路线:技术转产品专精路线
因为Java桌面应用开发多以技术外包或产品出售为目的,所以,即便要转型到产品经理,也需要很扎实的技术根基才能把工作做好。需求分析设计
用户心理体验
快速原型设计工具
网站信息架构
界面交互式系统设计
管理学
商业心理学
经济学原理
数据分析
预算管理
最后,再回顾一下周鸿祎的话:如果说有天赋,那只是在漫长的过程中不断经历痛苦,不断尝试失败,不断学习从而培养起来的。所以,不要听那些有用的废话。为自己的职业生涯负责,做规划、选方向、定学习计划,然后,去执行、去坚持。除此,没有捷径。(强调一下,我不喜欢周的做事风格,但他说的话和做的产品还是很靠谱的)
完整发展路线图:
这篇文章内容参考了6座网的《Java桌面应用开发工程师职业规划图》,在6座网上有很详尽的发展路线和技能、学习资源的介绍。
java干货系列文章:
干货:从技能角度谈--Java软件开发工程师的自我修养与晋升(B/S结构)(图文详解)
干货系列1:Java互联网网站开发工程师 的技术提高与晋升路线(技术专精)
干货系列2:看看Java桌面应用开发的职业发展空间与必备技能,布布扣,bubuko.com
干货系列2:看看Java桌面应用开发的职业发展空间与必备技能
原文地址:http://8897760.blog.51cto.com/8887760/1411527