职业定义
职业定义:Java 软件工程师是指运用 Java 这种开发语言去完成软件产品的软件程序设计、开发、测试、维护升级等工作的人员。
相关职业:程序员、初级工程师、中级工程师、高级工程师、项目经理、软件设计师、软件架构师
任务职责
1. 参与项目系统设计,完成软件项目的程序开发工作;
2. 负责产品需求分析、设计和文档编写;
3. 根据产品需求和设计进行软件开发;
4. 根据市场需求提供售前支持;
5. 完成直接上级交办的其他工作任务。
知识背景
学历要求:
大部分要求大专及以上
专业技能:
夯实的 Java 基础
熟悉 Linux 操作系统
深入学习数据库技术
系统的 Web 前端技术
专业要求:
计算机类、计算机科学与技术、软件工程
大学课程
重要的大学课程:
计算机基础、C 语言程序设计、计算机网络基础、操作系统原理、Java 程序设计
职业技能
1. 熟练的使用 Java 语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的 JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
2. 熟悉基于 JSP 和 Servlet 的 JavaWeb 开发,对 Servlet 和 JSP 的工作原理和生命周期有深入了解,熟练的使用 JSTL 和 EL 编写无脚本动态页面,有使用监听器、过滤器等 Web 组件以及 MVC 架构模式进行 JavaWeb 项目开发的经验。
3. 对 Spring 的 IoC 容器和 AOP 原理有深入了解,熟练的运用 Spring 框架管理各种 Web 组件及其依赖关系,熟练的使用 Spring 进行事务、日志、安全性等的管理,有使用 SpringMVC 作为表示层技术以及使用 Spring 提供的持久化支持进行 Web 项目开发的经验,熟悉 Spring 对其他框架的整合。
4. 熟练的使用 Hibernate、MyBatis 等 ORM 框架,熟悉 Hibernate 和 MyBatis 的核心 API,对 Hibernate 的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
5. 熟练的使用 HTML、CSS 和 JavaScript 进行 Web 前端开发,熟悉 jQuery 和 Bootstrap,对 Ajax 技术在 Web 项目中的应用有深入理解,有使用前端 MVC 框架(AngularJS)和 JavaScript 模板引擎(HandleBars)进行项目开发的经验。
6. 熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用 SQL 和 PL/SQL 进行数据库编程。
7. 熟悉面向对象的设计原则,对 GoF 设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用 UML 进行面向对象的分析和设计,有 TDD(测试驱动开发)和 DDD(领域驱动设计)的经验。
8. 熟悉 Apache、NginX、Tomcat、WildFly、Weblogic 等 Web 服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
9. 熟练的使用产品原型工具 Axure,熟练的使用设计建模工具 PowerDesigner 和 EnterpriseArchitect,熟练的使用 Java 开发环境 Eclipse 和 IntelliJ,熟练的使用前端开发环境 WebStorm,熟练的使用软件版本控制工具 SVN 和 Git,熟练的使用项目构建和管理工具 Maven 和 Gradle。
常用工具
Java 代码编辑工具:JDK、MySQL 、Navicat for MySQL、IDEA、GIT、Notepad++、Sublime Text、editplus、ultraedit、vim
职业发展
Java 是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言。这可以概括 Java 有着自己独特的优势:语言简单、是一个面向对象、分布式应用并且安全、体系结构中立并且可移植,最重要,它是一个动态语言。
权威统计机构统计——在所有软件开发类人才的需求中,对 Java 工程师的需求达到全部需求量的60%~70%。Java 工程师的薪水相对较高,通常来说,具有 3~5 年开发经验的工程师,拥有年薪 10 万元是很正常的一个薪酬水平。
Java 发展方向
一是成为管理人员,例如产品研发经理,技术经理,项目经理等继续;二是他的技术工作之路,成为高级软件工程师、需求工程师等。
还是看看 IDC Java 工程师的薪水相对较高。 Java 软件工程师一般月薪范围在 4000-10000 元,远远超过了应届毕业生月薪 2500 元的平均水平。通常来说,有一年工作经验的 Java 高级软件工程师的薪酬大致在年薪 10—13 万左右。
Java 就业方向
可以从事 JSP 网站开发、Java 编程、Java 游戏开发、Java 桌面程序设计,以及其他与 Java 语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。