查看原文
其他

渡十娘|程序员的核心技能

渡十娘 2022-10-31

The following article is from 老万故事会 Author 老万

做公众号里的《纽约客》

戳蓝字一键关注 渡十娘

转发也是一种肯定


文字|老万

编辑|渡十娘  




大家好,我是老万。我是一个谷歌公司的程序员。

大家知道程序员最核心的技能是什么吗?

我告诉你,就一条:取名字。

代码写得好不好,最关键的就看你会不会取名字。好的名字一定要能准确表达一个东西的作用。

有回我审查代码,一看就来气了:作者给这个文件取名字也忒省事儿了,居然就叫“文件(file.h)”。

我不知道这是一个文件吗?

然后人家告诉我:老万,这个就是处理文件的系统接口,所以叫 file.h。这个名字是我歌资深院士 Jeff Dean 当年取的。


现实生活中,很多程序员都和我一样,恨取名字的机会太少,空有一身本事,英雄无用武之地。

这就是为什么我朋友里面生孩子多的都是程序员:终于又可以取名字了啊!

找工作的时候投简历,大家都得填自己的名字、电话、个人信息。我觉得应该加上一条:孩子叫什么名字。

凡是孩子名字取得不好的,直接刷掉,可以节省一半的面试经费。


为了获得取名字的机会,某些程序员无不用其极。我以前的组有一个小哥,连生三胎,有两胎都是双胞胎。

你问我们组是干啥的?噢,我们是做大规模并行处理系统的。

程序员在公司干得好了,老板会提拔你做技术领导(tech lead)。我是当上了之后才发现,给这个岗位取名字的人太他妈黑了。

我想象的是,当了领导我就给大家派活:你干这个,嗯,你干那个。然后我就在后面拿个鞭子,看谁不好好干活,我就抽他一下。

后来我发现,其实就是一群驴在拉车,为了让驴自觉地拉,老板就在里头挑一个拉得比较好的,告诉它你就是领导了。

然后这头傻驴就兴高采烈地带着其它驴往前拉。要有别的驴不乐意拉的活儿,他自个儿都拉了,说这叫以身作则,lead by example。

Lead by example, my ass!

大家小时候有没有跟人打过群架?混战之中,谁要是抄起一块板砖往自己头上一砸,把自己拍得头破血流,那所有人都怕他了。

我觉得 tech lead 就是干这个的,上来先抽自己两鞭子,然后其他人都看傻了:兄弟,要不咱们还是好好干吧。

要是 tech lead 干好了,老板还会让你当 tech lead manager(技术领导经理),除了管技术,还得管人。

你想一想,“技术”和“经理”这两个词儿能放到一起吗?

绝大多数程序员都有社交恐惧症,绝大多数经理都有社交牛B症。你想在这两个病人集合中间找到交集,不说不可能吧,那也是个 NP 完全问题。

所以说公司的做法就是:你有恐惧症是吧?好吧,那我给你来个脱敏疗法,直接把你当社交牛B症治疗,以毒攻毒。能活下来算你造化。

我在中关村当程序员的时候,也有社交恐惧症。物理所旁边有一家小馆子,卖肉饼、家常菜。我总是一个人去那吃饭。

有次去,要了一斤肉饼,一份小菜,一碗粥。

上完菜我一看:粥里面有一只苍蝇。

我就跟服务员说:小姐(那时候服务员还叫小姐),你这软饭里有 bug 啊。她就说:噢对不起,对不起,我给你换一碗。

吃完一结账,肉饼 12 块,小菜 5 块,粥有苍蝇不要钱,收我 17 块。

我一看,不高兴了,把老板叫过来:老板,你这算法有问题啊!

你这是贪心算法(greedy algorithm)啊。

这得不到全局最优解的呀!

没想到,老板是软件所的退休职工。他说小伙子,你看得用什么算法呀?

我说:这个事情啊,你要考虑用户的后续反应,得用阿尔法贝塔剪枝算法。

老板说,可是这时间复杂度就大了呀!

然后我们就开始讨论各种状态空间搜索算法的优劣,从中午两点讲到下午五点,终于说服了老板,从 17 块里扣掉精神损失费 1 块,凑了个整数,16 块钱成交。

我们程序员就是这样,哪怕修理一个 bug 的时间成本远远超过了收益,这个成就感是金钱换不来的呀!

后来我离开中关村,进了一家美国软件公司。我一直在思考:我们程序员和公司到底是什么关系?

进公司的时候,合同写得一清二楚:任何一方愿意,随时可以解除雇佣关系。我觉得这就象是夫妻:结婚自由,离婚也自由,谁也别赖着谁,挺好。

要这么说呢,我们老员工面试新员工,就是大奶在考二奶:你这个小妖精,别看现在对我毕恭毕敬,进来之后谁知道会不会逮着机会就在老娘头上作威作福!

二奶也很委屈:唉,都是出来卖的,女人何苦难为女人!

说到女人啊,公司推行新文化,要求我们在写面试意见的时候不能把被面试的人叫他(he)或者是她(she),因为不知道这人的性取向。

哪怕 TA 胡子一大把,只要 TA 觉得自己是个女的,我们叫“他”就是冒犯。

为了保险起见,我们只能叫 TC(the candidate)。

有的 TC 进了公司后被发现业绩不达标,人力资源部就会建议,开除之前先把这人放进一个叫 PIP(performance improvement plan)的计划。

就是说:知道你们夫妻生活不和谐,但是呢,正式分手之前,还是试图挽救一下,看能不能治好,治不好再拜拜。

我明白了,这就是按 TCP IP 协议离婚啊!(注:TCP IP 是互联网通信的基本协议。你能看到老万这个帖子,靠的就是这个协议。)

上次我在朋友圈发这个段子,有人当场指出:老万你有 bug。把性取向(sexual orientation)和性别认同(gender identification)这两个概念搞混了啊!

我一听:嗯,你这取名字很精准,确实掌握了程序员的核心技能!我这里有个 tech lead 的职位你要不要考虑一下?

谢谢大家!




写更好的文章  做更好的自己
2021,走好,再也不见!

昨日更新:

热文链接:

上海疫情:

冬奥特辑:


热门栏目:


读完请点"在看"让更多人看到






图片 I 网络

整理 I 编辑 I 渡十娘

清单内容来自 I 老万

版权归原作者 I 如有侵权 I 请联系删除





生活中

总有些东西值得分享



·十·娘

DES



IGN


发现 I 家庭 I 乐趣


想每天与渡十娘亲密接触吗?

喜欢?粉她!

有话想说:

海外:dushiniang999@gmail.com
国内:dushiniang999@126.com



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存