我向来对团队的同学主张,作为程序员要对自己的职业有点规划,不能只有公司的项目,丝毫不考虑技术的深度和广度的扩张。
特别是工作了四五年的时候,就会面临一个很尴尬的局面:技术上并没有比两三年前有多少起色,甚至一些八股文还都生疏了(天天赶节点,哪有时间搞框架和算法)
这些年面试了很多这类同学,十分惋惜,本来都是很出色的简历,人看着也聪明,但是五六年的工作经验,却是两年的技术水平,反复用了五六年。
这里面就有一个悖论:越老实的员工,越吃亏。
技术架构选型跟个人成长的矛盾
绝大多数公司的绝大多数项目,都不会用到什么业界的“尖端科技”,特别是前端领域,多数情况方案不止一种。
对项目而言,选择稳定成熟的框架和方案,性价比更高,比如公司已经搭了一套低代码的架子了,拿来直接用八九不离十,剩下一点功能补一下就好。
然而对开发者来说,方案选择上技术越保守,上线越稳定,做这种项目对个人的提升也就越少,可能项目的核心代码在整个开发周期你都不需要看一眼。
所以你会发现公司里面有两类人:
- 一类同学喜欢折腾,整花活儿;
- 另一类同学踏踏实实按部就班干,在成熟项目上稳定迭代。
前者上线状况不断,而且整出来的bug还不太好搞,甚至有些可谓是花式作死,但是过后会对框架底层有更深刻的理解。甚至一些基础的运维等,也更加熟悉和了解了(废话,线上挂机了,同事leader围一圈,手速不得麻溜的)
对于个人成长来说,特别刚工作前几年的经验快速积累期,这是至关重要的。当然公司要要付出一些潜在的代价,比如项目稳定性,多花时间运维等,但代价是公司的,是项目的,是leader的,成长和经验是自己的。
(在大厂,这类挖坑的花活儿也是生存的基本技能,这是题外话了,不展开)
从leader的角度而言,第二类同学更让人省心,但是从个人角度,我还是更期望团队里多一些这种同学,虽然隔三差五要翻车,我需要经常要被拉去救火,但是团队leader的责任不也包括同学们的技术成长么?
程序员是有保质期的
这里不给大家喝鸡汤,虽然没人愿意承认,特别是大厂的HR,但这是大家不得不面对的一个现实
程序员需要在每个年龄阶段跨过那道坎儿,每跨过一次,就给自己多几年的喘息的机会,P6有两三年,P7有三五年,至少可以干到35,P8可能再会多五六年,但也到不了40。
并不是说保质期到了就彻底失业,而是工作上会面临更加严苛的压力。
拿阿里的环境来说,如果你的年龄低于该分段的平均年龄,那么大概率你可以拿高潜,同等条件下团队会倾斜给你更多的资源,核心项目也更倾向于交给你,给你机会,要知道在大厂多数同学的水平不存在明显的差距,特别是近些年越来越卷的环境,门槛越来越高,水货能混进去的概率也小了很多。
但是一旦临近保质期,能拿到什么项目,那就只有靠自己了,除非跟leader私交甚好,否则只能做一些边边角角的项目,绩效也就一目了然了。
(当然这个游戏的最后,绝大多数人都会被淘汰。因为P8开始占坑的属性大于个人能力了,P9往后跟个人主观能力关系更不大了)
所以如果你老老实实在一个公司(非大厂)工作了五年,再出来面试,有两个问题比较关键:
- 职级没有公信力,可能其他公司未必认可,除了带团队的(十人以上)。而年龄上已经临近保质期了
- 有没有拿得出手的项目,比如前端同学,不能让简历上的项目全是画页面吧
这里插一个有意思的小故事:统计发现,外包同学比正式员工写小程序做业务的效率高得多,完成度也好很多。
当然这里面有很多原因,比如正式同学还要负责对接协调等,开会拉通对齐,战役kick off,还要招聘面试一个不少。而外包同学专注写业务代码,对小程序的API和各种hack手段更加熟悉,效率也更高。
从另一个角度而言,这也说明了重复写业务逻辑并不能给你个人成长带来直接的竞争力。
我最怕的就是帮别人review简历的时候,告诉我最擅长的事情是写CSS。
破局
没想到啰嗦这么多,也并无意贩卖焦虑,也无需焦虑,但行好事莫问前程,程序员强大的学习能力和进化能力,实际上在任何一个行业都是核心竞争力,跳出纯技术的视角,多结合业务场景来看问题
技术 + 业务 => 复合型人才 => 降维打击
所以不要把自己局限在某个公司的某个团队的研发环境内部,多抬头看看业务,多关注一下所在行业或者相邻近行业的趋势和诉求,收获会远大于公司内卷的性价比。
任何行业都不缺一个只会写代码的程序员,无非多发点工资的事儿,但是永远缺少能发现去哪里写什么代码的程序员。
一些碎碎念
有感于最近 ChatGPT 的大流行,实际上我去年也试用过,当时没有觉得有多惊艳的反馈。今年开始,我震惊于这东西对普罗大众和各行各业的反应,没想到这么多人都这么感兴趣,能在普通人中卷起这阵风,无论是不是妖风,至少群众基础已经有了,市场的用户教育也已完成。
对于开发者而言,大势已成,用或者不用,AI相关的工具和产品,甚至研发环境都会雨后春笋般涌现。
特别是对于当前“降本增效”的大环境,大厂裁员,外包HC紧缩,一些简单但是
基础的工作,吸纳了前端开发大部分从业人员的工作岗位,比如根据设计稿自动生成React/Vue的前端代码,会不会真的“一键自动化”了?
我在ChatGPT上用了一个月,确实省时省力,ChatGPT + copilot 现在已经有不错的效果了,那如果专门跑一个前端的训练模型呢,效果应该会更完美。
这种供需关系一旦打破,对整个行业来说是机会也是灾难,机会属于少数人,灾难可能降临给大部分人。
是否能借势成长起来,还是被淘汰,现在是该面临选择的时机了。
以上,作为本专栏的开篇。