百科问答小站 logo
百科问答小站 font logo



有没有程序员愿意分享一下你的生活? 第1页

  

user avatar   catchen 网友的相关建议: 
      

不同时期的生活方式是非常不一样的。我觉得最重要的是意识到这一点,不要以为某一种生活方式会一直延续下去。这个世界上不会存在特定的程序员生活方式,你在不同的公司工作就会遇到不一样的公司文化,你的人生处于不同的阶段也会做出不同的选择。


我实习的时候是在百度,毕业后也在百度做了三年。那时候我完全不介意加班,因为除了加班也没别的事情好干了。

2007 年实习时周末天天加班,因为实习算日薪,每天 ¥200,周末加班就能把月薪从 ¥4000 推到 ¥6000。北京没什么吸引我周末出去玩的地方,于是没理由加班也要找理由加班!理论上如果不是工作有需要,实习生是不能自愿周末加班的。周末加班是需要申请的,申请时说明确实工作需要加班,然后才能拿到那 ¥200。于是我不用加班也想办法找个理由来加班,在当今 996 程序员开来这应该是非常不可思议的。

毕业后开始在百度上班,每天晚上都加班到 9:00。为什么是 9:00 呢?因为到了 9:00 就可以打车回家了。9:00 后的打车票还可以用来证明我加班了,于是晚餐也变得可以报销了。当时百度这个 9:00 打车的制度产生了不少笑话。

第一个笑话:我 7:00 下班去挤北京公交,一路堵到 9:00 才到家。同事 9:00 下班打个车,环路和高速上狂飙,9:10 就到家了,只比我晚了 10 分钟。

第二个笑话:一个同事 8:00 下班挤公交回家,因为忘记带手表了就总问乘务员,「现在几点啦?」别人被问得不耐烦了,就跟他说「正常人都是问现在到哪个站了,怎么你总是问几点呢?」他说,「只要到九点了,我下一站就下车,然后打车回家」。

那个时候的加班,其实不会很忙,有时候还很闲。早上 10:00 到公司,12:00 去吃饭,理论上吃完就可以回来继续干活了,但大家经常吃完就坐下来玩杀人,磨蹭到 1:00 才回来干活。真闲的时候,1:00 回来了再打几盘三国杀或者是 CS,打到 2:00 才开始干活。

晚上加班有时候是干活,有时候真的能够沉醉于写代码,写到 11:00 甚至 12:00 才回家。但吃完晚饭后召集一群同事打三国杀或者 L4D 也是很常见的。如果你可以选择在北京公交和地铁上挤一两个小时,也可以选择在公司跟同事一起玩,两者都不太影响你回到家的时间,那你选择什么?此外,你回到家后也同样是在写代码和打游戏之间做选择,那答案显而易见啦。


我在百度那三年,到了后期真的完全没有动力,每天基本上不怎么干活。在最没心思干活的日子里,我 12:00 到百度大厦吃午饭,然后 2:00 从西二旗打车去三里屯逛街和买菜,4:00 打车回家慢悠悠地开始准备做饭。

那是一个很讽刺的阶段,因为在那之前我努力干活,但技术委员会就总是卡着我的晋升,不愿意给我高级工程师的职称,还说原因是「资历不够」。等我进入了几乎不干活的阶段,我狠狠地把我做的为数不多的事情包装了一下,经理们估计知道我再不升就要走了于是也狠狠地助推了一下,于是就成了。

讽刺的事情并没有到此结束。拿到了「高级」职称后,我就能坐在前端的技术委员会评审其它人的晋升了。看着 10 个人升高级工程师的申请,我们都不太知道他们具体做的事情有多难、影响力有多大,于是我们分成小组去跟每一个申请人访谈,了解他们申请晋升的项目。一圈访谈回来,10 份申请当中排最前面的 3 份是一定行的,排最后的 3 份是一定不行的。我们知道上一级的技术委员会大概会给我们 5 个名额,那中间 4 份申请谁上谁下呢?

经过了长时间的辩论,4 份不确定的申请有 1 份上还有 1 份下,中间还是有 2 份辩论不出来。这时候已经 7:00 了,大家都想快点搞掂去吃饭。这 2 份申请,都有跟申请人同组的高级工程师在技术委员会上挺他们,这如何是好呢?最终有人在评审会议上提出了那个终极问题:「这两个人谁在公司的时间更长?」大家都松了一口气,我也终于理解到什么叫做「资历不够」。


豌豆荚是我经历过的唯一一家星期六要上班的公司,跟同期的小米比,那绝对是假冒伪劣的 996。豌豆荚同事之间的氛围很好,很多事情都能玩到一起去,而且公司也鼓励大家一起玩,甚至出钱让大家一起玩。

豌豆荚当年追有意思的地方在于午饭之后赌碗。那时候的豌豆荚还没有自己的食堂,只是请了人做饭。大家自带饭碗,吃完饭轮流去洗碗。因为洗一个碗和洗十个碗都是洗,于是就出现了赌碗,参与赌局的人都把碗放到一起,最后赌输了的人把所有碗都洗了。赌的具体方式是 21 点,爆了的人自然算输,否则点数最小的人算输。并列的话,输的几个人再开一盘,直到有一个人被选出来为止。

周六名义上是上班的,但其实只是上半天班。下午 2:00 各个社团就开始组织活动了,例如篮球社在外面租了个篮球场打球,然后篮球社的人就都打球去了。我跟他们一起走,但我去到之后不打篮球,在附近游泳馆游泳。晚上等他们打完球,一起在附近找个地方吃一顿好的。


2012 年我去了 Facebook,早期的生活还是不错的,我还曾经写过这样一个获得编辑推荐的答案:

为什么那个答案开头要说「理想的一天生活是这样子的」?因为现实大多数时候都是不理想的。每天去运动?这是不可能的。不是说我没办法早期就把运动时间调整到下午和晚上,事实上我几乎完全做不到早起。至于运动?每周能去两次已经是很好的了,有时候一次也去不了。

但无论如何,我在 Facebook 最初的一段时间是非常美好的,而且有点像在百度最初那端时间。无忧无虑,喜欢工作的时候就工作,没有事情做的时候我完全不介意加班继续做公司的事情。跟在百度不一样的地方在于,湾区不是北京,吸引我周末出去玩的东西变多了,例如说爬山、划船、品酒、钓鱼、滑雪……周末很多时候我就出去玩了,周末用来工作的时间减少了。

最重要的是,那段时间我从来不担心我的绩效和晋升。我的绩效好好的,我觉得时间到了自然会给我晋升的,一点也不着急。我觉得我努力去做了,结果都不会太差,没什么好担心的。


然后呢,我就晋升了,再次拿到了「高级工程师」,一个我在百度早已拿过的职称,但感觉 Facebook 的更有含金量吧,所以要再争取一次是正常的。接着灾难就开始了。

多年后来看,这是我当时的老板在一个糟糕的情况下做了一个糟糕的决定。因为我们团队里的人都走了,只剩下我一个人,他决定让我换个方向重新开辟一个新的团队。这其实不是一个高级工程师应该做的事情,这应该是往上一两级的人做的事情。这就如同直接给一个刚刚升到 P7 的人安排一个 P8 到 P9 的目标——这里开一个新坑然后从零打造一个新的团队。做不出来是理所当然的……

那段时间的工作挺搞笑的。老板帮我找来一堆比我高至少两级的人,说他们都对我要开辟的新方向感兴趣,又已经是各自领域的专家,让我带领他们一起把这个新方向搞起来。我就每周跟他们开会,没有一周我们是能够达成一致的。

我在会议上说,「这个新方向其实公司以前以做过,只是中间放下来好几年了,现在我们继续沿用之前的指标如何?大家对设定半年目标有什么想法?」立即会有人跳出来跟我说,「我们不应该沿用老的指标,因为这个指标根本跟业务好坏没有任何的相关性,尤其跟我负责的业务没有任何的相关性」。我只能问他,「那要不你提一个新指标?」那个人说,「我也想不到有什么新的指标能更好地反应跟我的业务的相关性,但总之我不同意沿用老指标」。

在那个时候,我完全不知道如何能够「领导」比我高两级的人,所以这群人就游离在我的新团队的边缘,既不参与也不拒绝,但每个人都有非常多的观点和意见,导致我完全无法向前推进。一个正常的团队,有几个关键的指标(例如说月活),每个指标有个目标(例如说月活到达一百万),那就可以进入执行阶段了。团队里每个人的价值由他们对指标的贡献来决定,大家都会想方设法把指标往前挪。但我要做的事情,连选用哪个指标都定不下来,更别说制订目标了。

我选择了缩进我的角落里,继续做我最擅长的事情——写代码!半年过去了,团队没有带起来,绩效自然拿个不及格。随后的一年里,我的绩效就在及格和不及格的边缘。因为 Facebook 是真会炒人的,被炒了我的 H-1B 签证就失效了,理论上我就要立即离开美国。(那时候还没有 Obama 释法说 H-1B 拥有 60 天 grace period 这件事。)如果离开美国了,排了一半的绿卡不知道怎么办,买了的房子也不知道要怎么处理。

在这段时间里,我的压力非常大,一直担心自己会不会被炒掉。最让人抓狂的是,我不知道我需要改变什么。我每天还是正常地上班、写代码、开会。有时候别人觉得我做得好,有时候别人觉得我做得不够好,但我觉得我并没有改变什么,也不知道为什么别人的评价会发生变化。我身边那群比我高两级的人一如既往地诸多见解,而且他们的观点往往是互相冲突的,我也不知道该听谁的。


后来我拿到了绿卡,花了几年的时间慢慢体会到了 Facebook 强调 impact 和 ownership 的文化。

所谓的 impact,就好像李开复所说的那样子,世界有你和没有你之间的区别,那就是你的 impact。那些「改变世界」量级的 impact,更多是用嘴吹出来的。把 impact 吹大固然是一种重要的技能,但首先要把 impact 做出来。把 impact 做出来,本质就是为别人创造价值,就是让别人得到如果你不存在就得不到的好处。这是非常非常现实的事情。举个例子,如果你写个脚本,帮女朋友的论文跑数据,使得她不用花时间人手处理数据,晚上可以多睡几个小时,这「多睡几个小时」就是你写的脚本的 impact。

在现实工作中,这意味着我花更多的时间去了解别人想要什么。这使得我的工作有时候很不像「程序员」。我的时间花在跟别人坐下来聊天,讨论「如果这件事情做成了,对你来说意味着什么,对我来说意味着什么」。「对你意味着什么」,就是对你的 impact,例如说「需要多干活」、「可以少干活」、「可以学习到新技能」、「更可能获得晋升」。基于这些信息,我们才能决定一件事情值不值得做。如果 impact 不够,有些事情根本不值得做。

如果把 impact 看作一种货币的话,我的工作更像是「销售」和「交易员」。我可以四处去兜售我和我们组能做的事情,如果产生的 impact 显著大于时间成本,这就是一笔好生意。如果没有客户认为这是一件有 impact 的事情,就跟没有客户愿意为这件事情付费一样,这件事情完全不值得去做。有时候我还可以把一个组做的事情包装一下转手卖给另一个组,一个组出力,另一个组认可这件事情 impact,我中间套个利。

这时候我用在写代码上的时间其实已经很多少,因为我只写必须要我写的代码。假设别人写的代码平均每行值一块钱,我只写每行值十块钱的代码。这并不意味着我的技术比别人好,我在技术上其实没什么特别的优势,最多就是比别人更熟悉 Facebook 的环境,能够更熟练地使用 Facebook 内部的技术栈。我觉得我真正的优势在于理解公司业务,然后我能兜售我和我们组能做的事情。我能够有理有据地说清楚,为什么我提议去做的事情是当下最重要的事情,而且 impact 还很大。

什么叫做「只写每行值十块钱的代码」和「有理有据地说清楚」?我就打个比喻吧。如果我要卖一罐机油给你,我不能说「我想要卖一罐机油,你有兴趣买吗?」这是站在我的立场思考,思考的是「我需要什么」而不是「你需要什么」。我要跟你说「你这车机油差不多没了,前方几百公里人迹罕见,就算不考虑没机油之后烧发动机的维修成本,也要考虑一下车不能开之后如何活着出来吧。」这时候我是站在你的角度为你思考,「你的性命很重要,你不应该冒不必要的险」。你不买这一罐机油,你就是拿自己的性命去冒险,那你觉得我可以卖你多少钱呢?

这种生意要能做成,前提是要非常了解客户的实际情况,能够站在客户的角度想明白有什么需求是刻不容缓的,然后再想想这里面有没有套利的空间。这需要我花很多时间跟别人聊天和问问题,去了解别人在做什么、在想什么。如果能够设身处地想明白别人想要什么,拨开表面肤浅的需求找到底下深层次的驱动力,之后利用平庸的技术把需要的东西做出来往往并不太难。(这个世界上绝大多数东西都是使用平庸的技术做出来的。)

我花很多时间跟别人聊天,这看起来是非常没有意义的活动,但实际上是最值钱的工作,因为这使得我可以只写必须要我写的代码,避免花时间去写那些不需要我写的代码。


将来随缘更新……


user avatar   luo-ri-te-li-du-xing-de-fen-xiang 网友的相关建议: 
      

开局一张图,剩下全靠猜?这个没法评价。

从软件的角度虽然我能想出两三种导致这个现象的原因,但非正式发布的产品出现任何问题都是常见现象。盲人摸象的评价没有必要。

跟11代没差别,这个肯定是违背常识的,要知道11代i9只有16线程,12代i9有24线程,24线程超越16线程并不需要多么高超的优化技巧。

调度优化的主要难题是当我们只需要少量线程运作的时候究竟把这个线程安排在哪个核心。

然而,对于全核心全线程同时计算的场景来说,反正都是全核心上场,根本不需要什么优化,谁来都是全核心工作。

如果这个软件能把所有核心用满的话,没道理性能不变。所以肯定有某个环节出了问题。正式版本再说吧。


user avatar   xiao-fei-83-73 网友的相关建议: 
      

我理解里,因为中国发展太快了。

这说起来你们可能觉得离谱,但是事实就是这样。大量引入外资和外来技术开始后经济发展太快,在这种高速发展下做技术导向企业就是不可能的,你做技术带来的增长率远远赶不上加了外资杠杆的竞争对手的增长率。

哪怕企业真的技术强壁垒高能活过竞争,企业里的员工也必然要被大量挖角,因为员工在这种环境下理性选择也是赚快钱。2000年赚了1000万的和2000-2020每年100万收入的在2021比资产时前者几乎无悬念完胜的背景下,没人会有心思在一家公司搞什么技术的,必然都是想着快,抄,上,做出影响力,跳槽,收入翻几倍,下一轮。

等中国也一年增长两三个点,利率接近0,普通搞技术的可以30混到60的时候,这种公司反而会更容易生成。




  

相关话题

  程序员应该问同事工资吗? 
  程序员应该如何优雅地关闭电脑? 
  为什么很多人会觉得IT门槛低? 
  编程学到可以「抢月饼」的程度,要选哪一门语言入门比较容易,需要多长时间? 
  全栈工程师为什么会招黑? 
  如何看待又一位深圳 24 岁程序员倒在工位上?是否程序员下班晚、加班多成了常态? 
  如何看待南京一程序员业余帮网友鉴定毒蘑菇,一年鉴定 2000 多次,成为拥有百万粉丝的网络大 V ? 
  GPU 与 CPU 比较,为什么说 GPU 更适合深度学习? 
  qt5 msvc 版本如何检查内存泄漏? 
  编程语言会影响程序员的性格吗? 

前一个讨论
在北京应该买车吗?
下一个讨论
大理真的有那么美吗?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利