首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >能跑的不如会跑的,浅谈JAVA职业发展路线

能跑的不如会跑的,浅谈JAVA职业发展路线

作者头像
xjjdog
发布2020-01-14 16:31:21
7050
发布2020-01-14 16:31:21
举报
文章被收录于专栏:架构专题架构专题

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

广度和深度,是两个顾此失彼的极端。对于程序员来说,从一个初学者演化成一个终极形态,无不是这两种力量的拉锯。

当被这两种力量撕扯,无所适从的时候,我们把它叫做对未来的迷茫。

程序员很容易达到职业的天花板(大多数)。十年成架构。这不是炫耀,而是悲哀的现实。所以成为一个架构师并不难,难的是以后的路。

企业需要钉子。如何做一枚价值更大的钉子,正是很多人追求的。本文将介绍一个比较常见的程序员进化之路。每个公司的路线都不太一样,所以我的这张图,会有偏差,您就参考一下就得了。

发展路线

有三种发展路线,一种是侧重于技术的,一条路走到底;一种专注于业务,成为行业专家;另外一条路,是成为一个管理者。

初级程序员

初级程序员,通常自己都有一股错觉,觉得自己无所不能。什么都懂,聊什么都能头头是道的说上两句。

在这个阶段,往往会对其中一门开发语言情有独钟,会追求一些非常细的知识点(这是对的),并尝试去搜罗流传于网络上的N手资料。

作为一个缺乏工作经验的初级码农,面试时甚至会有笔试。考察方面多限于基础知识,以及算法方面的内容。

入职后,多负责一些后台页面的开发任务,或者处理一些日常事务,会经常发出一种”面试造火箭,入职拧螺丝“的感叹。

客户端开发

出于热爱,或者有一定的审美能力,部分同学在入门基本开发之后,会选择类似android的客户端开发。

此部分工作集中在app开发,H5,或者游戏开发上。这属于另一个分支,我们不做过多介绍。

客户端开发的工作很辛苦,倒不在于工作本身。客户端开发框架,较之于后端,变化更快,让人疲于奔命;由于成果能够直接被眼睛看到,遇到不靠谱的需求,就需要经常返工:)。

但其中的创新的快感和成就感,是很多后端开发无法体验到的。

Web开发

很多入坑java的,就是从web开发开始的。比如开发一个小博客,或者管理系统。

web开发接触最多的就是SSM,也是培训的重灾区。

很多人对技术的修炼,就到此为止了。十年工龄,两年经验,就是说的这里。通常挂在嘴边的话就是:“总共就那么点访问量,学些高级的技术,干什么用?”

所以一直做web开发的同学,一定要选一个可以深耕的业务,加深对产品的理解;或者走技术路线,多接触一些复杂的系统。

全栈开发

现在的小公司太多,为了节省成本,程序员从前端到后端到运维,什么都干。样样行,样样怂。

但可惜的是,随着公司成长,全栈,要么进化为元老,要么被淘汰,去进行下一轮全栈。

全栈多用于敏捷开发,能够快速对产品进行验证,实时调整策略。

听起来很美好,但不要高兴的太早,除非在其他方面有杰出的贡献,大多数全栈开发会沦为炮灰,因为太容易被替代。

当然,全栈的选择会更多,包括让人羡慕的自由职业者。也可以适时吹点牛X。

项目经理

一些能言善辩,喜欢和人打交道的,会选择这条路子。

大多数工作就是开会,统计、协调进度,更像是一个干杂活的,区别就是手里有一点点权利。

项目经理喜欢考证,许多公司去拿项目的时候,会用得着。

有很多结构优雅的公司,不需要项目经理,这种活有人兼职去做了。所以项目经理,在一些人员复杂,客户刁钻的公司,或者外包公司,还比较吃香。

喜欢埋头苦干的码农,会比较排斥此发展路线,所以这也算各得其所。

以前是人人都是项目经理,现在是人人都是产品经理。

你已经get到点了。

业务专家

选择了这条路,就往产品上靠的比较近了,但它又与产品有本质上的不同。

业务专家不是设计产品的,而是指在某个垂直行业,有多年的工作经验和深刻的见解,辅助决策。

业务专家能够了解业务系统中关键的要点和风险点,在技术设计的时候,兼顾业务属性,并能做微创新。

业务专家通常存在于比较稳定的行业,比如银行、保险、电信等。跳槽机会更少一些,但有一个步步高升的期望。但不要被伪业务耽误终生,并不是所有的业务都有深耕的价值。

如果你是空气币老板,有P2P业务专家和IM系统业务专家两个人选,你肯定会优先选择搞P2P的。也就是说,很多业务的壁垒很高,对于业务专家来说,跨行的成本也很高。

技术专家

对某项技术有非常专业的见解,能够维护一个到多个复杂的技术中间件系统,比如,编写、维护一个MQ。

这也是大部分研发希望达到的技术高度。但可惜的是,随着云环境的推广,这部分的需求也越来越少,在可以预见的未来,需求会更加萎靡。

但在一些大公司内部,机会和缺口还是很大。从IAAS、PAAS、SAAS,到现在的Serverless、中台概念,都是技术专家们不甘寂寞的自我升级,技术群体的整体路线也越走越窄。

技术专家带有强烈的技术光环,使用的技术“四海皆准”,不需要关注太多业务,几乎能适应任何公司。

业务架构师

我见过两种业务架构师。其中一种,是入驻在业务部门,专门与技术架构进行配合的,其实还是技术架构。另外一种业务架构师,对技术了解较少,但对行业有很敏锐的洞察力。

中小型公司,纯粹的业务架构师很少见,还是需要具体的技术实施,我们可以认为业务架构师是业务专家的升级版本,能够权衡得失,出解决方案的那种。

你是业务专家,同时也是技术专家,可公司不会给你两份工资。所以你会得到一个技术属性的业务架构师称号。

技术架构师

可能大多数人,认为技术架构师做的工作,就是搭建一个开发框架,写一些公共类。这只是一小部分。

技术架构师同样是一个进行权衡的职业,在小型公司很难见到,因为没有那么多的需求。

技术架构师通常会对多个技术产品进行深入比较,并选择最合适的。影响因素有很多,比如公司技术栈、产品类型、管理、成本、工期等。

架构师与高级开发的区别是:开发能够实现某种方案,而架构师能够在多种方案上进行权衡。

无论是业务架构师,还是技术架构师,都需要从大量冲突的资源中,找到一种最优的协调方式,以解决问题为主,不会再拘泥于某种语言或个人喜好。

CTO

作为见过n个CTO跑的人,我一直在思考架构师与CTO的区别,作为这个会有专门的文章进行剖析,在这里写一下主要的点。

1、需要考虑公司的整体发展战略,明确技术团队的演化方向。有战略思维。

2、对上能够用“人话”与CEO进行沟通,对下能够保证系统的稳定,产品的进度。有沟通能力。

3、打造有竞争力的团队,会涉及大量管理工作。有管理经验。

4、有行业影响力,自带光环,对企业有附加价值。

End

每一条路,都荆棘密布。等你达到你想要的高度,会突然发现:已经35岁了。

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小姐姐味道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 发展路线
    • 初级程序员
      • 客户端开发
        • Web开发
          • 全栈开发
            • 项目经理
              • 业务专家
                • 技术专家
                  • 业务架构师
                    • 技术架构师
                      • CTO
                      • End
                      相关产品与服务
                      消息队列 TDMQ
                      消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档