聊聊前端工程师如果做职业规划
大家好,这里是潇晨,这篇文章不聊技术,聊一个比较开放的问题,程序员如何做职业规划。
其实这个这个问题还是比较宽泛的,因为每个程序员的专业能力、背景、经历都不一样,所以对每个人来说很难总结出一个普世的职业发展建议,但是如果具体到每个专业,比如前端工程师,具体到某一个年龄,比如35岁前,那还是能归纳出一个比较完善和通用的职业发展建议了。
1.专业能力方面
作为前端程序员,千万不要只会使用某个框架或者库,因为这些都是会随时变化或者更新的,人的精力是有限的,可能今天流行这个框架,明天就是另一个框架了,在说前端技术变化这么快,可能你现在用的技术过1年就不那么香了。
解决方案当然是拓展自己技能的深度,在一些核心能力上下功夫,比如源码、数据结构和算法,就像武侠小说里的招式和内力一样,这些框架和库,都是招式,而数据结构、设计模式、源码架构的思想才是你的内力,招式打的好不好,用出来的效果怎么样,都需要强大的内里支持,招式在变化,核心的算法和优秀的设计模式都是基础,这些才是不太变化的东西。
举个栗子,react
源码中用到了大量的链表,比如hooks
链表,update
链表、fiber
树等,调度的过程使用了小顶堆,优先级的计算使用了二进制位运算的融合,还有对比新老节点的diff
算法,那大家有没有思考过react
框架为什么会使用这么多的数据结构和算法,本质原因就是为了构建快速响应的应用,既然优秀的工程师设计的优秀的库都用到了这么多数据结构和算法,我们还有什么不学习的理由呢
在举个例子,比如你日常开发中要优化组件,那如果你没有什么源码的底层,不了解你所使用框架的运行机制,怎么能做好性能优化呢,比如你用的是react
,你不了解异步可中断的更新,不了解concurrent
模式是怎么优化cpu
层面和io
层面的设计,那你肯定不能设计好一个高性能组件。
2.公司选择方面
如果你可以选择小公司和大公司,一定要选择大公司,也不是说说小公司不好,只是大公司的平台优势和跳槽势能,还有技术的广度、基础建设上不是小公司可以比的,如果你在一家大公司觉得没什么上升通道了可以跳到另一家头部互联网公司,只有当你做好了充足的准备,不满足于上班拿工资,才可以加入你认为有潜力的小公司,并且一定要拿到股权,这样才有可能翻盘。
在选择公司方面,一定要做好充分的了解,比如公司的前景、团队氛围、技术栈等等,这些都是需要考虑的地方,每个公司其实团队之间的差异也是非常大的,如果你有一个好的leader,那才是一件非常幸运的事。
还有一点,不建议去外包,也不建议去国企或者传统行业做开发,一是一般这些公司技术比较落后,在里面呆上几年之后,你的技术会落后市场一大截,到头来跳槽就得不偿失了。
3.职业选择方面
如果你能静的下心来学习,那不建议你转行,生活和技术都是围城,大家都在羡慕着别人,其实不知道其他人也水深火热,自己的技能和专业才是你的优势,如果能在花些时间精进自己的能力,学些日常使用的框架的原理、源码、学习数据结构和算法、设计模式等,你相对于那些转行过来的人来说就是天然的能力优势。
如果你刚入职场,可以选择技术氛围强的公司,不要太在意加班和薪资,毕竟学习专业能力才是你的目的,入职场一年必须把常用的框架和库能够熟练使用,第二年开始就可以深入源码或者自己加强自己的核心能力,比如算法,或者自己设计一个脚手架,组件库,参与开源项目等。
如果你正在处于准备结婚生子的阶段,可以选择一些加班较少的公司,外企也可以,毕竟着一阶段需要稳定,但是一定也不要忘记了学习,技术都是日新月异,不断学习才能脱引而出
如果你是团队的leader,可以考虑如何提升团队的效能,做好技术沉淀和输出,管理日常的任务,做好新人培养,但是不建议你不写代码了,除非你认定你以后一定是一个很好的管理人才,否则技术永远是你吃饭的硬家伙。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。