一个4年后端开发的职业生涯
四年程序员生涯的回顾
职业规划容易吗
还记得在大学期间,我们有一门课程叫做职业规划课程,给我们上课的是一位很有才华的女老师。他有个很显著的特点,特别会演讲,总能调动学生们的气氛。学生们听她的课,犹如看哲学大家的演讲,幽默且富有哲理。
我到现在还记得老师给的一句话,以后步入职业生涯,一定要做好规划,2年规划,5年规划。。。并且按照规划去做,这样才能一步一个脚印,在事业中走的稳重,不掉队
当时可能感觉很简单,不就是定个规划,感觉也没什么难的。等到自己毕业了,工作了,才发现这确实不是一件很容易的事情。
工作了,发现有时候也不知道自己想要的,好像工资都是第一要素,认识的同事,大多数都是因为薪水跳的槽。当然这无可厚非,因为自己也有因为薪水跳槽的经历。好像薪水高了,自己就满足了。职业生涯的规划,好像都是面向加薪的。
反观周围的同事,有些人确实做的很好,技术好沟通能力也强,慢慢成为小组长,成为项目负责人 。。。还有一部分就感觉是昏昏度日,工作中也能做的很好,每次的工作任务也能完成的很好,自己负责的模块也都认真对待,但是感觉总是待在自己的舒适区中。我想传说中35岁淘汰的可能就是这些人吧。
有些人确实是没有做好职业规划,这样看下来,职业规划确实不是一件很容易的事情。
四年职业生涯的回顾
这里来回顾下自己四年的职业
在四年的事业生涯,目前已经是是从事的第三家公司了。对于程序员,一年一跳,好像是大有人在,不过确实也是有点过于频繁了。
第一家公司做的是教育,自己任职期间,可能也是刚毕业,什么都想做,什么都想最好,确实也做了很多工作。不过都是很皮毛的,毕竟刚毕业也不可能接触过较为核心的工作或者项目。
对于学习中,自认为是没有掌握到学习的方法,因为不会的太多,也没有系统学习的意识,刚开始确实在学习中有点浪费时间了。不过后来了解到,我们组的 leader 每天来公司很早,人家都会有这段时间来学点新的东西。 自己可能受到了鼓舞,从那之后,也是每天早早的起床,利用早上的一段空闲时间来学习一些东西。当然这个习惯的养成,对我确实是受益匪浅,这可能是我在这家公司受益最大的一个点。
之后因为,薪水的原因,感觉自己做了好多东西,能力很好了,应该有相对应的薪水,提了涨薪,没有同意,就这样自己跳槽了。
第二家公司做的是工业互联网,创业公司,吸引我的除了薪水,可能就是公司有几个技术大牛。感觉自己在大牛的指导下工作,日后自己的技术也能突飞猛进。
确实是,在这家确实学到了很多东西。可能是之前的一段时间,只关注业务,在代码方面,没人带我,帮我进行一些 code review 和一些技术方面的指导。在这里感觉自己变成了一枚小白,代码质量被批的惨不忍睹。当然还是挺感谢这段经历的,不是每个人都能在职业生涯中,遇到这种锻炼和提高机会的。
当然也感谢当时的同事,确实认真花时间帮我做代码审查了。后面经过一段时间的犯错和改正,这样的重复,肉眼可见在这方面确实慢慢在变好了。
同样,因为是创业公司,人员配置没有很齐全,除了写代码,服务器的部署也需要自己去做。当时自己对 k8s 和 docker 这种容器技术,可谓是小白一枚,因为之前这些都有专门的运维同时去做,自己基本上没有接触过。
当然很长一段时间,因为这些的不熟识,在工作中确实走了好多弯路,然后自己私下花了很多时间,对于这方便进行了补强。
所以个人感觉,因为接触的东西多了,自己业务很多时间都是在这些方面的查漏补缺的学习,感觉学了很多东西,不过可能更多的是查漏补缺,没有进行一些系统的学习,这就造成了很多东西,之其然而不知其所以然。当然,作为一名合格的程序员,我们除了 curd ,还需要去弄明白背后的原理。
之后因为某些原因,从这家公司离开的时候,感觉自己有一定了技术积累了,但是实际的面试确实啪啪打脸,好像是没看过源码,就不是一个合格的程序员。
第三家公司后来来到了第三家公司,因为之前面试遇到的困境,自己在接下来的时间花了很多的精力和你时间去系统的看了一些源码。
同时可能是上家公司的高要求,自己的代码水平确实有了提高,感觉到这边工作中很轻松,这才意识到确实是自己做的更好了。
然后,到这边课余时间,花了很多时间学习,写博客。。。对一些知识点进行了系统性的了解。
回顾完自己过去的四年,不仅问自己一句话,这四年来自己是否做好了规划,是否满足自己的预期。
答案是否定的,至少在前两年,是没有做好规划,学习中也没有掌握窍门,好一点的是最近两年,自己在这方面的意识逐渐加强了,开始有计划的安排一些知识点的系统学习,不过四年光阴弹指间,时间确实流失的飞快。
从2020年,好像意识到这样是不对的,开始有意识的做了一些短期内的总结和规划。
害,这里对即将到期的5年规划,亡羊补牢,提前做个总结
我的5年规划
5年规划目标:
1、基础扎实:语言本身的,数据库的,网络的,以及服务运维的。都能有较好的基础;
2、情商沟通能力:有较好的沟通能力,能够有项目的owner意识,具备业务骨干具备的沟通和担当能力;
3、业务积累:经过几年的试错,能够找到自己感兴趣的方向,并且在某一方面业务中有一定的积累。
4、学习:有自己的一套学习方法论,面对新鲜事物,能够合理的花时间去学习总结。
上面可能就是第一个5年的规划了,那么过去的四年究竟做到了那些,这里来回顾下
1、基础,这里给自己7分吧,最近两年,源码,原理,一些技术实践,也陆陆续续了解了和实践了,不过还有一些欠缺,网络的学习,k8s 学习了,还没完整的实践过;
2、情商沟通能力,这里给自己8分吧,有沟通能力,但是没有做好向上管理,自己做好了,需要让同事们或者领导知道你的辛苦,你的能力和你做的成果,可能还是有学生思维,自己做好就行了,这点要转变;
3、业务积累,这块给自己 5 分吧,近期一些业务中算是有了积累,感觉对于成为业务性人才,这块还是有点缺失;
4、学习中,掌握了一套学习的方法论,这块可以给自己打 9 分,鼓励下。
这样算下来,总体上是满意的,距离5年的规划,还有一年时间,加油,一年中还是可以做很多和改变很多事情的。
总结下来,这些目标的达成了,除了要认真工作外。需要花大量的时间去学习,毕竟能力,技术都是需要一定的认知作为基础。
期许和展望
4年离5年还差一年,希望自己的第一个5年走的稳重且坚定
参考
【程序员人生:技术人员的职业发展规划】http://blog.csdn.net/universsky2015/article/details/108846699
- 计算机网络-网络层
- 计算机网络-物理层
- 计算机网络为什么要分层
- 机械硬盘和ssd固态硬盘的原理分析
- Redis 切片集群的数据倾斜分析
- 一个4年后端开发的职业生涯
- Redis 中的事务分析
- Redis 中的原子操作(3)-使用Redis实现分布式锁
- Redis 中的原子操作(2)-redis 中使用Lua来保证命令的原子性
- Redis 中的原子操作(1)-Redis 中命令的原子性
- 什么是跨域,后端工程师如何处理跨域
- go 中 go mod 如何使用
- 如何使用 Redis 缓存
- go 中 select 源码阅读
- Redis 中的过期键如何删除
- Redis 中的 set 和 sorted set 如何使用,源码实现分析
- go 中 sync.Map 源码刨铣
- Redis 中实现消息队列的几种方法
- go 中 sort 包排序使用,源码刨铣
- Redis 中 String 类型的内存开销比较大