JAVA职业发展规划分享
Hello 大家好,我们又见面了 ,今天高老师来给大家聊一聊JAVA开发方向的职业规划,提供给各位初入职场或是没有确定目标的同学们进行参考。
职级定义
首先我们了解JAVA开发中常见的职级定义:
(1)Java程序员
这一阶段的程序员主要为刚入行的Java开发者,有良好的Java基础语言能力,能编写一定的代码。
(2)Java初级工程师
这一阶段的程序员就要掌握J2EE的基础知识体系了,包含前端开发HTML、CSS、JS、AJAX;数据掌握一到两种关系数据库,基础掌握Mysql以及具备sql编写能力;掌握JDBC技术、Servlet、jsp技术。
(3)Java中级工程师
这一阶段的程序员需要掌握企业级开发常用技术,如Spring、mvc框架、ORM框架MyBatis等;了解Web服务器;熟悉SSM、SSH搭建等等;有基础的运维能力
(4)Java高级工程师
这一阶段的程序员需要掌握高可用等实际应用场景中的解决方案需要的技术,如工作流、消息队列、文件存储、EJB、JCA、缓存、Redis、虚拟化、服务容器等等概念的实现,以及微服务架构的开发实现等。
(5)Java系统架构师
Java系统架构师这一职位主要涉及到Java系统的设计与架构,如面向服务架构、面向资源架构、面向云架构、Java与UML建模、Java设计模式等 。
ok,其实职级时纵向的深度发展,了解完职级定义和技术内容后,我们往横向发展看,我们在岗位上是否有改变的区间。
职业横向发展
(1)企业级后端开发(服务端开发)
传统的Java开发工程师都会选择的方向,面向的是更深的领域发挥,同时应为Web开发的熟练其实也可以横向发展到python企业级web开发中,毕竟oop语言的通用性不言而喻。
涉及技术:
Spring、SpringMVC、MyBatis、MyBatis-plus、SpringBoot、docker、ngix、tomcat
(2)大数据开发
Java不论是从语言还是框架都有得天独厚的集成优势,所有的计算底层也都有java的身影,所以如果从事大数据开发方向java也是必学的语言。
涉及技术:
Yarm、k8s、HBase、mongoDB、HDFS、ElasticSearch、Hive、Spark、RocketMQ、linux等。
(3)前端、安卓开发
首先,java全栈开发中,前端开发也是一个重点,如果你是一个熟悉后端开发模式的前端开发人员,在开发设计和集成中有高效工作和沟通的优势,一些公司也希望前端开发人员有后端基础知识;同时安卓开发也是有基于java的组件集成的特性所以安卓开发也是一个发展的方向。
涉及技术:
安卓框架的视图、网络、动画、多媒体等组件;app的打包、优化、本地存储。
(4)运维实施
实施运维工程师需要对服务器、以及项目的实施部署有通透的理解,如果你对程序有所了解也能帮助你在运维过程中解决很多难题。
设计技术:
容器技术、虚拟化技术、网络存储、网络虚拟化、linux、Windows Server等
最后一个,相信也是大家的目标就是架构师,但是架构师并非一朝一夕可以成为的角色,你必须对这你所属的行业有清晰的认知,对技术的概念有深刻的了解。
首先:了解行业,定位清晰
架构师的目的是能让公司在未来的发展中,产品、项目能快速敏捷开发,同时又能具备随时改变的可能性,这就要求架构师要对行业的发展和公司的能力有总体的评估,并不是一个“写框架的人”。
其次:技术成熟
成为架构师,代表你的能力能在公司哪怕技术圈子都是佼佼者,下面说一说架构师们的秘密武器~
第一:架构师的艺术
在优秀的Java体系之上建立的师对流行框架的理解和运用,能够拥有设计模式的实现能力。比如基础的常用设计模式Proxy、Factory、Delegate等等;Spring5框架源码理解、实现目的思路,毕竟前人优秀的框架从源码的角度就是一个优秀艺术品的欣赏。
第二:架构师的工具
优秀的工具能让团队的工作事半功倍,Maven、项目管理工具、环境部署模式、Jenkins、Sonar必不可少
第三:架构技术栈
设计模式是提供了编码的解决方案,在行业的应用中要熟悉各种架构,如:分布式架构、微服务架构以及他们的架构优势、原理、目的都要有所熟悉。
第四:性能优化
一个优秀的架构师就像一个10多年的修车师傅,能对全场景提出优化解决方案,让产品焕然一新。如Java调优、数据库优化、容器优化、缓存策略等等。
结语:
说了这么多,也是分享一下高老师理解的发展方向,希望同学们坚持学习、不卑不亢,未来一定会成为自己想要成为的人!!
加油!!