Java程序员有着广阔的前景,从数据来看,有超过一半的公司在使用Java 前端
岗位也是是排行第一 程序员
根据TIOBE的编程语言排行榜,排名第一 web
工资收入也比较高 spring
Java主要用于后端服务器开发以及Android开发,须要很是全面的技术栈,单论Java语言自己来讲可能3个月就够了,可是加上各类框架,好比spring boot, spring web, mybatis等等,以及包括安全控制,认证鉴权,参数校验,数据库特性,数据库优化,网络请求,服务器部署,依赖管理,版本管理。 乃至到目前流行的分布式架构,注册中心,配置中心,服务间访问,链路容错,MQ,全链路监控,JVM调优,线上问题排查等等,能够说是要求最全面,难度最大的一个职业,以上还仅仅是技术方面要求,这些只是职位的基本要求,只占50%。数据库
还有一半是你对业务的了解,这一部分甚至更为重要。好比作电商的要去了解电商,作外卖的要了解外卖,作教育的要了解教育。技术是为业务服务的,业务都没了,技术就没有存在的必要了。所以你还得不断去研究目前业务是怎么样的,将来如何规划,怎么样才是最好,一个好的开发是半个产品经理,并且会比产品经理考虑的更细。编程
1 项目经理
当你度过了小白阶段,会有几个分支选择,其中一个就是项目经理,你须要做为项目的总负责人带领团队,专一于交付。好比产品经理作了一个需求,你就是负责实现这个需求的人,你须要和产品经理澄清这个需求,哪些该作哪些是作不了,制定工做计划,天天跟踪开发进度,跨部门协调处理上下游系统问题,生产问题要能排查,开发结束后还要协调测试进行测试,协调运维人员上线,最终完成上线任务。至关于一个系统owner,出了问题都是你责任,能够比喻成带兵打仗的一线指战员,带队伍,打硬仗。后端
2 架构师
若是专一于技术路线,那下一个阶段就是架构师了,要求技术上十分精通,能解决几乎全部的技术问题,不论是后端,或者是前端,数据库。你须要完成技术选型(是用cloud仍是dubbo,Rabbit仍是Rocket),数据库选型(MySQL仍是TiDB),系统规划(将来要作啥),业务边界划分:功能作到在哪一个系统,一般这是最困难的一部分,部门之间归属撕逼现象严重,功能有些想作(抢地盘),有些不想作(甩锅),你们都是聪明人,理由也五花八门,有时候你都搞不清楚是真不知道仍是假不知道,须要特别考验智商和情商了。须要搞清楚对方的真实想法,尽可能达成一致,能坚持的必须坚持,要妥协的就认怂,因此不只须要高智商,也须要高情商。安全
3 产品经理 产品经理就不属于技术线了,程序员出身的产品经理不占少数,好比最著名的产品经理张小龙。产品经理须要前端对业务/用户很是熟悉,也须要知道系统边界在哪里,哪些能作,哪些不能作,而程序员出身的技术背景无疑会有很大的帮助。服务器
潜力巨大。CTO通常会从架构师中出,后端业务逻辑多,是与业务部门,与需求链接最为紧密的一个部门,可以接触到核心业务,而业务才是公司真正的利益所在,所以对于我的成长比较有帮助。网络
入行难,门槛高。后端应该是门槛最高的一个岗位,所谓的Java程序员不仅仅是Java一门语言而已,还涉及到数据库,网络,操做系统,分布式等一系列知识。不只入门困难,还须要不断挑战自我,去自我驱动学习,对于人才的基本要求会比较高。