前几天写了自己对于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版)

图:


20140513141858062


图片来源:6座网



第二阶段:成长为高级开发工程师-----Java项目经理(公司中层)

   高级开发工程师需要学习的技能有:软件工程系统知识、常用算法、MySQL数据库、大型服务器负载均衡优化技术、oracle数据库、数据结构、需求程序设计文档,测试文档。掌握这些,你应该可以独挡一面了。
   Java项目经理已经是公司的中层了,这时需要学习的有:高并发网站架构设计、软件项目风险管理、常见软件开发模式、DB2数据库应用、编译原理 、海量数据库解决方案。项目经理除了技术过硬以外,还需要学习项目管理方面的知识,比如:流程管理、团队运营管理。

【必要技能】:

  • 大型服务器负载均衡技术

  • 软件工程系统知识

  • 设计模式

  • 数据结构

  • 需求分析设计

  • 常用算法

  • MySQL数据库


【锦上添花】:
  • HTTP和UNIX域协议

  • 面向对象基础

  • 高并发网站架构设计

  • 常见软件开发模式

  • 团队运营管理

  • 团队沟通与协作


【相关图书】:
  • 海量运维、运营规划之道

  • 软件工程:实践者研究方法(原书第7版)

  • 编程珠玑(第2版)

  • 数据结构与算法分析:C语言描述

  • 需求分析与系统设计

  • 算法心得:高效算法的奥秘

  • 高性能MySQL

  • HTTP权威指南

  • 设计模式 可复用面向对象软件的基础

  • 构建高性能Web站点(修订版)


图2:


20140513142138046


第三阶段:网站架构师向资深专家发展(公司高层)

   网站架构师工作会用到:数据建模、NoSQL非关系型的数据库、Windows Server服务器架设管理、流程管理、Microsoft SQL Server数据库应用、高并发网站架构设计、分布式系统原理、数据库系统优化、UNIX/Linux 系统管理、软件项目风险管理。这时候,你可以以一个资深专家的身份去回答问题,发表一些专业文章,参与行业交流。这也标志这你已成为公司的高层,有资格进入这个领域的核心圈了。

[必要技能]:
  • 分布式系统原理

  • DB2数据库应用

  • 流程管理

  • 数据建模

  • 程序设计语言原理

  • 数据库系统优化

  • 软件项目风险管理

  • Microsoft SQL Server数据库应用

  • NoSQL非关系型的数据库

  • UML建模语言


[锦上添花]:

  • 软件开发常用测试

  • 预算管理

  • 数据库系统优化

  • 统计学

  • 数据挖掘

  • 网络安全技术与解决方案(Cisco)


【相关图书】:
  • 分布式系统:概念与设计(原书第5版)

  • 循序渐进DB2 (第2版)

  • 数据库程序设计教程

  • 程序设计语言原理

  • MySQL管理之道:性能调优、高可用与监控

  • 人月神话

  • 深入NoSQL

  • UML和模式应用(原书第3版)

  • 安全软件开发之道

  • 数据挖掘:概念与技术(原书第3版)

图3:


20140513142449015

       第一条技术专精路线基本涵盖了一个Java互联网网站开发工程师的整个技术发展生涯,是否能走下去,关键在自己,需要不断的坚持,需要强大的韧性,需要长期专注。

下面附上完整的路线图:

20140513142646187