很久以前,在一个我刚刚编出来的故事中,我正在设计一些高度可扩展的基础设施。就在这时,一位资深工程师走进我的工作间,说道:“嘿,伙计,你的 VS Code 主题真不错。”
“哦,谢谢!这是一个合成波风格的主题,还开启了燃烧模式。” 我还没来得及详细解释,他就打断了我。
“你看到第234行的 bug 了吗?”他问。
“不可能,老兄,”我自信地答道,“这段代码我们有100%的测试覆盖率。”
“好吧,我会在我的 Arch 桌面上用 Neovim 打开它,然后给你发一个 PR。”他淡定地说。
五分钟后,我收到 Slack 的通知,PR 已经通过,所有测试都通过了,删除了 469 行代码,只有一句提交信息:“优化次优代码。”我抬头望向窗外,看见他开着他的特斯拉扬长而去。那一刻,我意识到——我被秀了一脸。
作为一名程序员,提升自尊心的最佳方式之一就是秀别的开发者。对于程序员来说,只有两种状态:冒牌者综合症和优越感综合症。
第一个秀技就是“复杂度秀”。世界上最伟大的程序员曾说过:“蠢货欣赏复杂,天才欣赏简单。”幸运的是,大多数人并不是天才。想想普通人有多蠢,然后再意识到其中有一半人比这还蠢。所以,你可以拿一个简单的 JavaScript 函数,加入 TypeScript,然后将其重构成抽象工厂、单例、适配器、装饰器、代理模式。当没人能看懂时,只需告诉他们,他们从未见过真正的干净代码。于是,他们会认为你是某种编程大神。
接下来是“金钱秀”。你赚的钱和你给世界带来的价值是成正比的,至少这是人们的看法。一个年薪 50万的初级开发者在老同事面前得意洋洋,但他隔壁的同事因为薪资谈判得好,年薪 225 万元。这个人的表弟在 Netflix 年薪 700 万元,而他的房东是 Uber 的早期工程师,身价 2500 万。但即便如此,他也会被一个靠加密货币发家的亿万富翁秀一脸。生活的轮回真是美妙。
另一个秀技是“Vim 秀”。真正的开发者用 Vim——不用鼠标完全没问题。但终极秀技是“系统秀”。用 Ubuntu 还不错,但当你在洗手间遇到一个人,他转头说:“顺便说一下,我用的是 Arch,”你立刻就会觉得自己逊色了一筹。
如果你不在那顶级秀技的圈子里,你还可以秀你的“GitHub 成就”。你需要一份像艺术品一样的提交历史,奖项和徽章多到让你像个军装满载的将军。你可以通过分叉年轻开发者的项目,删掉所有多余的代码,然后发一个 PR,解释你是如何使用最佳实践来清理代码的。这么一来,他们可能就此放弃编程了。
即便你代码不太好,你还可以试试“网红秀”。花 8 美元在 Twitter 上发帖,抛出一些离谱的观点,甚至可能收到马斯克的回复,之后你就可以到 YouTube 上炫耀这件事。
但真正的程序员终极秀技是学会务农。当你炸掉电脑,加入阿米什教派时,你就超越了所有这些表面的秀技。你不再在意代码质量、GitHub 星星、点赞、粉丝甚至金钱。你看着蜘蛛网反射着阳光,意识到大自然中存在着无处不在的智慧。这时你开始哭泣,意识到自己也会像那些逝去的人一样被遗忘。而在那一刻,你明白——那只蜘蛛也在秀你。