程序员体验——我在 RightCapital 的工作
本文作者是 RightCapital CTO、RightCapital 北京办公室负责人。
每个 CTO 都会有很重要的工作,从招揽人才、设计架构、规划资源、打造团队文化到解决和产品团队的冲突。作为一个资深的程序员,从创立 RightCapital 第一天,我就清楚地意识到我的一项重要的工作内容:打造出色的程序员体验(developer experience)。
什么是程序员体验
简而言之,一切让程序员工作更有效率、更舒适的事物。
我把开发者体验分成几类:
- 硬件
- 技术
- 团队文化和价值观
硬件
虽然 RightCapital 已经成立了 6 年,我们做到的很多事情在今天看来也不再耳目一新,我仍然对其中的点滴津津乐道。
比如,我们很早就为整个团队配置了升降桌。我们的供货商主要为微软、谷歌等海外科技企业供货,它当时在国内几乎没有任何业务。
我们同样为每个程序员提供额外的戴尔 27 吋 4K 显示器,它曾是我们 27 吋 iMac 极佳的伴侣。现在我的 IT 同事在逐步用 M1 替换所有的 Intel 苹果电脑——他们成功地说服了我这些投资在 3 个月就可以回本。
在软件方面,我们为程序员提供了管饱的 JetBrains、Setapp 和 Surge Enterprise 的授权——无论是用在公司还是个人的电脑设备上。
技术
和所有技术团队一样,RightCapital 的技术团队也充满了对抗。和其它技术团队不一样的是,这里的对抗不是发生在技术和产品之间,而是发生技术和技术的客户之间的。而技术的客户,在 RightCapital 的定义是你的技术同事和队友——那些未来会阅读、使用和维护你写的代码的人。
所以在这里,我们通常不会争论的是什么是全世界最好的语言,而是类似这样的一些问题:
- 当你的读者读你写的这些代码时,他们会喜欢你吗?你是否讲了一个清晰自洽的故事给他们?
- 你的代码是否做到了 1–2 年内免维护?
- 你的成就是否建立在削弱现有的代码质量之上?
- 你创造的类和方法是否做到了“易用对、难用错”?
所以你可以想象,在 RightCapital 团队里做 code review 是怎样一种有趣的体验。
这样的要求确实会消耗很多程序员时间,但我们的团队一致认为这样做是值得的。其结果是显而易见的,工程的质量可以稳定地维持在令人愉快的水准,任何人在接手开发或维护都会感到赏心悦目。
团队文化
RightCapital 有着独特的团队文化,正是这样的文化聚集了一群独特的程序员。
快感 vs 成就感
能够应对不断变化的产品需求,在短暂的时间和高强度的压力下快速交付和上线确实会给程序员们带来快感。这种快感可以更多地被理解为一种奖励机制。这样的奖励是在暗示“下一次还要这么做,而且要做得更快,你会更爽”。但是,如果单纯地追求这样的快感可能带来三个明显的问题:
- 边际效应越来越弱:要想获得同样的快感,需要系统性地舍弃长期利益,压缩开发时间
- 不可持续性:即使让 996 成为常态,这样的做法也几乎是不可持续的。而且,长期这样做会增加程序员的焦虑并降低自尊
- 事实上是在把工程推入了负面漩涡——代码质量的下降、缺乏测试和文档导致可维护性的丧失——从而导致程序员体验的滑坡
在 RightCapital,事情有所不同。相对于快感,我们更鼓励程序员(也就是我们自己)追求成就感——那些来自深度思考、构造高质量的解决方案、用简单的方法解决复杂的问题之后获得的宁静、轻松和愉悦。我们希望大家能够有机会写出稳健、优雅、让自己满意、甚至值得骄傲的代码——“看,这是我写的”。
我们正在招聘
欢迎阅读我们的招聘帖了解我们正在招聘的职位信息,我们期待与您共事的机会。
本作品采用《CC 协议》,转载必须注明作者和本文链接
好公司
听你这么一说,就很想看看你们的代码了,学习一波
羡慕啊
投了两次简历全都石沉大海了,好是好进不去
我的代码糟糕透了,但还有闪光点,至少用了 php-cs-fixer。 :relieved:
你是 CTO ?
优秀
厦门的RightCapital 有坑位吗
投了简历 貌似被pass了 哈哈
咱也不知道这是家什么公司,投了简历 也没后续,身边至少3个人都是这样 哈哈哈哈哈