一、前言
职业规划这个词,最早是从刚毕业就开始听老师讲,但那个时候对一切都充满好奇,初生牛犊根本停不下来仔细的思考下职业的路。但是截止到现在已经工作6年,这期间换了几家公司,也换了几个方向,甚至换了一门语言。。。
看起来似乎没什么问题,但是自己却变得越来越焦虑,焦虑下一份工作的方向,焦虑自己不能指导新同学业务的发展和演进,焦虑自己的视野不够宽广,不能站到足够的高度去俯瞰团队做的事情。。。
程序员职业规划带着焦虑和疑惑去寻找答案。向从业多年的大佬请教过,也跟身边的朋友屡次聊到深夜,到底该怎么走才是正确的,或者适合自己的路呢?没有绝对的定论,但是一些探讨的结果还是应该被记录下来的。
二、思考内容
1、“深耕”某个领域
我们在看那些大牛的自我介绍,除了光鲜的履历,一般都会有一句话,“深耕xx10年”,这个深耕是代表人家一直从事相关领域,在这个领域积累了足够多的经验。俗称从0-的过程。
我们在就业前期,每次重新找工作可能都会涉及到方向的转变,企业也会看在你还年轻的份上,给你这个转换方向的机会。但是随着年龄和资历的提升,一直做从0-1或者1-10的事情,那么就会有一个结果。
1)去一个新公司,从事自己做过的方向0-10
2)同事们可能是一直从事这个方向,经历了0-或者0-
3)那么相对来说,不管是当领导,还是掌握核心业务,一开始我们就会输在起跑线
以上的思考警示我们,不要一直换方向做捡了芝麻丢了西瓜的事情。身为一个技术人员,对新技术和陌生领域的渴望都会很强烈,但是频繁的因为新方向和新领域而跳槽,那么带来的后果就是,这个人看起来什么都做过,经验很丰富,但是真正擅长的方向一个都没有。
那么在后续的找工作中,一些要求在某个领域“深耕”五年或者十年的岗位,基本与你无缘,而这些岗位恰恰是最适合年龄30+的你。不然呢,还去和那些工作1-5年的新同学竞争吗,除了经验丰富一些,大家的都是有0-10的水平,为什么不要年轻小伙子而花大价钱招你呢,年轻小伙子性价比多高啊。
2、“深耕”的是方向,不是纯技术
什么是纯技术,是两耳不闻窗外事,一心只做底层的程序员。这些程序员,可以理解为内功深厚,不管是哪个领域都可以搞,但是涉及到“业务”的地方可能又是知识盲区了。并不是说做纯技术不行,只是针对大部分程序员来说,都是做“业务”出身,没那么多机会去做纯技术。
什么是“业务”,是支撑实际业务发展的能力,是知道公司的发展方向以及未来战略方向,并通过不断的技术演进去提供相应的能力。俗称“CURD”
比如:
通过从0-1的技术框架实现mvp产品支撑公司业务初期的探索。(单体架构)
通过1-10的技术演进,支撑公司产品用户量递增带来的压力。(soa架构)
通过10-的业务模块拆分支撑公司产品越来越复杂的业务体系(初级微服务)
通过-的服务治理和全链路检测,基础能力建设来保证公司产品的稳定性。(成熟微服务体系)
是的,以上这些是我对技术业务的理解,我们要“深耕”的就是这块。技术架构的演进离不开产品体系的业务,我们经历这个过程,明白公司产品所在领域的发展过程和趋势,可以为后来新公司的相关产品提供成熟的建议和指引,这就是“深耕”带来的意义。走到这一步,只要是在这个领域,不管是去哪里都能混个专家当当了。
3、不要忘记了自己的基本盘是什么
这个也是朋友给我的建议,让我能在“技术诱惑”中明白自己的优势和基本盘,感谢我的朋友。
身为前端,基本盘是cover各种前端需求的能力,加分项是懂后端语言或者有后端开发经验。
身为后端,基本盘是cover各种服务端需求的能力,加分项是懂前端或者懂c++等偏底层的语言。
如果一个前端工作了3年之后,有机会转后端去了,那么相比同龄的后端,你的优势是什么?人家从毕业就做后端,三年后端经验。而这个前端呢,可能有三年前端经验1年的后端经验,对于后端岗位来说,当然是3年后端的竞争力更大一些。
对于后端开发人员来说,也是这个道理。**可以提升自己的加分项,但是尽量不要忘记自己的基本盘是什么。**当然,一心想换方向也可以的,毕竟我们能开心的工作是最好的。
4、提升软实力
技术成长到一定程度,基本上可以cover所有的需求,但是然后呢?要如何继续往上走呢,比如成为一个领导,比如成为一个团队负责人?
记得曾经看过的一篇文章,说阿里对p9的要求是有一年的战略预判,可以为业务的发展提供方向。我们不是p9,也不需要那么高瞻远瞩,但是基本的一些软实力还是要掌握的。
个人理解的软实力包括:
(1)业务能力
熟悉公司的业务或者所处领域的业务,了解上下游部门的业务,可以思考如何通过技术演进来支撑或者反推着业务前进。
(2)表达能力
这里的表达能力体现在如何清晰的表达自己的想法,我们不能总是低头写代码,学会表达自己,哪怕是通过写文档画图表达你的技术牛逼,写ppt表达你的高瞻远瞩,会议发言表达你的心思缜密,会议总结表达你的善于总结,都是ok的
(3)沟通能力
了解团队的成员并去和他们积极沟通,给他们想要的或者规划前进的方向,终极目的是可以充分发挥团队的战斗力,俗称为团队赋能,从而去实现你对于团队的一些规划和目标。
1)项目管理方面
沟通能力也意味着推动能力,push上游不要阻塞,push下游不要延期,push技术需求的落地,push团队目标的前进等等。见过太多埋头技术的同学,腼腆且寡言,面对跨团队的项目合作处处碰壁,或者暗自委屈。或许让自己的脸皮变厚,少考虑“人情”多按照规矩办事会轻松很多。
2)团队赋能方面
重要的是分析团队的属性。比如:
大厂的团队比较成熟,那么你需要做的是跟踪观察和做出适当建议即可,不需要过多干涉。
反之如果是团队成熟度低,可能团队成为的能力没那么强,那么你就需要有强大的专业能力可以直接给与指导,解决难题。
(4)向上管理能力
本来对于什么是向上管理一直不太理解,一直到跟一个大佬聊天,大佬说自己是如何向上管理的呢,不外乎就是换位思考,做领导想看到的事情,汇报领导想知道的事情,帮领导完成他的战略目标。听起来很简单,可惜我们年轻的时候总是太过自我,反而会忽略这一点。但是社会总会教会我们什么是人情世故。
三、结语
想到哪里写到哪里,这只是博主的一些思考,也许不对,也许片面,但至少代表此时此刻自己的一些想法。希望能践行自己的思考和结论,过几年再回头看看此时是否太过幼稚。
————————————————
作者:铁柱同学
来源: