从Java程序员到CTO的成长路线图

很多新人不知道从事java开发,具体的发展路径是怎么样的,甚至很多人都不能区分程序猿和攻城师的区别。包括不少小白,从事java开发都半年,甚至1年了,对职业发展还没有清晰的认证。这非常不利于自己的发展,人要往哪走,首先需要明确的是方向。今天,就给大家揭露一下java开发从程序猿到CTO的路线图,以及每个阶段需要掌握的技术。

Paste_Image.png
Paste_Image.png

Java程序员

  • 高级特性

    • 反射、泛型、注释符、自动装箱和拆箱、枚举类、可变
    • 参数、可变返回类型、增强循环、静态导入
  • 核心编程

    • IO、多线程、实体类、
    • 集合类、正则表达式、
    • XML和属性文件
  • 图形编程

    • AWT(Java2D/JavaSound/JMF)、Swing、SWT、JFace
  • 网路编程

    • Applet、Socket/TCP/UDP、NIO、RMI、CORBA
  • Java语法基础

    • 类、抽象类、接口、最终类、静态类、匿名类、内部类、异常类、编码规范
  • Java开发环境

    • JDK、JVM、Eclipse、Linux
  • Java核心编程技术

Java,设计而又非常精巧的语言。学习Java,须从Java开发环境开始,到Java语法,再到Java的核心API。

  1. Java开发入门:Java开发环境的安装与使用,包括JDK命令、EclipseIDE、Linux下Java程序的开发和部署等。
  2. Java语法基础:基于JDK和Eclipse环境,进行Java核心功能开发,掌握Java面向对象的语法构成,包括类、抽象类、接口、最终类、静态类、匿名类、内部类、异常的编写。
  3. Java核心API:基于JDK提供的类库,掌握三大核心功能:
    • Java核心编程:包括Java编程的两大核心功能——Java输入/输出流和多线程,以及常用的辅助类库——实体类、集合类、正则表达式、XML和属性文件。
    • Java图形编程:包括Sun的GUI库AWT(Java2D、JavaSound、JMF)和Swing,IBM和GUI库SWT和Jface;
    • Java网路编程:Applet组件编程,Socket编程,NIO非阻塞Socket编程、RMI和CORBA分布式开发。
  4. Java高级特性:掌握JDK1.4、JDK5.0、JDK6.0中的Java高级特性,包括反射、泛型、注释,以及java高级特性——自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入等。

JavaEE初级软件工程师

  • JSF框架开发技术

    • 配置文件(页面导航、后台Bean)、JSF组件库(JSF EL语言、HTML标签、事件处理、)、JSF核心库(格式转换、输入验证、国际化)
  • Javaweb核心开发技术

    • 开发环境(Eclipse、Linux)
    • 三大组件(JSP、JavaBean、Servlet)
    • 扩展技术(EL、JSTL、Taglib)
    • 网页开发技术
    • HTML、XML、CSS、JavaScript、AJAX
    • 数据库设计技术 [SQL、MySql、Oracle、SQLServer、JDBC]
    • Web服务器(Tomcat/Jetty/Resin/JBossWeb)
  • JavaWeb项目开发的全过程可以分解为:

    • 网页开发+数据库设计——>JavaWeb项目开发,其中,javaWeb由6项基本技术组成:JSP+JavaBean+Servlet+EL+JSTL+Taglib,而JSF正是将这6种技术进行有机结合的技术框架

JavaEE中级软件工程师

  • 四种经典架构SSH1、SSI1、SSH2、SSI2
  • Struts1表现层框架
    • 入门配置、核心组件、标签库、国际化、数据检验、数据库开发、Sitemesh集成、集成Hibernate/iBATIS
  • Struts2表现层框架
    • 入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成转换器、拦截器、集成Hibernate/iBATIS
  • Spring业务层框架
    • 入门配置、IoC容器、MVC、标签库、国际化、数据校验、数据库开发
  • Hibernate持久层框架
  • MySQL、Oracle、SQLServer iBATIS持久层框架
  • MySQL、Oracle、SQLServer
  • Web服务器(Tomcat/Jetty/Resin/JBossWeb)

Java高级软件工程师

  javaWeb开源技术与框架
  工作流、
  规则引擎
  搜索引擎、
  缓存引擎 、
  任务调度、
  身份认证
  报表服务、
  系统测试、
  集群、
  负载平衡、
  故障转移

  JavaWeb分布式开发技术
  JTA(Java事物管理)
  JAAS(Java验证和授权服务)
  JNDI(Java命名和目录服务)
  JavaMail(Java邮件服务)
  JMS(java信息服务)
  WebService(web服务)
  JCA(java连接体系)
  JMS(java管理体系)

  应用服务器(JBossAS/WebLogic/WebSphere)


JavaEE系统架构师

  • 面向云架构(COA)

    • COA、SaaS、网格计算、集群计算、分布式计算、云计算
  • 面向资源架构(ROA)

    • ROA、RESI
  • 面向web服务架构(SOA)

    • WebService、SOA、SCA、ESB、OSGI、EAI
  • Java设计模式

    • 创建式模式:抽象工厂/建造者/工厂方法/原型/单例
    • 构造型模式:适配器/桥接/组合/装饰/外观/享元/代理
    • 行为型模式:责任链/命令/解释器/迭代子/中介者/备忘录/观察者/状态/策略/模板方法/访问者
  • Java与UML建模

    • 对象图、用例图、组件图、部署图、序列图、交互图、活动图、正向工程与逆向工程

CTO首席技术官

  • 发展战略
  • 技术总监
  • 团队提升
  • 团队建设
  • 项目管理
  • 产品管理

一般情况下,java的发展路线是这样的,当然,具体情况因人而异。比如,有的可能后来转入产品职位或其他职位了。另外,每个企业里面java从业人员的title是不同的。比如,有的企业有CTO,而有的企业则只有技术经理或技术主任等,叫法不同,但本质和所需掌握的技术大致相同。


原文链接:http://www.jianshu.com/p/a55a4ed2fc43

 
原文地址:https://www.cnblogs.com/linghu-java/p/5728243.html