导读:
我前面两篇文章分别写了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项目经理(公司中层)
需要再学习的技能有:
- 编译原理
- 数据建模
- 需求分析设计
- 数据结构
- 设计模式
- 软件架构和系统架构相关知识
从高级开发工程师到项目经理还要学习。
- Linux内核编程
- UNIX/Linux 系统管理
- 软件项目风险管理
- 常用算法
- 软件性能测试
- socket套接字网络编程
- 软件工程系统知识
项目经理作为一名中层管理者还需要学习些锦上添花的知识,比如:流程管理、团队运营管理。
第三阶段:系统分析师向首席技术官发展(公司高层)
系统分析师工作会用到技能:
- 项目管理系统方法
- 软件工程系统知识
- 网络安全技术与解决方案(Cisco)
- 可行性分析以及建模
系统分析师工作中会经常就项目与行业专家、用户沟通,通过他们的意见,分析得出该项目所具备的特点、成本、风险等,最终给公司和客户一个相对可靠的确定性结论或实施方案模型。
因此,系统分析师经常在各种方案中进行抉择,这时,是考验你的判断和分析能力,当然,这些能力都源自你的技术体系是否完备,还有就是经验的累积了,这个职位没有积累是不行的。
图:
互联网的圈子不大,做Java桌面应用开发的圈子更小,只要你热爱编程,肯努力,不断的坚持,一定有一天会体会到“莫愁前路无知己,天下谁人不识君”的感觉。
第二路线:技术转产品专精路线
因为Java桌面应用开发多以技术外包或产品出售为目的,所以,即便要转型到产品经理,也需要很扎实的技术根基才能把工作做好。
第一阶段:选择最佳转型时机
当你有转型的想法的时候,严格意义上不叫转型,应该叫转岗。因此,在我的职业发展规划建议是,当你完成初级初级到高级Java工程师,最好到了系统架构师的水平再转到产品经理的角色上去,这样,技术不会丢,项目经验也积累了不少,做起产品经理会更加得心应手。(第一阶段主攻技能,同第一条线路的第一阶段一样)
第二阶段:转型产品经理,目标向产品总监发展
做产品经理,你需要补充的技能有:
- 需求分析设计
- 用户心理体验
- 快速原型设计工具
- 网站信息架构
- 界面交互式系统设计
还有就是人际关系的处理,你会同时和内外部人做各种协调。多看看团队沟通与协作方面的书。
第三阶段:产品总监---公司副总
你的知识体系将发生变化,主要需要补充带团队和管理方面的技能:
- 管理学
- 商业心理学
- 经济学原理
- 数据分析
- 预算管理
选择产品--管理这条路线除了技术,同时还考验你的综合管理素质,这时的你将要管理几个项目团队,乃至运营整个公司。
图:
最后,再回顾一下周鸿祎的话:如果说有天赋,那只是在漫长的过程中不断经历痛苦,不断尝试失败,不断学习从而培养起来的。所以,不要听那些有用的废话。为自己的职业生涯负责,做规划、选方向、定学习计划,然后,去执行、去坚持。除此,没有捷径。(强调一下,我不喜欢周的做事风格,但他说的话和做的产品还是很靠谱的)
完整发展路线图:
这篇文章内容参考了6座网的《Java桌面应用开发工程师职业规划图》,在6座网上有很详尽的发展路线和技能、学习资源的介绍。
java干货系列文章:
干货:从技能角度谈--Java软件开发工程师的自我修养与晋升(B/S结构)(图文详解)
相关推荐
Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料Java思维导图干货资料...
Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇:chapter4 Spring Boot干货系列:(五)开发Web应用之JSP篇:chapter5 Spring Boot干货系列:(六)静态资源和拦截器处理:chapter6 Spring Boot干货系列:...
接口测试平台-python3+django+requests实现公众号:测试开发干货testerhome社团:测试方舟号
### Java干货知识点详解 #### 一、深度解析SpringMVC实现原理及手写SpringMVC框架 ##### 1.1 SpringMVC概述 SpringMVC是Spring提供的一个实现了MVC设计模式的轻量级Web框架,它使得Java开发人员能够更高效地构建...
本系列的第1部分将重点介绍Java多线程的基础编程开发技术,旨在帮助开发者掌握多线程的核心概念和实用技巧。 1. **线程的概念**: 线程是操作系统调度的基本单位,它代表了程序执行的流程。在一个进程中可以有多个...
干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法v干货3分钟掌握:简单好用的UML类图绘画...
技术部研发团队技术干货分享:Java虚拟机.
### Spring Boot 入门详解 #### 一、前言与背景 随着技术的不断发展与更新迭代,Spring 作为 Java 领域中最受欢迎的企业...未来,随着 Spring Boot 不断的发展和完善,它将在企业级应用开发领域发挥更加重要的作用。
等保干货:等保2.0 安全设备清单汇总.pdf等保干货:等保2.0 安全设备清单汇总.pdf等保干货:等保2.0 安全设备清单汇总.pdf等保干货:等保2.0 安全设备清单汇总.pdf等保干货:等保2.0 安全设备清单汇总.pdf等保干货:...
这份"java面试资料(纯干货2).zip"压缩包提供了丰富的面试准备材料,旨在帮助你全面掌握Java的核心概念和技术。以下是基于这些资料可能涵盖的一些关键知识点的详细解析: 1. **基础语法**:Java的基础语法是所有...
等保干货:等保2.0 安全设备清单汇总 (2).pdf等保干货:等保2.0 安全设备清单汇总 (2).pdf等保干货:等保2.0 安全设备清单汇总 (2).pdf等保干货:等保2.0 安全设备清单汇总 (2).pdf等保干货:等保2.0 安全设备清单...
【标题】:“美团技术干货-后台篇_java_美团_后台_”揭示了这是一份关于美团后台技术的深度分享文档,主要聚焦于Java语言在美团后台系统中的应用和实践。 【描述】:“美团技术干货,主要是后台的一些架构设计,...
Java编程语言是软件开发领域广泛使用的高级编程语言,以其跨平台、面向对象和强大的功能而闻名...在不断更新的技术环境中,Java依然保持着旺盛的生命力,深入理解和熟练运用这些知识点,将为个人职业发展打下坚实基础。
- **Java EE (Java Platform, Enterprise Edition)**: 针对企业级应用开发,特别是Web应用。 - **Java SE (Java Platform, Standard Edition)**: 适用于桌面应用软件开发,是其他版本的基础。 - **Java ME (Java ...
技术部研发团队技术干货分享:后台开发经验分享
一个分享干货的APP,运用了现在流行的Dagger2+Retrofit2+RxJava所制作的一个关于干货分享的开源项目,API接口由提供。 2016-5-05 项目进入1.0阶段 本项目主要由3部分组成: 干货主界面,每日妹子预览list; Android...
Unity 游戏开发图片纹理压缩方案 Unity 游戏开发中,图片纹理压缩是一项非常重要的技术。 Unity 提供了多种压缩格式,例如 PVRTC4、RGBA16 等,但是这些格式不一定能够满足我们的需求。在本文中,我们将讨论 Unity...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了在激烈的竞争中脱颖而出,掌握Java的核心知识并能应对各种面试问题至关重要。这份"Java面试资料(纯干货).zip"压缩包提供了丰富的资源...
在Java开发领域,掌握核心知识点对于应对技术面试至关重要。根据提供的文件内容,我们可以提炼出一些关键的面试要点,并详尽地探讨它们。 首先,Java中所有类的父类是Object类。这是Java语言继承体系的基础,所有的...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。为了在激烈的竞争中脱颖而出,掌握全面深入的Java知识是至关重要的。这份"Java面试资料(纯干货1).zip"压缩包包含了丰富的Java面试题,...