年底了,大公司事故不断,颇有放个烟花给老板看的节日喜庆气氛。公众号们也没闲着,纷纷借题发挥来帮大公司出谋划策,解决问题,顺便夹带点私货,可以看出经济下行,大家朝不保夕,难免怨气都很大。
降本增效的背景下,事故频发是必然的,都讲勿在浮沙筑高台,可惜处处是浮沙。正好有些鬼故事,可以给读者分享一下,帮助大家未来在做职业选择和技术决策的时候有个准确的参考。

长期主义

当前互联网公司的员工平均在职时间普遍在 2 年以内,按照各公司每年 20% 左右的晋升比例,意味着 80% 的人会晋升失败,这 80% 去参加晋升的人呢,大部分随后就会离职。当然现在行情不行了,也可能会跳不太动。
职业生涯的前几年,我也挺坚持长期主义,希望能够在一家公司深耕,能做出一些说出去能让业界同仁抖一抖的大系统。并且也用这些来教育那些刚毕业的同学们,希望他们坚持学习和思考那些难的东西,而不是浮于表面的八股文。当然,得到的回应是“面试又不考这个,我为什么要学”。
从结果上来讲,即使个人做到了长期坚持,但也没什么用。
当你用这些来证明自己的时候,你的面试官是个两三年跳一次槽的人,你讲的东西他未必听得懂。为了照顾他的情绪,你往简单了讲,别人大概就觉得“就这”?给你扣上个技术深度不够的帽子来压薪资。
这个世界,有些事情明明大多数人做不到,但是你做到了,他就会觉得很简单。所以那些坚持者往往还不如那些投机者赚得多。反过头来还要被弱鸡评头论足。

事故

我个人其实很喜欢事故,从事技术工种,事故对于工程师来说是很好的学习机会,对于个人来说,事故也是锻炼你的辩证思维的机会。
可惜事故在公司里却都是拿来批斗他人的工具。就事论事在这个圈子里已经变得如此之难,以至于每次有事故,复盘会的目的都是把事故关联方批倒批臭,给自己的职业发展和地盘游戏争夺更多空间。
在大公司工作时,常年莫名其妙的复盘时常让人觉得我们这个行业为什么变成了这样,想要做技术创新和业务创新,至少要鼓励一定程度的失败,再通过失败来找到改进的方向。就像最近 spacex 发射火箭后英文媒体都说成功,而中文媒体都说是失败,就可以看出这种微秒的差异,非常有意思。
这是文化问题吗,我也不知道。
现在很多纯技术人员也被乱七八糟的价值观污染,连基本的就事论事都做不到,拿着给一线销售洗脑的价值观大做文章,多么可笑,一起开复盘会的时候大片的时间在强调价值观,心诚了系统就稳了?
我们每次上线都去烧香拜佛好了,还做啥保障。

预防

我们可以做很多事情来预防事故的发生,但即使做了,也没有用,因为一个万事讲究 ROI 的商业机构,不可能对没有在自己身上发生过的事情提起重视。
比如支付宝的光纤被挖断了,才有了后来的各种断网演练。其它没有被迫断过网的公司会这么做么?未必吧。直到同样的故障降临到他们头上才行。
死到临头方知悔,不见黄河不掉泪。
互联网公司的系统都是复杂的分布式系统,里面充满了各种奇奇怪怪的中间件,共同依赖,单点存储,流量瓶颈,上下游数据依赖,低频崩溃路径。每一个都需要有更多的旁路系统去保证在异常来临时不出问题。这和建大坝差不多,如果一直没碰到洪水,那就是劳民伤财;如果碰到了,那就是功在千秋。但你可能活不到洪水来的那一天,就被人送上断头台了。
哪怕公司里专门摆一个业务稳定性团队来当领导的安慰剂,你也会发现因为公司的晋升制度安排问题,他们更喜欢挑选那些看起来特别底层的事情,而不是对稳定性本身最有益的事情来做。
这个是制度问题。

分配

盛极必衰在互联网公司同样适用,公司做大了,大多数既得利益群体都丧失了学习动力。在某公司曾经见过 x9 的业务规划给 x8 做,x8 再给 x7 做,最后变成了高级工程师在给整个公司做战略规划的奇观。
后来发现这还不是个例,丧失了劳动能力的高层霸占着岗位不退休,一线工程师的创新和工作成功只不过是上级 ppt 上的一行字。
最好的解决方案还是企业出钱,让这些老而僵化的人提前退场,哪怕他们的退休金让企业承包了,也比赖在岗位上阻碍别人做事强多了。
最近的大事故还流传出了一些企业内部高管对于一线员工的斥责奇文,看起来哪怕再务实的人,一旦脱实向虚,他也该退休了。我们讲得残酷一点,公司拿这些不做事的高管的钱,再去招五个稳定性工程师,能得到的效果也比他在那里放屁强。
某个公司的入职大会上,听着一个创始人讲他和姐妹的追剧故事的时候,我们也有类似的感想,让她退休吧,真心的。

实习生

你可能不知道,你觉得可能可靠的云服务,后面就是一些实习生。
当你上云的时候,你以为和人家 xx 集团用的是同款,结果跑了一段时间,才发现自己用的是实习生定制特供款。
即使是云服务,也是要讲究性价比的,一年收入 100w,他最多也就安排两个 p6 工程师,何况公司要赚钱,还是放三个实习生能赚钱。
公司内部也有类似的悖论,公司里的核心业务需要 infra/云支持,核心业务是金主爸爸,都是要优先服务好的。而 infra 自己的 infra 需求,基本都是没人接的。
再说明白一点,可能监控系统自己的监控需求,还不如业务的监控做的好。也是找个实习生糊弄一下了事。
你去看看那些大公司抛出来的 xx sdk,是不是很多都是实习生写的?
这里还有个笑话,我在某家公司碰到 kafka sdk 不消费问题的时候,找 aws 的售后工程师来支持,然后他们丢给我一篇我写的文章。

尾气

互联网的发展显然已经进入了尾声,新入行的人能分到的只剩汤了。一边吸着尾气,可能还要被那些不干活,不思考,不退休,站着说话不腰痛的人指责没有奋斗精神。对于后来者是不公平的。
作为一个过来人,我的建议也只有三条:
  • 无论什么时候,都选择给你钱最多的地方;
  • 先有钱,再去谈理想和长期主义;
  • 软件架构里有个概念叫 Leave Options Open,你的职业和人生选择也应如此;
希望大家都有美好的未来。
继续阅读
阅读原文