前几天写了自己对于Java软件开发工程师职业发展规划方面的一些感悟,陆续收到一些反馈,希望我能再就Java工程师不同的开发(职责)方向谈谈职业发展问题。(上一篇:Java软件开发工程师的自我修养与晋升(B/S结构)下面就具体谈谈Java程序员的另一个职责方向:Java互联网开发工程师
Java互联网开发工程师的主要岗位职责是:
负责网站平台的系统设计、数据库设计、代码开发,以及技术攻关的工作。
职业发展道路基本有3条:
- 第一条路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家
- 第二条路线(技术转产品):初级Java开发---中级--产品策划--产品经理---产品总监
- 第三条路线(技术转运营):初级Java开发---中级--运营---运营经理---运营总监
这篇文字主要谈第一条路线:技术专精
第一条发展路线:技术专精路线
发展轨迹:初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家
第一阶段:初级--中级开发工程师(公司基层)
首先学习Java常用框架(Struts MVC、Spring、Hibernate框架)、oracle数据库、JavaScript脚本基础、JSP动态网页开发、Java程序设计基础知识,这是一个入门和提高的过程,一般来说,这个阶段,快则半年,慢则一年。再学习常用web服务器配置方面的知识,你应该可以成为一名中级开发工程师。
这个阶段的关键在于制定学习计划,按季度定,制定学习计划的目的,就是为了形成学习习惯,有助于执行和坚持下去。除了看专业书之外,还可以多在网上讨论和回答问题,这个对你的提高也很有帮助。
我在学习专业书的一些习惯:
书一本本的看,贪多嚼不烂,在基础章节多下功夫,高深部分在初期先不看。这样学习进度可以保障,也有成就感。
记笔记,记下要点,回顾的时候看要点就行了。
多做题,不光书上的题,还有网上的资源,也包括回答问题。
【必要技能】:
-
Java版本区别与了解
- HTML、CSS
- oracle数据库
- JSP动态网页开发
- JavaScript脚本基础
- Java程序设计基础
- 常用团队协作开发工具
- Java常用框架
【锦上添花】:
-
常用web服务器配置
- 软件需求说明文档写作
【相关图书】:
-
Java虚拟机规范(Java SE 7版)
- 疯狂Java讲义(第2版)
- HTML、CSS、JavaScript网页制作从入门到精通
- DBA的思想天空:感悟Oracle数据库本质
- Git权威指南
- JSP应用与开发技术
- Spring 3.x企业应用开发实战
- Struts 2.x权威指南(第3版)
- 精通Hibernate(第2版)
图:
图片来源:6座网
第二阶段:成长为高级开发工程师-----Java项目经理(公司中层)
高级开发工程师需要学习的技能有:软件工程系统知识、常用算法、MySQL数据库、大型服务器负载均衡优化技术、oracle数据库、数据结构、需求程序设计文档,测试文档。掌握这些,你应该可以独挡一面了。
Java项目经理已经是公司的中层了,这时需要学习的有:高并发网站架构设计、软件项目风险管理、常见软件开发模式、DB2数据库应用、编译原理 、海量数据库解决方案。项目经理除了技术过硬以外,还需要学习项目管理方面的知识,比如:流程管理、团队运营管理。
【必要技能】:
-
大型服务器负载均衡技术
- 软件工程系统知识
- 设计模式
- 数据结构
- 需求分析设计
- 常用算法
- MySQL数据库
【锦上添花】:
-
HTTP和UNIX域协议
- 面向对象基础
- 高并发网站架构设计
- 常见软件开发模式
- 团队运营管理
- 团队沟通与协作
【相关图书】:
-
海量运维、运营规划之道
- 软件工程:实践者研究方法(原书第7版)
- 编程珠玑(第2版)
- 数据结构与算法分析:C语言描述
- 需求分析与系统设计
- 算法心得:高效算法的奥秘
- 高性能MySQL
- HTTP权威指南
- 设计模式 可复用面向对象软件的基础
- 构建高性能Web站点(修订版)
图2:
第三阶段:网站架构师向资深专家发展(公司高层)
网站架构师工作会用到:数据建模、NoSQL非关系型的数据库、Windows Server服务器架设管理、流程管理、Microsoft SQL Server数据库应用、高并发网站架构设计、分布式系统原理、数据库系统优化、UNIX/Linux 系统管理、软件项目风险管理。这时候,你可以以一个资深专家的身份去回答问题,发表一些专业文章,参与行业交流。这也标志这你已成为公司的高层,有资格进入这个领域的核心圈了。
[必要技能]:
-
分布式系统原理
- DB2数据库应用
- 流程管理
- 数据建模
- 程序设计语言原理
- 数据库系统优化
- 软件项目风险管理
- Microsoft SQL Server数据库应用
- NoSQL非关系型的数据库
- UML建模语言
[锦上添花]:
-
软件开发常用测试
- 预算管理
- 数据库系统优化
- 统计学
- 数据挖掘
- 网络安全技术与解决方案(Cisco)
【相关图书】:
-
分布式系统:概念与设计(原书第5版)
- 循序渐进DB2 (第2版)
- 数据库程序设计教程
- 程序设计语言原理
- MySQL管理之道:性能调优、高可用与监控
- 人月神话
- 深入NoSQL
- UML和模式应用(原书第3版)
- 安全软件开发之道
- 数据挖掘:概念与技术(原书第3版)
图3:
第一条技术专精路线基本涵盖了一个Java互联网网站开发工程师的整个技术发展生涯,是否能走下去,关键在自己,需要不断的坚持,需要强大的韧性,需要长期专注。
下面附上完整的路线图:
干货系列1:Java互联网网站开发工程师 的技术提高与晋升路线(技术专精)