那一年,我加入了某知名公司的某知名部门,在办公室中,我看到了处处都挂着——“努力就会成功”的条幅,这个部门中大多数员工的邮件签名都会有“努力就会成功”,我感到一种热血沸腾的气氛,这是我在多年工做来都没有感觉到的,当时挺高兴地能和这样一群人工做,也没多想。直到有一天,我看到这些高级的软件工程师们把本身关在又挤又吵的会议室中,拼命地加班,真是拼命,周一到周日,天天早上10点到凌晨3点甚至凌晨5点,连国庆节都来上班,就在这样的环境和状态下,连续干了三个多月……上线前,QA找到了1000多个bug(你没看错,就是一千多个),最后这个项目用了1年多的时间来返工,原本一个6-8个月的项目,团队被打了鸡血想在3个月内完成,最终却花了近两年的时间来返工…… (要知道,我之前在外国公司工做,外国老板看到团队在长时间加班会感到焦虑的,由于加班一般表明着有很差的事情正在发生……)程序员
因此对此,我是有点看不懂的,看不懂的是,为何这么一群聪明的人,放着明亮宽敞的办公桌不用,硬要挤在一个又窄又小又吵又热的小空间里工做,并且要这么透支地写那么重要的很关键的系统级的代码……这就好像,一架在一个小做坊里被人加班加点赶工出来的飞机,谁敢坐啊?!老实说,这群工程师真是很优秀的工程师,他们彻底是能够作得更好的……可是却作出了如此蹩脚和糟糕的系统……他们说,这样坐在一块儿能够作到快速沟通,然而,我以为这偏偏是一种没有章法的表现。算法
也是在这家公司,在这个项目烂尾一年前,公司感到了危机,CEO号召全体996,举全公司之力从董事长到下面基层员工对抗外部所谓的威胁,有的部门为了表现,甚至997,然而,在一年后,作出了一个烂得不能再烂的软件,最终以失败了结,不少人包括CEO也所以下课……编程
这是最让我看不懂的一个事了,为何这么如此成功的公司的高级管理层会作出这样的事情,并且还制定这样的政策……把这么优秀的员工以及公司大把把数以亿计的钞票投入到这种错误的路线上来,并且还拼命地加班…… 他们脑子里在想什么呢?难道他们真的觉得,有足够多的钱,足够多的人,而后拼命加班,就能战胜对手吗?……性能优化
“努力就会成功”,“加班就会有成就”,“勤劳就会致富”……是这样吗?仔细思考一些,这些话存在严重的逻辑问题,咱们在高中的时候学过“充分条件”,“必要条件”和“充要条件”!**“努力就会成功”这句话,把“努力”说成了“成功”的充要条件,这不就是错的吗?努力只是成功的必要条件之一。**你在错误的方向或是格局很小的方向上努力,能有用么?你努力地要饭,你努力地当搬运工,你努力地打骚扰电话销卖保险…… 在错误和小格局的方向上努力,你还以为努力还有用吗?网络
可是不少人是很喜欢“努力就会成功”这句话,这类人也很喜欢看不少小人物经过本身的努力变成成功人士的励志的故事,为何这种故事会被不少人喜欢甚至感动。由于这很符合大众的心理诉求,这种诉求其实就是一种只要使力只要拼命了就能够成功的心理诉求,由于这类人基本上都是能力有限,不知道怎么提高本身的人,当他们看到只要拼命使力就能够成功的观点时,他们就会有共鸣,就会感到,不用学习那些晦涩难懂高级的知识,不用掌握和练习哪些高级技能,本身只须要在低级的事情上拼命和努力,加更多的班和干更多活,本身就会像电影中的那些小人物同样,总有一天会成功的……架构
“努力就会成功,勤劳就会致富”,不但符合那些低级管理者的利益诉求,一样符合那些能力不足不肯意学习和成长的人的诉求。由于,他们混淆了行动与进展,忙碌与多产,他们觉得能靠蛮力能够弥补思惟上的惰性,靠拼命能够弥补能力上的不足……并发
喜欢或认同这句话的人基本是能力上有问题的人,这类适合作劳动密集型的事。不信你能够试试看,当一件事的难度超过必定程度的时候,那些聪明的人会找到更省力的方法,而能力上有问题的,仍是在那使蛮力。运维
回想个人过去,我在2001年那年被外包到了某银行作开发,标准的9/10/6,封闭开发,就是用C语言在AIX系统里堆一些银行的交易逻辑,老实说,这个过程并无让我学到什么东西,也没有什么成长,我天天想的就是我要离开这个地方,因此,我在晚上10点之后开始看书学习到11点半,并使用工做环境动手实践书上的代码,一年后,我精读了《TCP/IP详解》《Windows核心编程》《Java编程思想》等书。而后,我找到一份外企业的工做,月薪一下翻了三倍。分布式
在外企不加班,可是当时的外企压力也很大,对代码的质量要求的也很高,来的第二个月,就由于代码写的太差,差点被开掉,因此,为了可以达到更高的标准,我天然也是很努力的,在周末甚至黄金周节假日我哪里都不去,我就去公司,但我不是在公司上班,由于我没有本身的电脑,因此,我只能蹭公司的电脑,这致使办公楼的管理人员常常打电话给我让我帮他在周末的时候管理物业…… 在这家公司是我成长最快的时候,然而,并非由于个人努力,而是由于有不少比我牛逼的人在Code Review上给我大量的帮助,在项目上帮助我,个人努力学习虽然也有做用,但更多的是高手对个人帮助。高并发
再回想一下我之前在职场上的不少关键点,不是由于我加班了,而是由于在某些关键问题上,我跳出来解决了其它人都解决不了的问题,我解决了一个网络通讯莫名其妙的断掉的问题,我把性能优化了不少倍,我解决了一个不能重现的一个困扰团队3个星期的问题(其实就是你们没有认真读文档),我在入职一个公司的第一天里就为这个公司解决了一个历史遗留问题……在Platform,我每周解决了bug数是全公司的其它人的总和还要多(从不加班),在路透,我带团队优化的系统的性能是全球全部研发中心最高的,在亚马逊,两周打通美国和德国的订单和商品列表系统……我也有失败的时候,而我失败的时候,老是由于我搞不定事,即使是加班拼命努力也无济于事!是的,个人职业生涯的成长,最根本的不是你有多努力,有多勤奋,而是你能搞定不少人搞不定的事!
你不信你能够看看大家公司那些不用加班,就算什么也不干,公司也要花钱养的技术人员,他们的成功必定不是努力和加班加出来的,你会发现这些人拼的不是谁干的多,而是谁解决的问题更有难。
我加班996的时候,历来都不是我成长最快的时候,而我和一群牛人在解决难题的时才是我成长最快的时候。
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,而是咱们生活在了第三次工业革命的信息化时代,这才是最大的福气,因此,咱们应该努力地提高本身,而不是把本身当劳动力同样的卖了!在这样的一个时代,你要作的不是经过加班和拼命来跪着挣钱,而是经过技能来躺着挣钱……