作者陈皓
编辑|小智
“我们学计算机当程序员最大的福气不是可以到大公司里加班和
96、但我们生活在第三次工业革命的信息时代,这是最大的福气。所以,我们要努力提升自己,而不是出卖自己当劳动者!在这样一个时代,你要做的不是跪着加班拼命挣钱,而是躺着用技能挣钱."
那一年,我加入了一家知名公司的知名部门。在办公室里,我看到到处都挂着“努力就能成功”的横幅。这个部门的大多数员工都有“努力工作,你会成功”的信息签名。我感到一种热血沸腾的气氛,这是我多年没有感受到的。当时和这样一群人一起工作我很开心,也没有多想。直到有一天,我看到这些资深软件工程师把自己锁在拥挤嘈杂的会议室里,拼命加班。真的很难,从周一到周日,每天早上。
从早上10: 00到3: 00甚至早上5: 00,连国庆都来上班。在这种环境和状态下,我连续工作了三个多月。上线前,QA找到了1000多个
Bug(你没看错,一千多)。最后,花了一年多的时间才返工这个项目。本来是6-8个月的项目,团队被打了鸡血。
几个月内就完成了,但返工却花了将近两年的时间。要知道,我以前在外企工作,外国老板看到团队长时间加班都会感到焦虑,因为加班通常意味着有不好的事情发生。)
所以,我有点不能理解。我不能理解的是,为什么这么一群聪明的人,拥有明亮宽敞的办公桌,不用在狭小、嘈杂、炎热的小空间里工作,还要把这么重要、这么关键的系统级代码写得这么透支。就像一架飞机被在小车间加班的人冲出去。谁敢坐在上面?说实话,这群工程师真的是优秀的工程师。他们本可以做得更好,但他们制造了一个如此糟糕的系统。他们说这样坐在一起可以实现快速交流,但是,我觉得这只是一种没有章法的表现。
也是在这家公司,一年前,公司感受到了危机,CEO号召所有996名员工对抗所谓的外部威胁,从董事长到下面的基层员工,有的部门甚至
97.然而,一年后,我做了一个再糟糕不过的软件,结果以失败告终,包括首席执行官在内的许多人都被开除了.
这是我最不能理解的事情之一。为什么这么成功的公司的高层会做这样的事情,制定这样的政策?这样优秀的员工和公司,在这条错误的路线上投入了上亿的资金,拼命加班。他们在想什么?他们真的认为有足够的钱,足够的人,然后加班加点,就能打败对手吗?
#你喜欢这句话吗?
“努力就会成功”“加班就会成功”“努力就会致富”.是这样吗?仔细想想,这些话里有严重的逻辑问题。我们高中学过“充分条件”“必要条件”“必要充分条件”!
“努力就会成功”这句话,把“努力”说成了“成功”的充要条件,这不就是错的吗?努力只是成功的必要条件之一。
如果你朝着错误的方向努力,或者朝着一个小模式的方向努力,会有用吗?你努力乞讨食物,你努力当搬运工,你努力打骚扰电话和卖保险.你还觉得朝着错误和小模式的方向努力有用吗?
然而,很多人喜欢“努力就会成功”这句话。这类人也喜欢看很多小人物通过自己的努力成为成功人士的励志故事。为什么这个故事被很多人喜欢甚至感动?因为这符合大众的心理诉求,这种诉求其实是一种只要你尽力就能成功的心理诉求。
因为这类人基本上都是能力有限,不知道怎么提升自己的人,当他们看到只要拼命使力就可以成功的观点时,他们就会有共鸣,就会感到,不用学习那些晦涩难懂高级的知识,不用掌握和练习哪些高级技能,自己只需要在低级的事情上拼命和努力,加更多的班和干更多活,自己就会像电影中的那些小人物一样,总有一天会成功的……
“努力就会成功,勤劳就会致富”,不但符合那些低级管理者的利益诉求,同样符合那些能力不足不愿意学习和成长的人的诉求。因为,他们混淆了行动与进展,忙碌与多产,他们以为能靠蛮力可以弥补思维上的惰性,靠拼命可以弥补能力上的不足。
喜欢或者赞同这句话的人基本上都是能力有问题的人,这类人适合劳动密集型的工作。如果你不相信我,你可以试试。当某件事情比某个程度更难的时候,那些聪明的人会找到更省力的方法,而那些能力有问题的人还在那里用蛮力。
#我是如何长大的
回顾我的过去,2001年我被外包给一家银行发展。标准的9/10/6,封闭开发,就是在AIX中使用C语言。
系统中堆积了一些银行交易逻辑。说实话,这个过程并没有让我学到什么,也没有让我成长。我每天想的是我想离开这个地方。所以晚上10点。
之后开始看书到11: 30,利用工作环境练习书中的代码。一年后,我精读《TCP/IP 详解》。
Windows 核心编程》《Java编程思想》等书。然后,我找到一份外企业的工作,月薪一下翻了三倍。
在外企不加班,但是当时的外企压力也很大,对代码的质量要求的也很高,来的第二个月,就因为代码写的太差,差点被开掉,所以,为了能够达到更高的标准,我自然也是很努力的,在周末甚至黄金周节假日我哪里都不去,我就去公司,但我不是在公司上班,因为我没有自己的电脑,所以,我只能蹭公司的电脑,这导致办公楼的管理人员经常打电话给我让我帮他在周末的时候管理物业。
在这家公司是我成长最快的时候,然而,并不是因为我的努力,而是因为有很多比我牛逼的人在 Code Review
上给我大量的帮助,在项目上帮助我,我的努力学习虽然也有作用,但更多的是高手对我的帮助。
再回想一下我以前在职场上的很多关键点,不是因为我加班了,而是因为在某些关键问题上,我跳出来解决了其它人都解决不了的问题
,我解决了一个网络通信莫名其妙的断掉的问题,我把性能优化了很多倍,我解决了一个不能重现的一个困扰团队 3
个星期的问题(其实就是大家没有认真读文档),我在入职一个公司的第一天里就为这个公司解决了一个历史遗留问题。在 Platform,我每周解决了 bug
数是全公司的其它人的总和还要多(从不加班),在路透,我带团队优化的系统的性能是全球所有研发中心最高的,在亚马逊,两周打通美国和德国的订单和商品列表系统。我也有失败的时候,
而我失败的时候,总是因为我搞不定事,即便是加班拼命努力也无济于事!
是的,我的职业生涯的成长,最根本的不是你有多努力,有多勤奋,而是你能搞定很多人搞不定的事!
你不信你可以看看你们公司那些不用加班,就算什么也不干,公司也要花钱养的技术人员,他们的成功一定不是努力和加班加出来的,
你会发现这些人拼的不是谁干的多,而是谁解决的问题更有难度。
我加班 996 的时候,从来都不是我成长最快的时候,而我和一群牛人在解决难题的时才是我成长最快的时候。
# Work Smart
2015
年因为父亲病危要动手术,所以我不能工作在家照顾父亲。于是我就成为了一个自由职业者,帮很多公司解决一些技术问题,好多都是高并发和系统稳定性的问题,有一些是分布式架构的运维的问题,还有一些是工程管理和企业文化问题。有一些小公司的单体架构在业务上一推广就宕机了,于是把我叫过去,我在生产线上直接
re-arch,用一些非常规的手段,1-2 天就把性能救过来了。还有就是解决一些点状的技术问题,还帮用户做一些 design/code review,有
70% 工作是真正的按劳取酬,也就是先把问题解决了再谈要收多少钱,
那段时间我出卖的不是我的劳动力,而是我的技能,所以,反而比打工挣得多多了,而且还比较轻闲。
有时候,我还调侃到,你在大公司里一天写上万行代码,拼命地加班,你信不信,我只用写几百行代码就挣得比你多? 同样是一个简单的 for-loop
语句,有人写的就值 1 万元一行,而你写的则一文不值。关键不在于谁写的代码多,关键在于我们解决了什么样的问题。 你千万不要以为只要付你足够的钱,你就可以
996,让你干什么都可以,然而当你自己把自己当成劳动力的时候,你也就只是一个像牲口一样的行事了!
这就好像算法一样,你那个 O(n^2) 的递归穷举算法,再怎么样也干不过我的 O(n) 的动态规划的算法。
现在我拿了投资在创业,一开始帮助各大企业建高并发高可用云化架构的公司,现在还给企业提供金融和营销能力,我跟客户谈业务的时候,基本不是因为我有多加班多努力地做方案,而是我能一针见血地指出用户的问题,帮用户解决问题。我在很多地方都见到阿里、蚂蚁、华为、HP……,一个小创业公司跟他们竞争真的很难,但我知道,要能竞争过这些大公司,这根本就不是能够通过加班
996
或是拼命努力就能搞定的,我必需要使用更好的方式,所以,除了更好地站在用户的立场,能够给用户制定更符合用户的技术方案之外,我必需做到我的技术方案不比这些大公司的差,而这一点,完全不是加班、努力或是勤奋能出来的,这是需要靠自己的经验、学习能力、归纳思考、和与更多牛人交流才出的来的。当我给某银行
CIO 介绍完我的分布式系统的方案后,CIO
给我微微鞠躬说:“过去一两年,我听过几乎所有国内外产商跟我讲的分布式的方案,你的是我听过的最好的方案!谢谢你!”,当我给某省电信行业公司讲了一下
DevOps 的方案后,老总对我说:“你们真的是做事的人!”,当用户来问我:“你们的 API
网关是怎么写的?为什么运行的这么稳定?”……这些话都是让我很心里很暖的话。
当然,我也有被骂的时候,也有失败的时候,但基本上来说,我无法通过努力工作改善我思维的不足。
我们学计算机当程序员最大的福气不是可以到大公司里加班和
996,而是我们生活在了第三次工业革命的信息化时代,这才是最大的福气,所以,我们应该努力地提升自己,而不是把自己当劳动力一样的卖了!在这样的一个时代,你要做的不是通过加班和拼命来跪着挣钱,而是通过技能来躺着挣钱……
InfoQ 经陈皓授权转载,原文链接:
https://coolshell.cn/articles/19271.html