前几天写了自己对于Java软件开发工程师职业发展规划方面的一些感悟,陆续收到一些反馈,希望我能再就Java工程师不同的开发(职责)方向谈谈职业发展问题。(上一篇:Java软件开发工程师的自我修养与晋升(B/S结构)下面就具体谈谈Java程序员的另一个职责方向:Java互联网开发工程师
Java互联网开发工程师的主要岗位职责是:
负责网站平台的系统设计、数据库设计、代码开发,以及技术攻关的工作。
职业发展道路基本有3条:
第一条路线(技术专精): 初级Java开发---中级--高级---项目主管--Java项目经理---网站架构师----资深专家
第二条路线(技术转产品):初级Java开发---中级--产品策划--产品经理---产品总监
-
第三条路线(技术转运营):初级Java开发---中级--运营---运营经理---运营总监
这个阶段的关键在于制定学习计划,按季度定,制定学习计划的目的,就是为了形成学习习惯,有助于执行和坚持下去。除了看专业书之外,还可以多在网上讨论和回答问题,这个对你的提高也很有帮助。
我在学习专业书的一些习惯:
书一本本的看,贪多嚼不烂,在基础章节多下功夫,高深部分在初期先不看。这样学习进度可以保障,也有成就感。
记笔记,记下要点,回顾的时候看要点就行了。
多做题,不光书上的题,还有网上的资源,也包括回答问题。
【必要技能】:
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项目经理已经是公司的中层了,这时需要学习的有:高并发网站架构设计、软件项目风险管理、常见软件开发模式、DB2数据库应用、编译原理 、海量数据库解决方案。项目经理除了技术过硬以外,还需要学习项目管理方面的知识,比如:流程管理、团队运营管理。
【必要技能】:
大型服务器负载均衡技术
软件工程系统知识
设计模式
数据结构
需求分析设计
常用算法
MySQL数据库
【锦上添花】:
HTTP和UNIX域协议
面向对象基础
高并发网站架构设计
常见软件开发模式
团队运营管理
团队沟通与协作
【相关图书】:
海量运维、运营规划之道
软件工程:实践者研究方法(原书第7版)
编程珠玑(第2版)
数据结构与算法分析:C语言描述
需求分析与系统设计
算法心得:高效算法的奥秘
高性能MySQL
HTTP权威指南
设计模式 可复用面向对象软件的基础
构建高性能Web站点(修订版)
图2:
[必要技能]:
分布式系统原理
DB2数据库应用
流程管理
数据建模
程序设计语言原理
数据库系统优化
软件项目风险管理
Microsoft SQL Server数据库应用
NoSQL非关系型的数据库
UML建模语言
[锦上添花]:
软件开发常用测试
预算管理
数据库系统优化
统计学
数据挖掘
网络安全技术与解决方案(Cisco)
【相关图书】:
分布式系统:概念与设计(原书第5版)
循序渐进DB2 (第2版)
数据库程序设计教程
程序设计语言原理
MySQL管理之道:性能调优、高可用与监控
人月神话
深入NoSQL
UML和模式应用(原书第3版)
安全软件开发之道
数据挖掘:概念与技术(原书第3版)
第一条技术专精路线基本涵盖了一个Java互联网网站开发工程师的整个技术发展生涯,是否能走下去,关键在自己,需要不断的坚持,需要强大的韧性,需要长期专注。
下面附上完整的路线图: