Java程序员的职业发展道路基本有3条:
技术专精路线: 初级Java开发--中级开发--高级开发---项目主管--Java项目经理--架构师--资深专家
技术转产品路线:初级Java开发--中级开发--产品策划--产品经理---产品总监
技术转运营路线:初级Java开发--中级开发--运营--运营经理--运营总监
这篇文章主要谈第一条路线:技术专精

基础Java工程师学习内容
【第一阶段】初级--中级开发工程师(公司基层)
首先要学习Java常用框架(Struts MVC、Spring、Hibernate框架)、oracle数据库、JavaScript脚本基础、JSP动态网页开发、Java程序设计基础知识。
这是一个入门和提高的过程,一般来说,这个阶段,快则半年,慢则一年。再学习常用web服务器配置方面的知识,你应该可以成为一名中级开发工程师。
这个阶段的关键在于制定学习计划,按季度定,制定学习计划的目的,就是为了形成学习习惯,有助于执行和坚持下去。除了看专业书之外,还可以多在网上讨论和回答问题,这个对你的提高也很有帮助。
我在学习专业书的一些习惯:
书一本本的看,贪多嚼不烂,在基础章节多下功夫,高深部分在初期先不看。这样学习进度可以保障,也有成就感。
记笔记,记下要点,回顾的时候看要点就行了。
多做题,不光书上的题,还有网上的资源,也包括回答问题。
【必要技能】
Java版本区别与了解
HTML、CSS
oracle数据库
JSP动态网页开发
JavaScript脚本基础
Java程序设计基础
常用团队协作开发工具
Java常用框架
【锦上添花】
【相关图书】
【第二阶段】高级开发工程师--Java项目经理(公司中层)
高级开发工程师需要学习的技能有:软件工程系统知识、常用算法、MySQL数据库、大型服务器负载均衡优化技术、oracle数据库、数据结构、需求程序设计文档,测试文档。掌握这些,你应该可以独挡一面了。
Java项目经理已经是公司的中层了,这时需要学习的有:高并发网站架构设计、软件项目风险管理、常见软件开发模式、DB2数据库应用、编译原理 、海量数据库解决方案。
项目经理除了技术过硬以外,还需要学习项目管理方面的知识,比如:流程管理、团队运营管理。
【必要技能】
大型服务器负载均衡技术
软件工程系统知识
设计模式
数据结构
需求分析设计
常用算法
MySQL数据库
【锦上添花】
HTTP和UNIX域协议
面向对象基础
高并发网站架构设计
常见软件开发模式
团队运营管理
团队沟通与协作
【相关图书】
《海量运维、运营规划之道》
《软件工程:实践者研究方法(原书第7版)》
《编程珠玑(第2版)》
《数据结构与算法分析:C语言描述》
《需求分析与系统设计》
《算法心得:高效算法的奥秘》
《高性能MySQL》
《HTTP权威指南》
《设计模式 可复用面向对象软件的基础》
《构建高性能Web站点(修订版)》
【第三阶段】网站架构师向资深专家发展(公司高层)
网站架构师工作会用到:数据建模、NoSQL非关系型的数据库、Windows Server服务器架设管理、流程管理、Microsoft SQL Server数据库应用、高并发网站架构设计、分布式系统原理、数据库系统优化、UNIX/Linux 系统管理、软件项目风险管理。
这时候,你可以以一个资深专家的身份去回答问题,发表一些专业文章,参与行业交流。
这也标志这你已成为公司的高层,有资格进入这个领域的核心圈了。
【必要技能】
【锦上添花】
软件开发常用测试
预算管理
数据库系统优化
统计学
数据挖掘
网络安全技术与解决方案(Cisco)
【相关图书】
《分布式系统:概念与设计(原书第5版)》
《循序渐进DB2 (第2版)》
《数据库程序设计教程》
《程序设计语言原理》
《MySQL管理之道:性能调优、高可用与监控》
《人月神话》
《深入NoSQL》
《UML和模式应用(原书第3版)》
《安全软件开发之道》
《数据挖掘:概念与技术(原书第3版)》
以上,基本涵盖了一个Java互联网网站开发工程师的整个技术发展生涯,是否能走下去,关键在自己,需要不断的坚持,需要强大的韧性,需要长期的专注。
在技术方面无论我们怎么学习,总感觉需要提升自已,并且不知道自己处于什么水平了。有清晰的指示图供参考还是非常不错的,这样我们能有所参照。

Java程序员成长路线图