最近有人问我:很多程序员都说 35 岁职业危机,那么为什么做开发的 35 岁程序员不转做测试呢?
作为一个04年入行的资深程序员,我的经验想和大家分享一下。
12年前,我参与设计了狼厂的T序列职称体系,随着人才流动,以这个体系为蓝本的职称体系在新一代的互联网公司被广泛采用。
当初设计时我们就探讨过一个问题:按照当时的技术体系要求,大部分工程师会在6到7这个层级卡上好几年,那么如果他一直晋升不上去怎么办?
答案是:稳定贡献直到自然流失。
事实上狼厂后来走了很多人, 去到了增长更快的平台(最典型的,08年去阿里,12年去头条系),其中大部分人都突破了职业瓶颈,不少已经财务自由。
多年后回过头来看, 当年狼厂遭遇的问题是在一个业务稳定的封闭系统下,最核心最有技术挑战的岗位就只有那么些,换句话说,从公司经营的角度,已有的业务没有必要养更多的高阶工程师。
选择大于努力。
如果一直在一个稳定的大厂,那么年纪大了升不上去几乎是必然会发生的事情。即便升了高T或进入了管理层,也要记住大公司就是需要每一个人都可以替代,上到CTO下到一线程序员,任何一个人走了都立刻有人能顶上来, 这才是一个健壮的系统。
反过来,如果业务一直在成长,一直有新的业务挑战,每个人都有独挡一面的机会, 那这个组织中必然会英雄辈出,十年前的BAT,今天的TMD这样的例子屡见不鲜。
回到最初的问题, 开发工程师(程序员)还是转岗测试工程师并不重要, 在一个增长缓慢的公司/业务中大部分人都会遭遇职业瓶颈, 如果你已经被系统所驯化, 失去了对新的平台机会的敏锐嗅觉和拓展自己的勇气, 那怎么转都会遭遇职业危机。