这一篇文章不谈技术,以一个过来人的身份谈一谈大厂技术打工人的生存问题(逃 ,其实不仅国内大厂有这种问题,诸如Google、Facebook等国外大厂也有同样的问题 ,只要你在这个体系里面生存就一定要遵循这个规则。
为什么要面向晋升编程?
所有不能被写进晋升PPT里的工作都是打黑工!!!
重要的事情加粗显示,不是不让你打黑工,有些时候打黑工是必须的,业务通常会有一些很紧急的需求,你一定不要不假思索地答应,最起码也要挑战一下TA,这个任务的价值在哪里? 就算最后还是确定了一定要做,也一定要让TA知道,这个是非常难做的,而且一定要让自己老板知道,千万不要顺嘴就答应了,仿佛你所做的是理所应当的。
刚进大公司的时候,往往很天真,对每个人都毕恭毕敬的,仿佛伺候好了每一个人,你的前途就一片光明,然而事实很残酷,我举一个真实栗子:
之前在阿里时候,隔壁Team的一个同事,经常钉钉上看在半夜1点多还在群里处理业务问题,调试代码,处理工单等等,他的工作非常勤恳,哼哧哼哧地干活,结果一年到头,被领导打了个3.25,他的另外一个同事(都是P6),平时没见写过代码,就在内网上看到过几篇对项目的总结,结果后面拿了3.75去晋升了(虽然最后也没过)。
我们之间也打过交道,我向他请教过问题,代码水平一流,但是太沉迷于处理事情本身了,只做一个没有思想的工人,做一些没有办法被量化的工作,就算解决再多的Bug,处理再多的工单都没用,做事情一定要抓重点,小错可以随便犯,框架性的错误一定不要犯。
如何量化工作?
在大公司里面,晋升都是由一群你不认识的人来决定的,也就是所谓的晋升委员会。 如果你所做的事情很难被量化,那么就很难被晋升委员会通过。
一般情况下,你越是努力地干活,你就越没有时间反刍,没有时间记录,你越是拿不到晋升资格。所以在做事情之前一定要考虑事情是否可以被量化。
什么叫可量化,就是说现状可改变的价值可以被衡量。举一个非常简单的例子,你做了一个XX系统,在上线前是是什么渣渣水平,你的系统上线之后,会达到xxx水平,这个不仅仅在大厂适用,在所有的公司都适用。
这个套路是:
- 设置度量,监控现状,记录当前数据。
- 建立新系统,优化现状。(不要尝试优化以前的平台,除非你认为你是大牛)
- 记录优化后的数据,做出对比。
基本上就是三步走,如果你做的事情是积极的,比如交易额等,那就得制造出上升的曲线,如果是成本类的事情,就需要制造出下降的曲线。
举一个我自己的例子,做了一个配置中心。需要的是
- 监控当前因为配置问题导致的发版,记录次数,以及所花费的时间
- 开发配置中心项目,完成并上线
- 记录上线完成后,配置中心的使用次数,估算人力成本,机器成本等,并画出完美的下降趋势的曲线,这就是你晋升的时候最大的。
当然这种大项目可能不仅仅是你一个人做的,所以你一定要留意在做项目时候中间遇到的各种问题,不要只埋头处理问题,记录问题同样重要,记录下来的资料,后面将会是你晋升乃至面试的重要一手资料。
独立开发者 OR 打工人
大公司都有相似的弊病,从Google、Facebook、Microsoft到国内的腾讯、阿里、字节等无一幸免,虽然高工资、高福利,但是想要真正实现自己的价值,在大公司其实很难做到,就氛围算再怎么像社区、大学也无法改变公司是由商业驱动的事实。
团队做的事情一旦上面不好看,很快就会被砍掉,也就意味着你所有的付出全都付诸东流。所以大公司,主要还是看自己的选择和运气,其次才是你的个人努力。
在大公司,出了个别骨干,大部分人都是螺丝钉,很大程度上,你做的事情不会是你真正想去做的事情,很大意义上不会感受到自我实现的价值,所以往往过得并不开心。你所做的事情就是向他人证明自己,通过做事情、展示数据来向领导、晋升委员会展示自己。
所以如果你心中有远大的理想,成为一名独立开发者,做自己喜欢的产品也许是一个不错的选择,但是我相信大部分人就算心里有光也不会选择冒险。特别是结了婚有了娃之后。
如果你选择了做打工人,就一定要想明白你所做的每一件事情都是你的业绩,那么就一定不要打黑工,不妨让你做的事情高效一点,面向晋升/绩效编程,让领导能够看到你的产出(量化图表就是非常好的成果)。另一方面,量化的数据也更容易让你找到工作的意义,以及自己的人生价值。