职业发展道路基本有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版)
第二阶段:成长为高级开发工程师-----Java项目经理(公司中层)
高级开发工程师需要学习的技能有:软件工程系统知识、常用算法、MySQL数据库、大型服务器负载均衡优化技术、oracle数据库、数据结构、需求程序设计文档,测试文档。掌握这些,你应该可以独挡一面了。
Java项目经理已经是公司的中层了,这时需要学习的有:高并发网站架构设计、软件项目风险管理、常见软件开发模式、DB2数据库应用、编译原理 、海量数据库解决方案。项目经理除了技术过硬以外,还需要学习项目管理方面的知识,比如:流程管理、团队运营管理。
【必要技能】:
大型服务器负载均衡技术
软件工程系统知识
设计模式
数据结构
需求分析设计
常用算法
MySQL数据库
【锦上添花】:
HTTP和UNIX域协议
面向对象基础
高并发网站架构设计
常见软件开发模式
团队运营管理
团队沟通与协作
【相关图书】:
海量运维、运营规划之道
软件工程:实践者研究方法(原书第7版)
编程珠玑(第2版)
数据结构与算法分析:C语言描述
需求分析与系统设计
算法心得:高效算法的奥秘
高性能MySQL
HTTP权威指南
设计模式 可复用面向对象软件的基础
构建高性能Web站点(修订版)
第三阶段:网站架构师向资深专家发展(公司高层)
网站架构师工作会用到:数据建模、NoSQL非关系型的数据库、Windows Server服务器架设管理、流程管理、Microsoft SQL Server数据库应用、高并发网站架构设计、分布式系统原理、数据库系统优化、UNIX/Linux 系统管理、软件项目风险管理。这时候,你可以以一个资深专家的身份去回答问题,发表一些专业文章,参与行业交流。这也标志这你已成为公司的高层,有资格进入这个领域的核心圈了。
[必要技能]:
分布式系统原理
DB2数据库应用
流程管理
数据建模
程序设计语言原理
数据库系统优化
软件项目风险管理
Microsoft SQL Server数据库应用
NoSQL非关系型的数据库
UML建模语言
[锦上添花]:
软件开发常用测试
预算管理
数据库系统优化
统计学
数据挖掘
网络安全技术与解决方案(Cisco)
【相关图书】:
分布式系统:概念与设计(原书第5版)
循序渐进DB2 (第2版)
数据库程序设计教程
程序设计语言原理
MySQL管理之道:性能调优、高可用与监控
人月神话
深入NoSQL
UML和模式应用(原书第3版)
安全软件开发之道
数据挖掘:概念与技术(原书第3版)
第一条技术专精路线基本涵盖了一个Java互联网网站开发工程师的整个技术发展生涯,是否能走下去,关键在自己,需要不断的坚持,需要强大的韧性,需要长期专注。
下面附上完整的路线图:
在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了。但如果有清晰的指示图供参考还是非常不错的,这样我们清楚的知道我们大概处于那个阶段和水平。
我规划了几张体系图,可以了解一下。
一:常见模式与工具
学习Java技术体系,设计模式,流行的框架与组件是必不可少的:
二:工程化与工具
工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:
三:分布式架构
高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:
四:微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
五:性能优化
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
六:B2C商城
这个不用多说,作为一个架构师,怎么能没有实战经验呢?
最后送福利了,现在私信我“资料”即可获取高清版思维导图,还有Java工程化、高性能及分布式、高性能、高架构、性能调优、Spring、MyBatis、Netty源码分析等多个知识点高级进阶干货的直播免费学习权限及相关视频资料,还有spring和虚拟机等书籍扫描版
閱讀更多 Java邵先生 的文章