工程管理模式的变迁:从技术决策到业务价值 The Pragmatic Engineer 2026-10-21

工程管理模式的变迁:从技术决策到业务价值

46 节

工程管理模式的变迁

在 2010 年代担任工程经理最糟糕的事情之一就是,当你加入工程管理行列时,学到的第一课往往是:“嘿,你绝不能再做任何技术决策了。”我记得那确实就是当时别人原原本本告诉我的,而这绝对不是当今的风气。我当时非常沮丧的一个观念是,Staff 工程师原则上只去处理他们觉得个人有成就感的、有趣好玩的问题。我手下一些最优秀的工程师会说:我想做更有趣的问题。我当时就回答说,我这里能提供的只有痛苦,但正是这种痛苦才能让业务取得成功。

英文原文

One of the worst parts of being a engineering manager in the 2010s is when you join the ranks of engineering management, one of the first lessons you get is like, "Hey, you need to never make a technical decision again." I remember that's literally what I was told, and that's definitely not the ethos today. One of the ideas that I was really frustrated with at the time was this idea that staff engineers principally got to work on interesting, fun problems that they found personally rewarding. Some of my very best engineers were like, I want the more interesting problem. I was like, I only have suffering to offer, but this suffering is what's going to make the business succeed.

>>: 大家都在想,自己是不是陷入了一点职业陷阱?

英文原文

>>: People are wondering, am I a little bit of a career trap?

>>: 现在是中层管理的艰难时期,对吧?我个人觉得非常有价值的事情,是重新回到编写软件的细节中去。这其实是一个非常独特的去重新学习技能的时刻。我确实认为,如果你身处管理层,我觉得在眼下,要么你得深入回细节中,要么……

英文原文

>>: It's a hard time in middle management, right? What I found personally very rewarding is kind of getting back into the details of writing software. This is kind of like a unique moment to actually re-skill. I do think if you're in management, I think right now, either you have to like get back into the details or

>>: 过去几年里,工程管理发生了怎样的变化?Will Larson 是讨论这个话题的最佳人选之一。在过去的 10 年里,他曾在四家不同的公司担任工程高管,写过几本关于工程领导力和 Staff 级别以上最受欢迎的书籍,而且我非常欣赏他思考问题时的深度和缜密。今天我们将探讨零利率政策是如何严重影响了 2010 年代长达十年的管理习惯。这些习惯中有许多如今已不再适用。

英文原文

>>: How has engineering management changed in the last few years? Will Larson is one of the best people to talk about this. He's been an engineering executive for the last 10 years at four different companies, [music] wrote some of the most widely read books on engineering leadership and staff plus levels, and I really appreciate how deep and thoughtful of a thinker he is. Today we cover how zero interest rates heavily influence a decade of management habits in the 2010s. Many of these habits no longer helpful.

>>: [音乐]

英文原文

>>: [music]

>>: 工程师的角色正在如何转变,以及为什么解决业务关心的问题对于在企业内部生存发展变得更加重要。如今走向 CTO 的路径,以及为什么一线经理往往比中层管理者能成为更优秀的工程高管,等等。如果你是一名工程师或工程经理,想知道在 AI 改变行业的大背景下自己的职业道路会走向何方,以及如今通往 CTO 的路径是怎样的,那么这一期节目就是为你准备的。本期节目由 Turbo Buffer 赞助播出。Turbo Buffer 是一个构建在对象存储之上、极具可扩展性、快速且便宜的超快搜索引擎,打造它的工程团队在我和他们接触之后非常喜欢。

Turbo Buffer 工程团队正在做一件非常酷的事情。他们正从第一性原理出发彻底重新设计存储架构,以在规模化运行时让搜索更快、更便宜且更可靠。这个被称为 Turbo Buffer V3 的新系统目前还没有上线生产环境,但它已经通过了 CI。不过,它的性能目前还远不如现有的生产版本 V2,因此 T buff 团队目前正在对查询计划进行极致的性能调优,直到它们与 V2 一样快甚至更快。他们完全公开地进行所有这些工作,记录他们一路通向 V3 生产环境上线的性能提升过程。跟着一起跟踪并看到不同的性能突破以及他们是如何做到的,感觉非常棒。

例如,我们可以看到全文搜索(红线部分)最初比当前系统慢 129 倍,但现在它只慢 4 倍了。在开发日志中,我们还能看到团队使用了像批量评分或批量读取等手段来提升性能。目前很多这些成果都是基础性工作,但在接下来的几周里,该团队将分享一些非常酷的系统工程内容。

不过等等,团队为什么要进行全盘重写?这是因为搜索正在发生变化,Turbo Buffer 也是如此。Turbo Buffer 最初是一个向量数据库,但它现在已不再仅仅是一个向量数据库了。它已经演进为一个用于搜索的高性能数据库。V3 废弃了向量主索引,所有索引都将共享相同的列式存储系统。每个查询都将在向量化查询引擎上运行,这种设计在搜索数据库中并不多见,但它既能带来极快的搜索速度,也能打造出一个总体上非常快速的数据库。

Turbo Buffer 团队一直在为他们的历程记录工作日志,大家可以在 turbobuffer.com/v3 跟踪关注。看着它是如何被构建出来的,真是一件大快人心的事。

英文原文

>>: How the role of engineers is changing and why solving problems that the business cares about is becoming much more important to thrive inside of companies. The path to becoming a CTO today and why line managers often make better engineering executives than middle managers do, and many more. If you're an engineer or engineering manager and are wondering what your career path could look like with AI changing the industry, and how the path to CTO looks like today, this episode is for you. This episode is presented by Turbo Buffer, a ridiculously scalable, fast, and cheap hyper search engine built on top of object storage by an engineering team that I've really grown to like after spending time with them.

The Turbo Buffer engineering team is doing something really cool. They are completely redesigning their storage architecture from first principles to make search faster, cheaper, and more reliable at scale. The new system, called Turbo Buffer V3, is not yet in prod, but it already passes CI. Still, it's not nearly as performant as the current production version, V2, and so the T buff team is now perf maxing query plans until they are as fast or faster than V2. They're doing all of this in public, documenting how they increase performance all the way up to the V3 production launch. And it's so cool to follow along and see the different performance wins and how they did it.

For example, we see how full text search, the red line, started out as 129 times slower than the current system, but now it's only four times slower. And in the development log, we can also see that the team use things like batch scoring or batch reads to increase performance. A lot of these wins are basic foundational work right now, but the team will be sharing some very cool systems work over the next few weeks.

But hang on, why is the team doing a full rewrite? It's because search is changing and so is Turbo Buffer. Turbo Buffer started as a vector database, but it's no longer a vector DB. It has evolved into high performance database for search. The V3 discards the vector primary index, and all indexes will share the same columnar storage system. Every query will run on vectorized query engines, which is something you don't usually see in search databases, but which will result in both very fast search and just generally a very fast database.

The Turbo Buffer team is keeping a work log of their journey, and you can follow along at turbobuffer.com/v3. It's a blast to see how it's being built.

早年接触计算机与 MUD 游戏

>>: Will,欢迎来到播客。

英文原文

>>: Will, welcome to the podcast.

>>: 谢谢你的邀请。很高兴能来这里。终于能当面聊聊了。

英文原文

>>: Thank you for having me. I'm excited to be here. Finally chatting in person.

>>: 终于当面聊了,因为我们认识这么久了。我们两人都开始写作,之后我们也会聊到写作的事。而且之前也一起出来聚过,不过这次当面聊很不错。

我想从最开始聊起。你是怎么对计算机产生兴趣的?你一开始就对计算机感兴趣吗?

英文原文

>>: Finally in person cuz we've known each other for for so long. Both started writing, we will talk about that writing as well. And also just hung out before, but this is nice.

I want to jump into the beginning. How did you get interested in computers? Were you interested in computers to start with?

>>: 从我五岁的时候起,我们家里就有一台类似 Mac 2C 之类的电脑。它不是黑白的,不是最早期的那种,但也相当基础,我觉得上面大概只有一样东西是我作为一个四岁半或五岁小孩懂得怎么用的,那就是 Kid Pix。你可能……我不知道,你用过或者见过 Kid Pix 吗?

英文原文

>>: From the time I was five, we had like a Mac 2C or something like that. This was like a not not black and white, not the very earliest one, but it was pretty basic and I think it had like one thing that I understood how to use as a a 4 and 1/2 or 5-year-old, which was like Kid Pix, which you've maybe I don't Did you ever use see Kid Pix?

>>: 我……我知道它,但我从来没用过。

英文原文

>>: I I I don't know I know of it, but I never used it.

>>: 那是个非常高级的东西。我都不知道当时能不能保存文件,但它基本上就是一个给小孩子用的图形程序,你可以画正方形、画圆形,做一些小的图形,但那算是我最早的接触。

我记得自己经常用那台电脑。那个年代基本上没有什么所谓的互联网,除了自己在上面瞎捣鼓之外,真的没有任何办法弄明白怎么去操作任何事情。而在某种程度上,写软件的根本也就是不断乱敲乱试,直到你搞明白怎么让它跑通为止。但我认为那是一个很棒的入门。不过说实话,在软件方面我当时没做什么大不了的事,除了一些所谓的 MUD(多用户地牢游戏)。你小时候玩过 MUD 吗?

英文原文

>>: like a a super sophisticated thing. I don't even know if you could save files, but it was basically like a graphical program for for children and you could make squares and circles and little like graphics, but that was kind of the introduction to me

and I remember using that computer a lot and like that this is an era when there were really no internet to speak of, really no way to figure out how to do anything other than just banging on it, which is sort of the the fundamental of writing software in some ways is just banging until you figure out how to make it work. But I think that was a great introduction, but to be honest, I wasn't doing a whole lot in like software other than, you know, multi-user dungeons. Did you ever like play a mud growing up?

>>: 多用户地牢,那是什么……不,什么是 MUD?

英文原文

>>: Multi-user dungeon, what's a No, what's a mud?

>>: 它是一种纯文本游戏,所以基本上其核心概念就是,《魔兽世界》实际上是一款图形化的文本游戏,我们在本质上都是从这些 MUD 或多用户地牢的想法演变而来的。但当我还是个高中生的时候,那是我开始接触更多软件的时期。起初你会从 IRC(互联网中继聊天)和 mIRC 开始接触,说实话我甚至都不知道那个 M 代表什么。那是一个客户端。你可以用正则表达式做一些简单的脚本编写,但在小时候,很多 MUD 客户端允许你做大量的触发器、正则表达式,那就是我涉足更深一点的地方。

我是在那里学会了正则表达式,但实际上直到上了大学,我都完全没有真正开始编写软件。

英文原文

>>: It's a text-based game and so basically the the idea is that World of Warcraft is actually a graphical text-based game that we basically derive from these ideas of muds or multi-user dungeons, but when I was a kid in high school, that's when I started doing more software. So a little bit you start with IRC IRC internet relay chat and and merc which I don't even know what the M stood for to be totally honest. It was a client. You could do a little bit of scripting with regexes, but then a lot of the mud clients as as a kid, you could do a ton of triggers, regexes and that's where I got a a little bit further into it.

Learn my regexes there, but really I didn't start writing software at all until I got to college.

大学转向计算机科学与职业起步

>>: 然后在大学里,你开始写什么了?你是怎么进入到更严肃的阶段的?

英文原文

>>: And then at college, what did you start writing? How how did you get into more serious level?

>>: 我刚上大学的时候其实不知道自己想学什么,我想过可能是物理,或者是英语,抑或是经济学。我父亲是一名经济学教授,所以家里有这层家族渊源需要我去努力看齐。但最终我算是误打误撞进了我们学校的计算机科学专业。那所学校是肯塔基州一所小型的私立学校。我毕业那年,计算机科学专业好像总共就 13 个人。这就是整个专业的人数了。我记得我们那届有四个人毕业,然后大三和大二的学生加起来总共大概 13 个人。所以规模非常小,毕业的那届大概就四个人。

不过,确实就是那时候我真正投入进去了。为什么呢?我就是很喜欢,因为当时有一门必修的入门课程。这有点搞笑,很多美国大学,特别是较小的私立大学,都会有一些随意的必修要求。我当时被要求选修一门基督教概论课程,比如基督教历史;但也要求选修计算机科学导论或另一门课,我忘了另一个备选项是什么了。总之我非常喜欢那门计算机科学课。

英文原文

>>: So I came into college not really knowing what I wanted to study and I thought it might be physics or English or, you know, economics. My father was a professor of economics, so there was some some family you know, lineage to try to live up to, but ultimately I kind of fell into computer science at my school, which was a a small kind of private school in Kentucky. There were I think 13 people in the computer science program the year that I graduated. So, and that was like the entire program. So, I think there were four graduates my year and then like the the juniors and and sophomores in total were like 13. And so, it was quite small. So, I think there were four that graduated my year. But, um but yeah, but really that was when I got into it. And why? I just enjoyed had an intro course that we were required to take. And it's kind of funny, um with a lot of American colleges, especially smaller private ones, they have random kind of requirements. So, I was required to take a introduction to Christianity course, like at the history of Christianity. But, also required to take like a introduction to computer science or some other course. I forgot what the other alternative was. So, I really enjoyed the computer science one.

>>: 你当时就决定自己很可能会成为一名专业的软件开发者、工程师、程序员,或者不管当年人们怎么称呼这个职业吗?

英文原文

>>: Did you decide that you're probably going to be a professional software developer, engineer, programmer, whatever we called it back then?

>>: 我觉得当谈论很多职业话题时,有趣的事情之一是很多人都上过名牌学校。比如你和滑铁卢大学毕业的人聊天,他们会说:“哦,你是怎么找到工作的?”他们会说:“嗯,滑铁卢的每个人都接受过关于如何去从事软件工作的专门辅导。他们简直就是在互相交换……的答案。”

英文原文

>>: So, I think one of the interesting things when you talk a lot about careers is like a lot of folks go to like elite schools. So, you talk to someone from Waterloo and they're like, "Oh, how did you get your job?" They're like, "Well, literally everyone at Waterloo is coached on how to go do software. They're literally trading the answers to

名校路径与小校出身

互相进行面试。所以,他们了解面试,并在进去之前反复演练面试。”他们也是,比如非常棒的项目。他们做带薪实习(co-op)已经很多年了。他们很优秀。他们是很棒的候选人。他们往往表现得非常好。但是,如果你去滑铁卢,你去麻省理工,你去斯坦福,你真的就像是有一条既定的道路,你只要把脚踩上去,表现好,它就会带着你走到那里。而且这些都是非常出色的学生。

英文原文

interviews with each other. So, they know the interviews and drill on the interviews before they go in." They also like amazing program. They've been doing co-ops for years. Like, they're great. They're great candidates. They tend to do really well. But, if you go to Waterloo, you go to MIT, you go to Stanford, you really there's like this path and you just kind of put your foot on it and you do well and it carries you there. And these are amazing students.

>>: 几乎是。

英文原文

>>: almost.

>>: 但它确实是一台自动扶梯。如果他们足够优秀能留在项目里,他们往往就能走到那里。而在一个小体量的学校,又比如我们那一届计算机科学毕业的大概也就四个人左右,那里其实根本没有路。我记得前一年毕业的一位在软件行业工作的同学,他去肯塔基州列克星敦的一家赛马投注软件公司工作,我觉得那里大概也就五个工程师左右。而这是一位非常有才华、非常有能力的人。这就是他们当时所知道能找到的工作。

所以对我来说,这其实很有意思。我不太确定自己要做什么。我最后其实通过 JET 项目(日本交流与教学项目)去日本教英语了。所以我在日本岐阜县的一个偏僻地方呆了一年。但那就是我真正开始大量写作的时候。所以我想着,“好吧,我绝不会当超过 1 年的英语老师。”这是一份为期 1 年的合同。我做满了这 1 年。我完全没想过要做第二年。然后我回来了,开始尝试想办法从那里真正打入硅谷。

英文原文

>>: But, it is an escalator. If they're good enough to stay in the program, they tend to kind of get there. Going to a small school with again like four-ish folks that graduated my year in computer science, there really was no path. I remember one of the one of the folks that graduated the year before that was working in software, he went to go work on a horse racing betting software company in in Lexington, Kentucky, which I I don't think there were more than like five engineers there. And this was like a really talented, really capable person. And this is kind of what they knew how to find.

And so for me it actually was interesting. I wasn't quite sure what I was going to do. I actually ended up teaching English in Japan on the JET Program, the Japanese Exchange Teaching Program. So I was in the middle of nowhere in Japan in the Gifu Prefecture for for a year. But that's when I really started writing a lot. So I was like, "Okay, I'm definitely not going to be an English teacher for more than 1 year." It's a 1-year contract. I did the 1 year. I had no thoughts about doing a second year. And and I came back and started trying to figure out how to actually break into Silicon Valley from there.

从远程外包到搬去雅虎

>>: 你那时就已经有了打入硅谷的目标。为什么是硅谷?你能带我们回到那时候,看看当时的硅谷是什么样吗?

英文原文

>>: And you had the goal break into Silicon Valley already. Why Silicon Valley? Can you take us back to what Silicon Valley was was like back then?

>>: 一开始的时候,我不知道硅谷是什么,对吧?我只是,我只是想要一份待遇不错的工。我想,你知道,这是……我是 07 年毕业的,然后接下来的一年我在教英语。然后我其实大概在 09 年初之类的时候开始为雅虎工作。不过那真是一段很有趣的时期。所以最初我是作为远程外包人员在东海岸为雅虎工作。那是一个有趣的时刻。我之所以开始和雅虎合作,是因为我写了一系列关于一个叫 Yahoo BOSS 的博客文章,也就是 Build Your Own Search Service(构建自己的搜索服务)。这是他们在某个团队推出的一个产品。我想它在行业里并没有获得太多的关注度。但是在它推出的时候,我写了很多文章。所以我写了三四篇关于用 Python 构建 BOSS 应用的教程,嗯,用 Django 构建 BOSS 应用。有点像做了一个 Django……

忘了名字了。可能叫 Django Springsteen,就是那个通过 Django 来使用 Yahoo BOSS 的搜索库的名字。所以我觉得他们很兴奋,因为有人在写关于它的内容,这也让我很兴奋。最终促成了这份外包工作。然后到头来他们有一项政策,就是作为外包人员工作一年后,你必须搬过去转为全职。

而我最初被聘为外包人员的原因,是因为基本上那整整一年他们都处于招聘冻结状态,因为那正好是在金融危机之后。

英文原文

>>: First of the time, I didn't know what Silicon Valley was, right? I just I just wanted I just wanted a job that that paid well. And I I think, you know, this was So I graduated in '07 and then the the next year I was teaching English. And then I actually started working for Yahoo in I guess maybe early '09, something like that. Really interesting time though. So initially I was working for Yahoo from the East Coast as a remote contractor. It was an interesting moment. So I started working with Yahoo cuz I wrote a series of blog posts on something called Yahoo BOSS, which was Build Your Own Search Service. And this was a product that they had launched on this one team. I think it wasn't getting a lot of kind of traction in the industry. But when it launched, I was writing a lot. So I did three or four tutorials on building BOSS things in Python, um BOSS things with Django. Kind of made a Django

Forget the name. It might have been Django Springsteen was like the name of the search library to use Yahoo BOSS with with Django. And so I think they got excited cuz someone was writing about it, which also got me excited. And that ended up ultimately in this contract job. And then ultimately they had the policy where you had to move after a year as a contractor and go full-time.

And the reason I was hired as a contractor though, is they had a hiring freeze for basically that entire year because this was right after a financial crisis.

>>: 所以他们当时就一直在经历——

英文原文

>>: And so they're just going through

雅虎内部生态与服务器黑市

>>: 一轮又一轮的裁员。所以他们可以招几个外包人员,但不能招任何全职员工。然后到了 12 个月的时候,他们就说:“嘿,现在你必须转为全职,否则你就没有工作了。”因为要避免某种合规方面的义务。所以他们就说:“嘿,如果你转全职,你就必须搬过来。”所以基本上,如果我搬过去,我在雅虎就有一份工作;如果不搬,我就完全没有工作。所以我就从东海岸搬到了加州。当时挺容易的。除了这份工作,你知道,我并没有太多的负担或牵绊。

英文原文

>>: layoff after layoff. And so they could hire a couple contractors, couldn't hire anyone full-time. And then at 12 months, they are like, "Hey, now you have to go full-time or or you're not employed." Cuz there's kind of the compliance obligations to to avoid. And so they're like, "Hey, and if you go full-time, you got to move." And so basically I had a job at Yahoo if I moved or I didn't have a job at all. And so I I moved from the East Coast out to California. Pretty easy at the time. Didn't have a lot of obligations other than, you know, employment.

>>: 是的,当时雅虎相比于谷歌,我觉得他们的风头已经有些减退了,但他们仍然是一家相当不错的公司,对吧?而且有优秀的工程人才。比如 WhatsApp 的创始人很有名地就是出自雅虎。

英文原文

>>: Yeah, and back then Yahoo, I guess their their star was kind of fading with with Google, but they're still pretty good company, right? And good engineering talent. Like WhatsApp founders famously came from Yahoo.

>>: 说实话,我觉得雅虎是一家非常有趣的公司,对吧?所以我觉得雅虎面临的挑战之一在于,如果你是在 2007 年、2008 年进入科技行业的,大量的开源项目让事情变得很容易。然而,雅虎是一家早于所有这些开源库成立的公司。所以,嗯,在 2007 年、2008 年你如何在雅虎运行服务器?嗯,你运行 Y Apache。

所以他们有自己版本的 Apache 分支,前面加了一个 Y。你在 Y Apache 上运行什么编程语言?嗯,你当然会运行 Y PHP,那是他们自己的 PHP 分支。那你会用什么 UI 库?你可能知道这个,就是 YUI。然后,嗯,你怎么安装东西?所以如果你想想,嗯,你知道,一堆你可能会用类似 apt 之类的东西。好吧,你会用 Yinst,这是一个 Perl 脚本,用来处理安装的依赖项。所以那是一个非常非常迷人的成长之地,但那里的每一件东西都是他们从零开始自研的。甚至他们还有一个 Kafka 的前身,我记得好像叫 Y Reppl,基本上可以在数据库外部做读取日志并进行复制之类的事情。那是用于管理状态的核心工具。真是个令人着迷的地方。我想,如果只讲一个我喜欢的雅虎小故事的话:大卫·费罗(David Filo)当年出名的一点就是,公司里分配的每一台服务器都要经过他批准。所以,由创始人之一亲自来审核。当时的理论是这样可以促进问责,对吧?你必须证明你需要更多的服务器。但它实际导致的结果是催生了服务器黑市。所以在我的团队里,就有一名工程师手上囤着之前一个取消的项目留下的 30 台服务器。所以他基本上可以说是把它们倒卖给你,对吧?因此,如果你拿不到审批——

英文原文

>>: I think Yahoo, honestly, is a really interesting company, right? And so I think one of the challenges for Yahoo is if you if you came into tech in 2007, 2008, a lot of open source sort of made things easy. Yahoo, though, was a company that predated all these open source libraries. And so, um how do you run a server at Yahoo in 2007, 2008? Well, you run Y Apache.

So they had their own fork of Apache with a Y in front of it. What programming do you language do you run on Y Apache? Well, of course you would run Y PHP, which was their fork of PHP. And what UI library would you use? You might know this one, but it's YUI. And then, um how do you install things? So if you think about like, um you know, a bunch of you'd have kind of like AP APT or whatnot. Well, you'd use Yinst, which was this Pearl script that would navigate kind of the dependencies for installation. And so it's like really really fast knitting place to come up, but every single thing there they made from from scratch. Even they had like a a precursor to to Kafka, which I think was called Y Reppl, which basically would do like a a read log do replication kind of outside of a database. And that that was like a core tool for managing state. Just like a fascinating place. And I think if I just had like one quick Yahoo story that I loved. So, David Filo kind of famously approved every server that was allocated in the company. And so, one of the founders like would review. And so, that the theory was this would drive accountability, right? You had to prove you needed more servers. What it actually did is it created like the black market of of servers. And so, on my team, there was like one engineer that had 30 servers from a prior canceled project back. And so, he would basically sell them to you effectively, right? And so, if you couldn't get approval

>>: 换人情、欠条之类的东西。

英文原文

>>: for like favors and IOU and that kind of stuff.

>>: 这样一来,实际上意味着他们拥有大量过时的服务器,消耗着低效的电量瓦数,因为大家绝不会把服务器退回去。所以,你必须找一个喜欢你的人借服务器来上线你的项目。这种激励机制所引发的荒唐局面真是太令人着迷了。

英文原文

>>: And so, it actually meant they had massive numbers of outdated servers that were like using like inefficient like power wattage because people would never give servers back. And so, you had to find like someone who liked you with servers to loan for your projects to launch. Like a fascinating how these incentives drive just like wild wild situations.

>>: 嗯,我想这是你后来成为工程管理者后记住的一件事。

英文原文

>>: Well, I guess that's one thing you you remembered for when you later became an engineering leader.

>>: 是的,这非常有启发性,对吧?而且我敢肯定,我也很好奇,大卫·费罗知不知道大家私底下实际上搞出了一个服务器黑市?我想他大概率是知道的。但那并没有改变这种自上而下的硬性指令。

英文原文

>>: Yeah, I it was in very instructive, right? And I I'm sure I I'm curious like did David Filo know that people were literally had a black market of servers? Like I assume he probably did know. But didn't didn't change the kind of the top-down mandate.

转战 Digg 与社区机制的博弈

>>: 但是在雅虎之后,你就是在那时去了 Digg 吗?

英文原文

>>: But after Yahoo, is that when you ended up at Dig?

>>: 是的。

英文原文

>>: Yeah.

>>: 那在当时是一家非常出名的公司,发生过很有趣的故事。你能跟我们讲讲你是怎么决定跳槽的吗?因为那是一家初创公司,对吧?Digg 在当时是一家初创公司。

英文原文

>>: At the time very famous company for very amusing story. Can you tell us about like how how you decided to to switch cuz it was a startup, right? Dig was a startup back then.

>>: 所以,取决于你跟谁聊,会有不同的说法,但我认为关于 Digg 的说法基本上是:在 Reddit 之前,它是那个大型的社区网站,但它是中心化策展的。Reddit 有这些子社区,子社区通过算法来对他们想要的内容进行投票,也就是 Reddit 的算法。而 Digg 的首页展示内容实际上是由中心化策展决定的。因此,它的体验非常不同。但这也意味着它的质量保持了一致,并且你比较少会遇到那种偏见和子板块问题。取而代之的是,你面临的是偏见和中心化审核的问题。而且当时存在着一些社区和 IRC 频道,人们基本上会在那里互换人情,试图把内容推到……推到 Digg 的首页。

事实上,在做 Digg v4 时,我们更改了算法,有人放话要来杀了我,因为我断了他们的生路,因为他们的全部生计就是兜售上首页的渠道。新算法不支持这种行为了,他们就真的对我们发出了生命威胁。所以,那曾经是一个非常令人着迷的地方。但 Digg 是……Digg 曾是一个非常重要的网站。而且你知道,当我加入雅虎的时候,情况还不是这样。但在我稍微早一点的时候……

英文原文

>>: So, depending on who you talk to, there would be going to be different narratives, but I I think the the Dig narrative is basically it was like the before Reddit, it was the the the big community site, but it was centrally curated. And so, Reddit had these subcommunities where the communities kind of voted with the algorithm on what they wanted, the the Reddit algorithm. Dig was actually centrally curated on what what went on to the front page. And so, it had like a very different experience. But, it also meant that the quality was consistent and you had less of kind of the bias and subreddit problem. Instead, you had a bias and central moderation problem. And there were, you know, communities there are IRC channels where people would basically trade favors trying to get things onto the the Digg front page.

And in fact, for Digg V4, we changed the algorithm and and I had people saying they had come murder me for stealing their livelihood cuz their entire, you know, livelihood was selling access to the front page. The new algorithm didn't support that and they were were literally threatening our lives. And so, it was it was a fascinating place. But, Digg is Digg was a really important website. And you know, when I joined Yahoo, this wasn't true. But, a little bit before I

Digg 的演进与重写背景

加入雅虎时,雅虎首页字面上就是 NetScaler 上的一个静态文件,NetScaler 基本上就像一个文件存储设备,也就是一种存储文件的方式。而雅虎体育当时也只是一个静态页面,对吧?所以在那个时代,早期的 Digg 就像是一个非常重要的静态页面。但后来它不再是一个静态页面,变成了一个某种动态的社区。我认为当时对大家来说真的极其重要。后来随着时间的推移,它的相关性逐渐减退,虽然之后经历过几次重启,但再也没有真正恢复过往日的声势。我认为它曾经一度是排名前十的网站。

英文原文

joined Yahoo, literally on the front page of Yahoo was a static file on a Net a Net Scaler, which was basically like a a filer, which is like a a way to store files. And Yahoo Sports was just like a static page, right? And so, Digg in that era, like early on, was like a very important static page. But, then it became not a static page, like a dynamic of sorts community. I think really was extremely important to folks at the time. So, it's faded into slightly less relevancy over time and it's been restarted a couple of times since, but never really picking up the the traction once did. I think it was a top 10 website at one point.

>>: 是的,它曾经是前十名,这也是为什么我记得的故事是他们做了一次大规模重写。我想那可能是 V4 版本,对吧?从外界来看,我记得当时虽然 Digg 发展得不错,也很受欢迎,但也有抱怨,有点像几年前的 Stack Overflow 那样。然后 Digg 进行了这次大规模重写,紧接着灾难就降临了。那当时真是一个非常劲爆的故事。大家都在谈论这件事。你能跟我们讲讲究竟发生了什么,以及从内部看是什么样子的吗,因为你当时就在构建这个东西?

英文原文

>>: Yeah, it was top 10 and that's why the story that I remember is they did a big rewrite. I think it might have been a V4 one, right? And from the outside, what I remember is that while Digg was doing good, it was popular, there were complaints, a bit like with Stack Overflow maybe a few years ago. And then Digg did this massive rewrite and disaster followed. And it was like a very juicy story. Everyone was talking about it. What can you tell us like what actually happened and what did it look like from the inside cuz you were building this thing?

>>: 是的,我当时就在那里。我经历了那次发布,在那次发布之后我也还在。我是大约在那次发布上线前 3 到 6 个月加入 Digg 的。那是一段非常奇妙的时期。我加入了,然后就在我入职前的那个周五,CEO 被免职了。然后 Kevin Rose 回归担任——

英文原文

>>: Yeah, so I was there. I was there for that launch and I was there after that launch. And so, I joined Digg about 3 to 6 months before that launch went out. It was a fascinating time. So I joined and then the Friday before I started the CEO got removed. Then Kevin Rose came back in as

>>: 创始人,对吧?

英文原文

>>: the founder, right?

>>: Kevin Rose 是当时的创始 CEO。他待了一段时间,然后他算是退居幕后,接着他又回来了。但他回来的时候,我们有一个,你知道,非常死板的截止日期要发布 Dig before(Digg V4),那是一次重写。Dig V3.5 是 Dig 4 之前的上一个版本,基本上完全是运行在分布式 MySQL 上的 PHP 软件。那是一个不同的时代,对吧?Dig 是在我们自己拥有、放在类似托管机房(colo)里的硬件上运行的。所以当时并不像现在这样直接启动一些计算资源什么的。但 Dig V4 试图解决很多问题。但最首要的是,当时的互联网正在发生变化。

所以这个曾一度排名前十的网站,开始在与 Facebook 的竞争中失去势头。并且它也开始失去搜索流量。当时 Google 进行了一系列重大调整。我想如今我们不太常听到关于 Google 搜索算法调整的消息了。但那时有类似 Google Panda 算法调整,还有其他好几个。它们开始真正重塑流量的流动方式。对于像 Dig 这样的公司,相当大一部分流量——我想说大概有 60% 到 70% 的流量——实际上是通过搜索进来的。

英文原文

>>: Kevin Rose was the founding CEO. He was there for a while and then he kind of stepped back and then he then he came back in. But he came back in and we had this, you know, very hard deadline to to launch Dig before, which was a rewrite. And so Dig V3.5 was the prior version before Dig 4, basically entirely a PHP software running on distributed MySQL. And this was like a different era, right? So Dig was running on hardware that we owned in like a a colo. And so it wasn't like just spin up some capacity or whatnot. But Dig V4 was trying to solve a bunch of problems. But first and foremost, the internet was changing at that time.

So this Dig at one point a top 10 website was starting to lose traction to Facebook. And it was starting to lose search traffic as well. And so there were a series of large Google changes. And I think we don't hear about Google search algorithm changes that much these days. But back then there was like the Google Panda algorithm change and there were a handful of others. And they were starting to really reshape how traffic flowed through. So for a company like Dig, a substantial amount of the traffic, I want to say like 60 to 70% of the traffic was actually coming in via search.

>>: 哦。

英文原文

>>: Oh.

流量危机与生存压力

>>: 流入到一种被称为永久链接(permalink)的东西中。这些永久链接页面就像是,比如你写了一篇很棒的博客文章,它被发到了 Dig,然后我们会有指向该永久链接的引用,当然还有一个指向你网站的小链接,以及围绕它的评论。但我们会通过这些永久链接页面获得海量流量,这些页面的 PageRank 会比原始来源本身还要高。你现在可能会争辩说,也许我们不应该这样。可能确实不应该,我想这大概是当今的看法。但从那个时刻的角度来看,我们实际上是在为它创造可发现性和讨论。那是在 Twitter 之前,也是在 Facebook 获得大规模分发之前。那是一个非常早期的时刻。所以对我们来说,那正是人们涌入的核心入口。

而且,那也是我们广告卖得最多的地方。因此失去那些流量基本上让公司的财务前景走向崩溃。所以从外部来看,Digg 之前运转得相当不错。看起来,你知道,似乎可能还在增长。但实际上,我们内部所知道的是,Digg 正在萎缩。我们曾有过一个美妙的实现盈利的月份,然后算法调整就来了。我们开始萎缩。我们知道这关乎生存——这对我们来说是生死攸关的。再往前走不远,我们很可能就直接不复存在了。而且我们当时,在我加入时,我想说大概有 110、120 人,差不多这样。但这是在 2010 年,当时融资轮次只有一百万美元或三百万美元左右。不像今天人们融资动辄五亿美元,你可以拥有一支随便多少人的团队,那是一个截然不同的时刻。所以即使是 110 人,规模也相当大了,而且我们消耗剩余资金的速度非常非常快。

英文原文

>>: Into something called the permalink. And so the permalink pages would be like say you write a great blog post, we that would then get posted to Dig and then we'd have the reference to the permalink and also like a small link to your site, of course, and comments about it. But we would take a ton of traffic through these permalink pages that would be higher page rank than the original source themselves. And you can argue like now like maybe we shouldn't have been. Probably not. I think that would be kind of the perspective today. But from the perspective of that moment, like we were actually creating the discoverability and the conversation around it. This was before Twitter, this is before Facebook got like substantial distribution. This was really early moment. And so for us, like that that was the core of where people came into.

Um also, it was really where we sold the most ads. And so losing that traffic was basically tanking the company's like financial kind of prospects. And so Digg before from the outside, Digg was working pretty well. It was, you know, seemed like maybe it was growing. But really like what we knew was like Digg was shrinking. Um we had one beautiful month of profitability and then an algorithm change hit. Um and we started shrinking. And we knew that exis- this is existential for us. We were going to simply not exist not that far down the the path. And we were, when I joined, I want to say like 110, 120 people, something like this. But this was this was in, you know, 2010 when funding rounds were a million dollars or three million dollars or something. It's not like today when people are raising, you know, 500 million dollars and you can have a team of of how- however many or it was a very different moment. So even with 110 people, that was pretty substantial and we were we were running down um you know, the remaining coffers pretty pretty fast.

>>: 那次发布在内部来说是进行得很糟,还是进行得挺顺利?因为从外部来看,人们普遍觉得搞得一团糟,而且大家——我觉得很大程度上是社区被惹恼了。然后还有一点幸灾乐祸,就像“好吧,Digg 搞砸了,他们算是自作自受”。你知道,那些乌合之众,尤其是那些极度投入的人,他们不喜欢改变。

英文原文

>>: Did the the launch internally did it go poorly? Did it go well? Cuz from the outside again, there's a perception that it went terribly and people I there was a bit I think a lot of it was the community was upset. And and then there was a bit of celebration as well like well, Digg Digg messed it up like they they kind of deserved it. You know, the the the mob, the the people especially who were very involved, they didn't like change.

V4 上线与 Cassandra 崩溃

>>: 首先,有人画了一套非常有意思的漫画,内容是 Digg 对阵 Reddit,Digg 是蓝色的,Reddit 是红色的,有人画了一场大战,大概分了四五部。那是围绕那个时期有人画的一部非常精细的漫画。看到人们为之倾注了多少精力,确实挺有意思的。但确实,当时存在很多激情,我认为这也是一个非常热情的社区所带来的挑战之一:当你培养了一个充满热情的社区,然后你改变了自己的模样,社区是不喜欢的。因为我的意思是,确实存在这些人,比如 Mr. Baby Man 就是一个非常大牌的人物,是最顶尖的人物之一,他们算是不请自来的内容策划人,把内容推到首页。他,你知道,他和许多其他人都失去了自己的营生,对吧?但那次发布确实搞得非常糟糕。为什么会搞得这么糟呢?搞糟有很多原因。首先,这次发布在技术上并没有真正准备好。我们做出了很多非常激进的技术决策,而且再说一次,我是在这次发布上线前大约 3 个月才加入的。所以我个人并不承担很大责任。我也再次回顾了一下我当时所处的职业阶段,那基本是我的第二份工作,我在雅虎待了 2 年。所以我不会把这个揽在自己身上。在我后来的职业生涯中,发生了任何事我都会承担责任,但这一次真不是我的错。但基本上,我们做出了在 Cassandra 上上线的决定。当时有个笑话,说 Cassandra 基本上就是一个特洛伊木马,被推出来就是为了搞垮行业里的竞争对手,因为之后任何在 Cassandra 上上线的公司基本都完蛋了,我认为这对 Dig 来说肯定是真的。用运行 Cassandra 替换了分片 MySQL 系统。分片 MySQL 系统虽然相当复杂,但它绝对是管用的。而 Cassandra,我认为基本上根本不管用。但我记得,在发布之前有一个团队专门负责对 Cassandra 进行负载测试。

在发布前 2 天,另一位叫 Rich 的同事——他非常出色——他和我在一旁被叫住,对方说:“嘿,那个,他们根本没做负载测试。我们要你们两个在接下来的 2 天内把负载测试做了。”Rich 也是个和我一样的软件工程师,所以我们就想:“好吧,看来我们得装个 JMeter,试着摸清 JMeter 是怎么工作的来做负载测试。”然后我们和 Chris 进行了一次非常耐人寻味的对话,他是 Cassandra 项目的负责人。他说:“嘿,比如我无法在 Cassandra 上做读取。”他说:“那不可能。”我说:“好吧,我没法做写入。”他说:“那也不可能。”我说:“好吧,Chris。如果我在向 Cassandra 写入,我就无法从 Cassandra 读取。如果我在从 Cassandra 读取,我就无法向 Cassandra 写入。”他说:“这倒是真的。”他说:“好吧,我们按计划 2 天后就要发布了。”然后我们就发布了,我们并没有修复它。我们就这么硬上了。所以我认为公司以为——

英文原文

>>: First, there's like a really fascinating set of cartoons someone made which is like Digg versus Reddit and like Digg is like blue and then like Reddit's red and there's this like giant war that someone did like a four or five part. It's like this very intricate comic someone wrote around around this time. And it is kind of interesting to see how much energy people put into it. But yeah, there there was a lot of passion and I think that's one of the challenges of like a really passionate community is like when you foster a passionate community, then you change what you are. Community doesn't like that because I mean, there are literally these folks like Mr. Baby Man was like a really big one, like one of the top and they kind of curators uh un- unsolicited curators of content getting to the front page. And and he, you know, he and many others were they lost kind of their their business, right? But the launch went pretty poorly and why did it go poorly? It went poorly for a lot of reasons. So, first, the launch technically wasn't really ready. And so, we made a lot of really aggressive technology decisions and again, I came in about 3 months before this went went live. So, I I don't personally take a ton of responsibility. I also again think about where I was in my career. I was basically it was my second job. I'd been at Yahoo for for 2 years. So, I won't own this one. I later in my career I'll own I'll own anything that happened, but this one wasn't really my fault. But basically, we made a decision to launch on Cassandra and there's like a a joke at the time, which is that Cassandra was a Trojan horse basically that launched to basically ruin competition in the industry cuz anyone who launched on Cassandra was basically screwed afterwards, which I I think certainly was true for for Dig. And so, running Cassandra replaced the sharded MySQL system. The sharded MySQL system was pretty complicated, but it definitely worked. And Cassandra, I would argue like basically didn't work, but I I remember on there was a a team responsible for load testing Cassandra before our launch.

And 2 days before the launch, uh this other guy, Rich, uh he's who is fantastic, he and I were pulled aside and like, "Hey, well, they never did the load testing. We the two of you to do the load testing before, you know, in the next 2 days." And so, Rich was just like a software engineer like me and so, we're like, "Well, I guess we'll like install JMeter and try to figure out how JMeter works to do some load testing." And we had this like really interesting conversation with uh Chris, who's kind of the the head of the Cassandra initiative. He's like, "Hey, like I can't do the reads on Cassandra." He's like, "That's not true." I was like, "Well, I can't do the writes." He's like, "That's also not true." I'm like, "Okay, Chris. If I'm writing to Cassandra, I can't read from Cassandra. If I'm reading from Cassandra, I can't write to Cassandra." He's like, "That is true." He's like, "Well, we're supposed to launch in 2 days." And then we launched, and we didn't fix it. We we just launched. And so, I think the company thought

混乱的发布与超现实的庆祝派对

我们当时真的快完蛋了。公司真的在走向死亡,资金正在耗尽。但那是我职业生涯中度过的最有意思的一天。我不记得具体是什么时候到办公室的了,大概是早上八点左右。

英文原文

that we were literally dying. And and the company was The company literally was dying. It was running out of money. But it was it was like the most interesting day I've ever had professionally. Can't remember when I got to the office. Probably around 8:00 a.m.

>>: 你说“有意思”,是指压力很大吗?

英文原文

>>: When you say interesting, you mean stressful?

>>: 你可以自己来判断。让我来给你描绘一下当时的场景。那是一次发布,但他们还决定办一场发布派对。所以一整天里,都有类似身穿燕尾服的服务人员端着寿司托盘和香槟走动。

英文原文

>>: You you can judge. Let me like paint the scene a little bit. So, um it was a launch, but they also decided to have a a launch party. So, the entire day, there were caterers kind of in tuxedos with like sushi trays, uh champagne.

>>: 噢,哇。

英文原文

>>: Oh, wow.

>>: 整个办公室的人都在那里搞这种庆祝。然后在房间中央,摆着这样一张桌子——可能是他们搬出来的一张类似会议室的大桌子,也许有这张桌子的三四倍大,工程师们就坐在这张大桌子前。而且我们当时没有足够的硬件来同时并发运行新系统和旧系统。再重申一下,这些硬件是我们自己拥有的。所以他们实际上是在清空旧服务器并安装新软件。因此我们根本无法回滚。我们没有资金去——因为我们又快没钱了。举办派对的预算够用,但服务器的预算却不够,对吧?所以我们只能一台一台服务器地擦除、启动。结果最终这该死的东西根本就起不来。实际情况就是这样,对吧?于是我们挂出了类似“停机维护”的页面,大概挂了 24 小时,然后我们才得以把它处理掉。

英文原文

>>: like the entire office was there to have this like kind of like celebration. And then in the center of the room, there was this like table this It might have been like a boardroom table or something that they pulled out. This giant table, maybe three or four times the size of this, where the engineers were sitting. And we didn't have enough hardware to run the new system and the old system concurrently. And again, this was hardware we owned. So, they were literally wiping the old servers and installing the new software. So, we couldn't roll back. We didn't didn't have the money to or or the And cuz again, we were running out of money. Open enough budget for the party, but like not enough budget for the for for the servers, right? So, we were wiping server by server, spinning it up. And ultimately, like the damn thing didn't turn on. It was functionally what what what happened, right? And so, we had this um you know, like down for for maintenance page up for I think roughly 24 hours. And then we're able to scrap it.

>>: 香槟和穿着燕尾服的人就在周围走来走去。

英文原文

>>: the champagne and the tuxedos are coming around.

>>: 极其超现实。

英文原文

>>: Surreal.

>>: 楼上还有人在做按摩。而且你知道,我记得某些不便具名的团队在我们拼命尝试让系统恢复运行的时候,还在旁边打乒乓球。这整件事就像——就像是一种魔幻现实主义。

英文原文

>>: And there were people upstairs getting massages. There were you know, I remember certain groups who won't be named playing ping pong while we're trying to get this up and it was it it was just like it was sort of like a magical realism.

>>: 我明白你说的“有意思”是什么意思了。这完全不是我所想象的那种发布。

英文原文

>>: I see what you mean by interesting. This is not how I imagined a launch like this.

排查 Python 内存泄漏与脆弱的胜利

>>: 你绝对想象不出这样的发布。它太超现实了。真正的魔幻现实主义时刻:一边是所有这些看似正常的日常在进行,一边是网站正在彻底崩溃崩塌。这简直和我见过的任何事情都不同,但这也是一个让我深感自豪的时刻。那时我才刚去那里三个月。我觉得有意思的是,我们确实让网站勉强跑起来了,但问题非常多,于是人们索性放弃了,一天接着一天,大家陆陆续续就不来上班了。最后真正留下的只有一小群人,大概六个人,拼命想维持它的运转,我们确实做到了。头两天里,我和同一个叫 Rich 的家伙用 Redis 从零手写了一个缓存系统,这让网站能维持在线几个小时。

但我们依然面临巨大的内存泄漏,实际上每隔一两个小时就得重启一次所有进程,而维持在线的唯一办法就是对每个进程进行滚动重启。我们花了一整整一个月的时间才排查出这个 bug。我很久以前写过一篇相关的博文。基本上最核心的 bug 在于:我们创建了一个可供第三方调用的 API 服务,是用 Python 写的。写这个服务的人对 Python 不是很精通,而这个 Python 服务接着又去调用另一个 Python gRPC,然后再去访问 Cassandra。基本上在 Python 里,当你实例化一个默认参数时,如果它是可变对象——顺便说一句,我不知道现在是不是依然这样,我希望现在不这样了,但当时确实是这样的——如果你把一个列表作为默认参数,然后对其进行修改,比如向其中追加 ID,它就会常驻在内存中。因此每次调用该函数时,它都会带有同一个字典或同一个列表。

所以用户 ID 的内存在每次他们调用这个 API 来查询用户 ID 以获取用户对象时,所有曾被传入的用户都会一直留在里面。于是它就这样不断层叠累积,直到我们重启进程。我们在这些服务之间安装了 Memcached,而 Memcached 开始撑不住崩溃,随后又搞垮了 Cassandra。真的,为了找到那个 bug,我花了大概四周时间才最终定位到。一旦找到了,修复起来其实微不足道。但我们总算让它跑起来了。然后我们的新 CEO 到任了,我记得基本上就在我修复那个问题的同一天。紧接着在接下来的一年里,公司基本上全员被裁。

英文原文

>>: You could never imagine a launch like this. It was just it was so it was so surreal. True like a magical realism moment where there's kind of all this normalcy happening while this like site's literally imploding and it was just was unlike anything I've seen but it's also like a moment I take a lot of pride in and so I'd been there 3 months. I think interesting thing is we did get the site kind of working but there were a lot of issues and so people just gave up and like day by day like people just stopped showing up. And like a small group was really the only group left of maybe like six people trying to keep it working and we did and so we and the first two days like the the same guy Rich and I wrote like a caching system from scratch from top of Redis which helped the site stay on for hours but we were still had huge memory leaks since we're actually like restarting every process every you know like hour or two and the only way to keep it up was rolling restarts of every every process. And so it took us it took us like a full month to debug and I I have like a blog post I wrote a long time ago about it but basically the core bug was we created an API service that could be used for like third parties and it was in Python. The people writing it didn't know Python very well and this was Python then calling like another Python GRPC those hitting Cassandra and basically in Python when you instantiate a default parameter if it's mutable I don't know if this is still true by the way I I hope it's not so true but at the time it was true where if you basically put a list as a default parameter and then you mutated it like appended IDs into it it would persist in memory and so each time that function was called it would have the same dictionary or the the same list. And so the memory of the user IDs basically every time they call this API to look up user IDs to get the user objects back. All the users that were ever passed into it would still be there. And so it just cascaded over and over and over until we restarted. And we installed Memcached kind of in between these, and the Memcached would start falling over, and then it would, you know, destroy Cassandra. Um so really finding that bug, it took me I think 4 weeks to actually find it. Once you found it, trivial to to fix. But we got it up. And then our new CEO started, I think that basically the same day that I I fixed that. And then then we, you know, basically the entire company got laid off over the next year. So

>>: 是啊。

英文原文

>>: Yeah.

>>: 从我们确实解决了问题、让它运转起来的角度来看,这算是一场代价惨重的惨胜(Pyrrhic victory)。但我认为,你确实不能让核心网站变得难用或者宕机长达一个月之久。可是如果你去做反事实推演,公司又能有什么不同的做法呢?如果他们仅仅是守着旧网站,他们同样也会死掉,对吧?所以我并不认为他们做错了选择,但在当时,我心里肯定是非常怨念的。

英文原文

>>: Pyrrhic victory in the sense that we did solve it. It was working. But I think you can't really have the central site be hard to use or down for like a month. But like if you go to the counterfactual, what would the company have done differently? If they had simply kept up the old site, they also would have died. Right? And so I don't know that they made the wrong choice, but at the time I certainly was pretty pretty salty about it.

从 Digg 到 Uber:寻求工程管理规模

>>: 确实。那你最终是如何进入工程管理岗位的呢?我知道其实我和你在 Uber 有过一点交集。我们俩都在那里工作过,但从来没有一起共事过。

英文原文

>>: Yeah. How did you eventually get into engineering leadership? I know you and me overlapped a little bit at Uber actually. We both worked there, but we never worked together.

>>: Digg 故事的结局是我们被收购了。他们把专利卖掉了——Digg 做了很多创新,比如流内广告单元(in-stream ad units),基本上就像你现在在 X 上看到的那样,会有看起来很像用户发布的动态故事的广告。Digg 拥有这项专利,他们是第一家做这个的公司。他们还拥有其他各种专利。于是专利组合被一家公司收购了;digg.com,也就是这个网站的实际品牌,被当时纽约的 Betaworks 收购了,我想他们几年前又转手卖掉了。然后团队被 SocialCode 收购了,这是第三家公司,当时是华盛顿邮报公司的子公司,那是华盛顿邮报公司作为控股公司、同时拥有《华盛顿邮报》、Kaplan 以及这家主要在 Facebook 上做广告的 SocialCode 的时期。

于是团队就去了那里,我在那里待了几年。但在我离开的时候,我心里想的是:好吧,我想做工程管理类的岗位,但我拿不到特别大的管理职位,因为当时我大概只管过一个 12 名工程师左右的团队。所以我拿不到这种大职位,因为我以前没做过大职位。我们要怎么才能拿到这样的大职位呢?如果你在一家小型初创公司,即使你去这家 15 个人的初创公司当工程负责人,那里也根本没有那个规模,总共就只有 5 个工程师。所以你永远无法达到他们在大职位中所要求的那种规模。所以我当时考虑的是——虽然从那以后我对这个话题的看法改变了很多,但这确实是我当时真实的想法——我心想,如果我想管理一个大团队,我就必须加入一家增长极其迅速的公司。我环顾四周,寻找哪里在飞速增长,然后我想到了 Uber。Uber 当时的增长非常非常非常快。

英文原文

>>: So the kind of the end of the Digg story was we got acquired. And so they sold the patents for Digg did a lot of like innovation. So like in ad in-stream ad units, basically like you see it on on X now where they'll have like an ad that kind of looks like the the stories from people that are posting. Like Digg owned the patent to that. They were the the first company to do it. They own like a variety of other patents. And so the patent portfolio got acquired by one company, digg.com like the actual like brand of the website got acquired acquired by I think BetaWorks out in New York at the time. I think they've sold it subsequently a few years ago. And then the team got acquired by Social Code, which is like a third company that was a subsidiary of the Washington Post Company from the time when that was a holding company that owned owned the Post, Kaplan, and this company Social Code, which basically did advertising on Facebook. And so the team went there and I was there for a couple of years. Um but when I when I left, I was thinking about okay, I I want to be kind of in engineering leadership, but I can't get hired into a really large role cuz at that time I was managing maybe a team of 12 engineers or something like that. So I can't get hired in this big role cuz I haven't done the big role. Like how do we get hired in this big role? And so if you're at a small startup, like you just there's the scale is not there even if you go be a head of engineering at this 15-person startup. There's just five engineers there. And so you can never get at this scale they're looking for for these large roles. And so my what I was looking about at the time and my thoughts on this topic changed a lot since then, but it's just like honestly where I was. I was like, well, if I want to manage a large team, I got to join a company that's growing really quickly. And I kind of looked around and I was like, where is growing really quickly? And I was like, Uber Uber was growing really really really quickly.

>>: 2015 年,2016 年?

英文原文

>>: 2015, 2016?

>>: 我觉得是 2014 年。

英文原文

>>: I think this is 2014.

>>: 2014 年,2014 年。这正是增长刚刚起飞的时候,当时还非常非常早。

英文原文

>>: 2014 2014. This is when growth just started to kick off. Like this was very early.

>>: 这确实相当早。

英文原文

>>: This is pretty early.

>>: 你必须身在旧金山才会知道 Uber 当时发展得非常好。在旧金山之外,我觉得消息直到 2015 年才开始传开,到了 2016 年才成为全球性的新闻。

英文原文

>>: You have to be in San Francisco to know that Uber was doing really well. Like outside of SF, I think I think news started to spread in 2015 and then by 2016 it was a global news.

>>: 听起来确实是这样,但我知道的方式是因为 Digg 的一名负责基础架构的工程师 Jeremy Grosser 离职去了 Uber。实际上,这里有一个很有意思的技术采纳曲线,因为 Digg 开发了所有这些技术。其中一项技术叫 Clustered,我想全世界可能就只有三家公司采纳过 Clustered 这个工具:Digg、Uber,还有《第二人生》(Second Life)的那家公司——我忘了他们实际的公司名字叫什么了,反正不管它是什么吧。但它基本上通过管理一个键值存储来管理基础设施的状态,有点像 HashiCorp 的 Consul,非常非常相似。

英文原文

>>: That sounds right, but the way I knew was that one of the engineers, Jeremy Grosser from Dig, who was on infrastructure there, left and joined Uber. And actually this there's like a interesting technology adoption curve cuz Dig made all these technologies. One of them's called Clustered, which I think Dig, um Uber, and then like uh Second Life, uh that that company, I forget their their actual name, but whatever it is. Maybe the only three companies in the world that ever adopted this tool Clustered. But it managed basically a key-value store to manage kind of state for infrastructure, a little bit like a console from from uh HashiCorp. It's very very similar.

>>: 只不过早了整整好几年。

英文原文

>>: Just years before

加入 Uber 与早期团队

>>: 控制台出来了。

英文原文

console was out.

>>: 是的,它大概最初是在 2008、2009 年左右做出来的,差不多那个时候。所以他其实把大量 Digg 的技术栈带到了 Uber,因为他是那里的第一批基础设施工程师之一。所以你知道,他的团队在招人,而我真的算是一个全栈通用型工程师。比如在 Yahoo,我其实是被招去面前端工程的,我都不确定自己是不是特别能胜任。然后接着在 Digg,我做前端、Cassandra 相关的工作、后端,就是什么都做。

英文原文

>>: Yeah, it was probably made originally in like 2008, 2009, something like that. And so he he had actually brought like a ton of the Dig stack over into Uber as cuz he he was one of the first infrastructure engineers there. And so uh you know, his team was hiring and I I really was like a a generalist engineer. Like at at Yahoo, I was actually hired to do front-end engineering, which I I don't know if I super qualified for. Um and then at at at Dig, I was doing, you know, front-end, Cassandra work, back-end, just like everything.

>>: 是的。

英文原文

>>: Yep.

>>: 嗯,然后他们招我来算是带这个 SRE 团队,但这其实不是一个真正的 SRE 团队。它只是一个被他们叫做 SRE 的基础设施团队。你知道,我是在前一周读了一本 SRE 的书,试着去搞清楚这到底是一份什么工作。

英文原文

>>: Um and then they hired me to kind of run this SRE team, but it wasn't really an SRE team. It was just like an infrastructure team that they called SRE. You know, I read like a an SRE book like the week before trying to figure out what the job was.

>>: 你读的可能是当时唯一存在的那本 SRE 书,也就是 Google 的 SRE 书,对吧?

英文原文

>>: You probably read the SRE book that existed, which is the Google SRE book, right?

>>: 我觉得那本书当时还不存在。它可能存在,也可能没有。

英文原文

>>: I don't think that book existed then. It It It might have.

>>: 那你当时能读到什么书?

英文原文

>>: what book did you have access to?

>>: 我想可能是一本 DevOps 的书,可能是我当时在读的。也可能是像《凤凰项目》(The Phoenix Project)那时可能已经出了。我记不清确切的时间线了,但有类似《凤凰项目》这样的书,也许还有另外一本。然后我就直接去面试了。当然,就是很经典的面试。我记得是在白板上用 Python 写旅行推销员问题。诸如此类的东西,其实并不能很好地评估我的 DevOps 敏锐度,但不知怎么的,我觉得公司当时在招聘上也有点饥不择食,但我确实拿到了这份工作并入职了。

英文原文

>>: I think there was a a DevOps book might have been what I was reading on. And it might have been like the um The Phoenix Project might have been out around then. I'm forgetting if that the exact timeline, but there was something like The Phoenix Project. Maybe there was one other. And I I just showed up. And then of course like uh classic interview. I remember doing the traveling salesman's problem on a whiteboard in Python. Stuff stuff like that, which didn't really evaluate uh my my uh DevOps acumen very well, but but you somehow I think think the company was was a little bit desperate on hiring at that point, but but did did get the job and and started.

>>: 然后你就已经在带团队了,你在扩大团队规模。

英文原文

>>: And then you were leading a team already you were growing a team.

>>: 我加入时那个团队,我大概管理着六个人,但这六个人管理着极其广泛的职责范围。我加入时 Uber 有 2,000 人。当时有 200 名工程师。而这个大约六个人的团队在管理着我们的数据库、我们的 Kafka,比如我们的实际服务器。不是——好吧,说到服务器的管理,有一个技术运营(tech ops)团队专门负责物理上架和安装,但是一旦上架完成,就由我们来管理。我们的服务调配,基本上除了有一个两人组成的开发者体验团队之外,其他所有东西都归我们管。有一个技术运营团队负责实际的物理上架和安装服务器,但我们拥有所有其他的底层基础设施,那真是一段相当难忘的经历。

英文原文

>>: So the team when I joined, I probably was managing like six people, but it was managing like an incredibly broad range of responsibilities. So Uber when I joined was 2,000 people. It was 200 engineers. And this team of about six was managing our databases, our Kafka, like our actual servers. Not Well, the the management of the servers, there was a tech ops team that managed literally racking them and installing them, but once they were racked, we managed that. Our service provisioning, like we owned basically everything other than there was like a two-person developer experience team. There was this tech ops team that actually like racked and installed the servers, but we owned all the other infrastructure and it was um it was quite an experience.

Uber 的疯狂招聘与规模扩张

>>: 然后如果只聚焦在你的领导力历程或者管理历程上,在 Uber 你从这个团队开始,它扩大到了什么规模,然后从 Stripe、Carta 这一路下来的下一步又是什么?

英文原文

>>: And then in terms of just focusing on your your leadership journey or your management journey, so at Uber you started at this team, how far did it grow and then what were the next steps between Stripe, Carta?

>>: 是的,没问题。我加入时那个团队大概是五六个人。两年后我离开时,团队有 70 人,而且全都是从外部招进来的。我觉得那是 Uber 当时最令人惊叹的地方,就是 Uber 每六个月人数就翻一番。所以你根本没法从其他团队抢人,因为那些团队也在大量招人,而且也全都处于快被淹死的状态。

所以我真的是在 Uber 学会了如何招聘。在加入 Uber 之前,我完全不知道怎么招人。但他们当时就是招了非常多的人。我想我最喜欢的故事之一是,有一个来自 Eventbrite 的人,我后来管理了他一年半,我们在周五下午大概 4:30 给了他 offer,他周一早上 8:00 就入职了。

但我有太多关于 Uber 招聘的故事了。有些比其他的还要搞笑。我记得有个人在 Uber 面试了四次,然后我看到他又在面第五次。就是被拒了四次,然后有个团队在给他面第五次。我当时心想:我们绝不能招这个人,我们已经面了他大概四次了,别再浪费他的时间了。但他拿到了那个团队的 offer。他入职了,然后在六个小时内辞职,接了另一份 offer,因为他拿到了 Twitter 的 offer,而 Twitter 就在一个街区之外。

英文原文

>>: Yeah, absolutely. So when I joined that team was I think roughly five or six folks. When I left two years later that team was 70 and that was all external hiring and I think that that was like the most kind of amazing thing about Uber at that point is like Uber doubled and headcount every six months. And so you can't just like steal people from other teams cuz those teams are hiring a ton too and also really underwater. And so I really learned how to hire at Uber. I I had no idea how to hire before I joined Uber. But they were just hiring so many folks. I think one of my favorite stories was there's this guy out of Eventbrite that I that I managed for for a year and a half that we gave him an offer at like 4:30 p.m. on a Friday and he started Monday at 8:00. But I I have so many like Uber hiring stories. Like some of them like funnier than than others. I remember someone who interviewed with Uber four times and I saw him interviewing a fifth time. Like got rejected four times and a team interviewed him a fifth time. I was like we cannot hire this guy. We've already interviewed him like four times. Like stop wasting his time. But he he he got an offer for that team. And he joins and then he quit within six hours and took a different offer that cuz he got an offer from Twitter which was right down right a block a block away.

>>: 一个街区之外,这也太离谱了。

英文原文

>>: A block away or something was like off the wall.

>>: 所以他花在 Uber 面试上的时间比在那里工作的时间还多,尽管他接受了那份工作。在 Uber 那段经历里有太多太多的疯狂故事了。但那个团队两年内从 6 人扩大到了 70 人,我们的职责范围在那段时间里也扩大了很多。那真是一段极其疯狂的时光。

而且很难——你知道,我觉得现在的某些公司让我想起很多 Uber 那时的经历。但在我加入 Uber 时,基本上每周五我们都在服务器之间手动重新调配软件,拼命试图保持服务器正常运转,因为通常周五晚高峰是一周中的最高峰时期。虽然周六可能会有更大的量,但那会分散在更多的时间段里,因为大家不会在完全相同的时间全部下班。关于在那里工作有多疯狂,有太多离谱的故事了。但我在那里待了几年。

英文原文

>>: So he spent he spent more time interviewing for for Uber than working there despite accepting the job. And there are just like so many so many wild stories from the Uber experience um there, but that team six to 70 over two years and our scope increased a lot in that time. But it was just like a a really wild time. And it's hard, you know, some of the companies today I think remind me a lot of that Uber experience. But Uber when I joined basically every Friday we were literally manually reallocating software between servers trying to keep the the servers up cuz typically Friday rush hour was our peak time the of the week. Though a Saturday you might have more volume, but that would be like spread over more hours cuz people weren't all leaving work at the exact same time. There's so many kind of wild stories of just like what a manic place that that was to work at, but I was there for a couple of years.

从 Stripe 到 Calm 的 CTO 之路

>>: 后来我去了 Stripe,在 Stripe 待了大约 4 年,从 2016 年一直到 2020 年初。然后我其实去了 Calm——

英文原文

Then I went to Stripe, was at Stripe for about 4 years from 2016 through early 2020. Then I was actually a calm

>>: 或者说你是 Calm 的 CTO,对吧?

英文原文

>>: Or you're CCO calm, right?

>>: 是的,三年半,三年。CTO,那是我的第一份 CTO 工作。在那个节点上,这确实是深思熟虑的选择。我觉得我当时真的很担心。我在 Stripe 待了 4 年,Stripe 的表现非常出色。我想我加入时的估值是 55 亿美元,而 4 年后离开时大概是 960 亿美元。

英文原文

>>: Yeah, 3 and a half 3 years. CTO as that was my first CTO job. It was really kind of deliberate at that point. I think I was really worried. So I'd been at Stripe for 4 years. I had you know Stripe had done really well. I think I joined at 5 and a half billion and I think it was at 96 billion 4 years later.

>>: 公司估值,是的。

英文原文

>>: Company valuation, yep.

>>: 它的确发展得很好,而且我觉得我们做的工作质量也非常出色。我想说,我入职那天在 Stripe 大概是第 500 号员工,我不知道那是我本人还是同批入职的其他人。但我离开时,公司大概有 1,500 到 2,000 人。所以在我待在那里的那段时期,Stripe 每年以大约 70% 的速度增长。

这比 Uber 慢得多,Uber 是每 6 个月翻一番。当然,Uber 后来也比 Stripe 激进得多地进行了人员缩减。

英文原文

>>: And it really came together, but the the also I think the quality of the work we were doing was going really well and I want to say I was roughly someone that joined the day I joined at Stripe was employee 500. I don't know if that was me or or someone else in the batch. But I think by the time I left it was 1.5 to 2,000 folks, something at the company. So Stripe grew about 70% year over year the period that I was there. Which is a lot less than Uber which doubled every 6 months. And obviously like Uber subsequently contracted much more aggressively than than Stripe ever did.

>>: 是的。

英文原文

>>: Yeah.

>>: 这也是每 6 个月翻一番的自然结果。

英文原文

>>: Which is the natural consequence of doubling every every 6 months.

>>: 是的。

英文原文

>>: Yep.

>>: 但在那个时候,我只是担心自己全部的身家积蓄都在一家永远不会上市的公司里,我觉得这一点确实被说中了。所以这在一定程度上算是一种分散风险的举动,但同时也是渴望去体验:真正全面领导到底是什么感觉?

在 Stripe 的整个时间里,我基本上离 CEO 就只有一步之遥,第一年向 Jeff Weiner 汇报,之后的时间里一直向我的经理 David Singleton 汇报。

英文原文

>>: But at that point I was just worried that like my entire kind of like savings were all in one company that was never going to go public, which I think has has been true. And so it was like a a bit of a diversification play, but also the desire to what does actually feel like to fully lead? And so for my my entire time at Stripe I was basically you know, one step away from the the CEO, so reporting into Jeff Weiner for my first year, then into David Singleton who was my manager for the the rest of the time.

>>: 哦,Stripe 后来或者当时也是 CTO 的那位。

英文原文

>>: Oh, Stripe Stripe's CCO later or maybe at that time as well.

>>: 他加入时是 CTO——不,不是这样。他加入时是工程负责人,然后——

英文原文

>>: He He he joined as the CCO. No, that's not true. He joined as the head of engineering and

>>: 大概一两年后他成了 CTO,差不多是这样。但从他加入一直到我 2020 年初离职,我都一直在向他汇报。所以,我离那个位置只有一步之遥,但我想的是,如果我能坐到那个位置上呢?我能不能把事情做得更好?无论如何,这看起来都是值得去尝试的正确方向。从那之后,这整个过程一直都很有启发性。

英文原文

>>: then he became the CTO maybe a year or two later, something like that. But I was reporting to him from when he joined through through the time of departure in early 2020. So, I was only one step away, but I was like, what if if I could get into that seat? Could I could I do things better? And that seemed like the the right thing to try for, anyway. And has been educational ever since.

CTO 的角色定位

>>: 然后你担任过好几次 CTO 的职位。先是在 Calm 做了三年半的 CTO,然后去了 Carta。

英文原文

>>: And then you have had several CTO gigs. And so, it was Calm 3 and 1/2 year CTO, then you were at Carta.

>>: 我在 Calm 待了大概三年半,然后在 Carta 待了 2 年,接着在大约一年、一年半前加入了 Imprint,差不多是这样,这就是我目前所在的地方。

英文原文

>>: I was at Calm for I think 3 and 1/2 years, then I was at Carta for 2 years, and then I joined Imprint a year year and a half ago, something like that, which is where where I am today.

>>: 好的,所以现在作为三任 CTO,我必须问你:CTO 到底做些什么?作为一名工程师——如果你把自己放回到曾经作为一名工程师的位置上,当然,我觉得我自己当工程师的时候也有过抱负,比如,要是有一天能成为 CTO 也挺不错的,因为在你的心目中,它像是有一些管理工作,但你看到的很多 CTO 也都很懂技术,并且深入业务前线。你是怎么定义 CTO 的?我知道你有一本关于工程高管职业生涯的书,而且答案有很多,但你的心智模型是什么?具体是怎样的,以及——

英文原文

>>: Okay, so now I three times CTO, I need to ask you, what does a CTO do? As as as an engineer, like what's like if if if you put yourself back as as being an engineer, of course, I think I myself had aspirations when I was an engineer, like, oh, it could be nice to one day be a CTO because in your mind it's like, well, it has some management, but it's also a lot of CTOs you see are technical and close to the thing. How do you find the CTO? I don't I know you have a book on on on this as well on engineering executive careers, and there's a lot of answers, but what is your mental model? How was it and

CTO 角色与工程管理的变化

现在情况怎么样,尤其是因为现在有了 AI,我认为你的角色已经发生了改变。

英文原文

how is it now, especially cuz now with AI I think your role has changed.

>>: 我认为在 2010 年代担任工程经理最糟糕的部分之一就是,当你加入工程管理行列时,你得到的最早的经验之一就像是:嘿,你永远都不需要再做技术决策了。过去曾经是这样的,对吧。

英文原文

>>: I think one of the the worst parts of being a engineering manager in the 2010s is I think like when you joined the ranks of engineering management, like one of the first lessons you'd get is like, hey, you need to never make a technical decision again. And so, it used to be right.

>>: 我记得。

英文原文

>>: I I remember.

>>: 那确实就是我当时被告知的原话。而且我觉得你会看到人们认为最重要的事情就是放手技术决策。这是当时的社会风气。现在绝对不是这种风气了。但我想在心底真正让我向往和喜爱的,是 CTO 就像是这种工程职业道路——这种技术导向的路径和这种管理导向的路径——唯一汇聚的地方。

因此,我一直深信并且今天仍在坚持做的一件事,就是在 CTO 角色中,既让工程经理直接向我汇报,也让个人贡献者工程师直接向我汇报。所以今天我现在有 14 位直属下属,我想其中有四位或五位是 IC,其余的都是经理。但拥有这种平衡真的很重要,因为在管理领域的许多角色中,你就是不被允许成为技术领导者,或者在很长一段时间里都不被允许。所以对我来说,真正达到这两者再次汇聚并且你被允许在技术和管理两方面都成为领导者的层级,是一个巨大的吸引力。

而且外界有太多糟糕的 CTO 决策了,我说这话并不是针对我谈到过的任何具体个人。我认为特别是 David 就非常出色。Stripe 的决策通常——Stripe 的决策质量是相当高的。所以有时你可能会觉得“我不同意”,但你不能说“这完全毫无道理”。但通常情况下,尤其是在 Stripe 的经历之外,就是有一些决策完全讲不通。我想也许我可以做得更好。但我想在最近的这个时代我真正喜欢的事情,就是你真的不仅被允许再次深入细节,而且真的可以说被要求深入细节。这对我来说是在这个时代的软件领域重新投入工作中最有趣的部分,我想在 Imprint 的一年半时间里,我完成了超过 500 个一直推进到生产环境的 pull request,这大大超过了我之前职业生涯的总和。这挺酷的。这很有趣。

英文原文

>>: That is that's like literally, you know, what I was told. And I think you'd see people like the most important thing is to let go about technology decisions. And this was the ethos then. That's definitely not the ethos today. But I I think the thing that I kind of aspirationally really loved is the CTO was like the only place where this like engineering kind of career, this technical oriented one, and this managerial one converged.

And so, one of the things I've believed strongly in and and continue to do today is having both engineering managers, but also like individual contributor engineers report directly into me in the CTO roles. And so today I have 14 direct reports right now, and I think four or five of them are ICs, and then the the rest are are managers. But having that balance is like really for many roles in management, you're just not allowed to be a technical leader or you weren't for a long time. And so to me actually getting to the level where you're they converge again and you were allowed to be a leader on the technology and the the management side was like one of the big appeals.

But also like there just there's so many like bad CTO decisions out there, and I don't I don't mean this to reflect on any of the individuals I've talked about. I think David in particular was like really excellent. And the decisions at Stripe were generally decision quality at Stripe was pretty high. And so sometimes you could be like I disagree, but you couldn't be like this makes literally no sense. But often like, you know, especially outside of the Stripe experience, there were just decisions that like just didn't make sense. And I thought like maybe I could do it better. But I I think the thing that I've really loved in the the most recent kind of era is like you're really like not just allowed to be in the details again, like you're really sort of required to be. And and that to me has been like the the very most fun part of being back in in software in in this era is I think I you know, I've done over 500 pull requests in a year and a half at Imprint going all the way to production, which is substantially more than I did in my prior career combined. Um and that's pretty cool. And that's that's fun.

>>: 作为 CTO。你在 Imprint 不仅仅是 CTO 吗?

英文原文

>>: as CTO. Are you more than CTO at Imprint?

>>: 我是以 CTO 的身份加入的,目前我也算是兼管产品设计团队。

英文原文

>>: So I joined as the CTO, and right now I'm also kind of leading the product design teams, right now.

>>: 产品、设计和工程都向一个人汇报。

英文原文

>>: product, design, and engineering all reporting into one person.

>>: 是的,就像一个统一的 EPD 架构。

英文原文

>>: Yeah, it's like a unified EPD structure.

>>: 这是一个新趋势吗?一个人,因为 CTPO——首席技术与产品官——我大概两年前、两三年前开始听说。现在我也开始听到设计也归到一个人名下一点点了。

英文原文

>>: Is this a new trend? Uh one person because CTPO I I to hear about 2 years ago, chief technology and product officer, 2 or 3 years ago. And now I'm starting to hear design also going into one person a little bit.

统一 EPD 架构与智能体时代的巨变

>>: 我不知道这算不算一个趋势。我确实认为,随着智能体这类事物越来越走向主流,我看到的一个挑战是你实际上必须能够做出决策并且迅速做出决策。我们该如何做事情?我们该如何不做事情?智能体的引入在产品方面是如何运作的?在设计方面又是如何运作的?如果设计部门不用像 Floyd 设计或 Figma MCP 之类的新工具,那么他们确实就成了瓶颈。那现在又该如何在由谁负责设计的问题上划分职责?因此例如 Imprint 一直在二线功能上尝试这种由开发者主导的设计模式,并且造成了大量的摩擦。它解决了这个瓶颈,但也造成了许多问题,比如当工程师进行重新设计有时没有正确遵循设计规范时,谁来为这些出现的设计缺口负责?所以拥有一个能够真正进行这些权衡的统一节点,我认为在这个发生巨大变化的时刻是相当强大的。我确实从心底里相信,在软件构建方式方面,整个行业所发生的变化比我职业生涯中的任何时候都要大。

要知道,我是从 2008 年末入行的。我从未见过像这样的变化。我之前见过的许多变化更为微妙,更为偏向文化或社交层面。而我现在创建软件的方式,甚至与一年前相比都截然不同了。在这个发生巨大变化的时刻拥有一个集中的机制,我认为对我们非常有帮助。但我个人并不认为这是一个长期趋势,但我不知道。目前阶段我尽量避免对太长远的未来做预测。一切都在发生巨大的改变。

英文原文

>>: I don't know if it's a trend or not. I I do think that for one challenge I've been seeing with like the the like agents kind of getting more mainstream is you actually have to be able to make decisions and make them quickly. And how how do we do things? How do we not do things? Um how does agent adoption work for products? How does it work for design? Hey design, if they aren't using the you know new tools like Floyd design or the Figma MCP or whatnot, then they're really the bottleneck. How do you kind of split the responsibility there on who owns design now? And so Imprint, for example, has been experimenting with this developer-led design model for kind of second-tier features and has created a ton of friction. Like it it's solved this bottleneck. It's also created a lot of like who's responsible for these design gaps that show up when engineers do redesign and sometimes like don't follow the design system properly. And so having a unified kind of point that can actually make these trade-offs, I think this moment of like immense change I think is pretty powerful. I do think just in my core I believe the industry's changing more in terms of how we create software than it ever has in my career.

And you know, I started in you know, late 2008. I've never seen a change like this. So a lot of the changes I've seen were were more subtle, were more kind of cultural or social. Just how I create software is really different than it was even a year ago. And having a centralized kind of mechanism during this moment of immense change I think has been really helpful for us. But I I don't personally think it's like a long-term trend, but I don't know. I'm trying to avoid predictions about too deep in the future at this point. Everything's changing a lot.

赞助商:Entier 与 Antithesis

>>: Will 刚才说到他在整个职业生涯中从未见过我们构建软件的方式发生过如此大的变化。正在改变的一件事就是我们用于 Git 托管的技术栈,这正好引出了我们的季度赞助商 Entier。

Git 托管面临着一个始于 AI、终于智能体的问题。像你我这样的工程师正在使用智能体创建更多代码。这些智能体推送的代码甚至更多,而我们中的许多人正在运行并行智能体,这导致代码量进一步暴增。GitHub 显然在苦苦支撑以跟上步伐,并且频繁发生服务中断。但是,有解决方案。Entier 由 GitHub 的上一任 CEO Thomas Dohmke 创立,旨在为智能体时代从零重构 Git 托管。Entier 的构建目标是非常快速,并将你的代码库放置在离你较近的区域以减少延迟,从而允许成群的智能体并行推送代码。Entier 的性能处于下一个级别。它们的代码仓库每秒可处理 418 次推送,比市场上所有的竞争对手快多达 89 倍。当 GitHub 宕机时,你仍然可以继续工作,而且你甚至不需要从 GitHub 迁移出来。你只需注册 Entier,该平台就会镜像你的代码库。此外,你是否曾经好奇过是怎样的提示词促成了这些代码的生成?我发现提示词以及与智能体的对话比 PR 本身包含更多的信息。Entier 将你与智能体的全部提示历史直接记录在仓库中,便于查阅,并具有非常创新的 UI 来展示所有这些内容。如果你在寻找一款即使在 GitHub 宕机时也能正常工作的 Git 托管,请前往 entier.io/pragmatic,安装 CLI,一键监控你的仓库。我已经这么做了。哦,我有没有提到它支持任何智能体而且是开源的?哦,还有一件事。有迹象告诉我他们很快就会发布一个完整的 Git 锻造厂(Git forge),从 CI 到 PR 的替代品,并在 Entier 上原生提供代码托管。尽早加入这个有可能成为智能体时代下一个 GitHub 的产品。

我也想提一下我们的季度赞助商 Antithesis。

我们都知道智能体正在编写越来越多我们发布到生产环境的代码。那么,我们该如何相信我们的系统能够正确且无 bug 地运行呢?代码审查越来越成为一种幼稚且无效的做法,这就是为什么 Antithesis 远远超越了这种实践。

Antithesis 会在一个敌意模拟环境中运行你的整个系统。这种模拟既包括针对性测试,也包括模糊测试。

通过运行这种模拟,它可以在你的用户发现之前找出每一个 bug。并且由于这种模拟是完全确定性的,它不仅能发现 bug,还能为你完美复现每一个问题,这让修复问题变得容易得多。

当我第一次听说 Intensifies 时,首先想到的就是自动化 bug 发现和完全确定性的统计听起来像科幻小说,但实际上其底层是硬核的工程技术。Jane Street、fly.io 和 Etsy D 社区之所以能满怀信心地发布智能体产品代码,是因为他们知道这些代码已经过 Intensifies 的验证。要查看更多案例研究和详情,请前往 intensifies.com/pragmatic。

说到这里,让我们回到 Will 以及他观察到的整个行业的变化。

英文原文

>>: Will just said how he's never seen the way we build software change this much in his whole career. One thing that is changing is the stack that we use for Git hosting, which brings us nicely to our season sponsor Entier.

Git hosting has a problem that starts with AI and ends with agents. Engineers like you or me are creating more code with agents. Those agents are pushing even more code, and many of us are running parallel agents, which results in even more code. GitHub is clearly struggling to keep up and has frequent outages. But, there's a solution. Entier was founded by GitHub's last CEO, Thomas Dohmke, to rebuild Git hosting for the agent era from scratch. Entier was built to be very fast and to have your repos regional close to you to reduce latency, allowing for fleets of agents to push in parallel. And Entier's performance is next level. Their repo can handle 418 pushes per second, which is up to 89 times faster than every competitor on the market. When GitHub is down, you can still keep working, and you don't even need to migrate away from GitHub. You just sign up to Entier, and the platform mirrors your repo. Also, have you ever wondered what prompt resulted in this code being generated? I find that the prompt and the conversation with the agent carries more information than the PR itself. Entier captures all the prompt history with your agent right in the repo, easy to check back, and has a pretty innovative UI to show all of this. If you're looking for Git hosting that works even when GitHub is down, head to entier.io/pragmatic, install the CLI, and monitor your repo with a click. I've already done it. Oh, and did I mention it works with any agent and it's open source? Oh, and one more thing. Something tells me they're releasing a full Git forge soon, from a CI to a replacement for the pull request and code hosting natively on Entier. Get in early on what could turn out to be the next GitHub for the agent era.

I also want to mention our season sponsor, Antithesis.

Agents are writing more and more of the code that we ship to production, we know that. So, how can we trust that our system works correctly and without bugs? Code review is an increasingly naive and ineffective approach to do so, which is why Antithesis goes well beyond this practice.

Antithesis runs your whole system in a hostile simulation. This simulation includes both targeted testing and fuzz testing.

By running this simulation, it finds every bug before your users do. And because the simulation is fully deterministic, it doesn't only find bugs, it gives you a perfect reproduction of every issue, which makes it much easier to fix issues.

The first thing I thought when I heard about Intensifies is that automated bug discovery and fully deterministic statistics sounds like science fiction, but actually it's hardcore engineering under the hood. Jane Street, fly.io, and the Etsy D community ship agent product code with full confidence because they know it's been verified by Intensifies. To see more case studies and details, head to intensifies.com/pragmatic.

And with this, let's get back to Will and what changes he's observed across the industry.

回顾软件工程的变化

>>: 但我想回到从你入行时谈起,我们能聊聊你在软件工程中看到的变化吗?我们先只关注你的经历。那么,我们先来聊聊硅谷公司。它们我们

英文原文

>>: But what I want to go back to like from from when you started in the industry, can we talk about the changes you've seen in software engineering? Let's just focus on your experience. So, let's just talk about the Silicon Valley companies. They we

工程管理与团队文化的演变

[Unlabeled speaker]: 知道它们是一个泡沫,但它们是一个很有用的话题泡沫。从比如2007年一直到今天,软件构建方式发生了怎样的变化,团队领导方式又发生了怎样的变化?

英文原文

know they're a bubble, but they're a useful bubble to talk about. How did building software change, leading teams change over, you know, like starting from like what like 2007 all the way to today?

>>: 我不知道你最初作为一名工程师的经历大致是怎样的,但当我刚成为一名工程师时——起初是一名承包商——我大概22岁,在雅虎远程工作。团队里没有其他人是远程的。后来当我转为全职时,我还是同一个经理。所以,我跟随同一个经理干了2年。在2年时间里,我和那位经理只进行过两次一对一谈话。

英文原文

I don't know you what your first experience was like kind of as an engineer, but when I was first an engineer, first as a contractor, I was like 22 for Yahoo working remotely. No one else in the team was remote. And then when I went full-time I had the same manager. So, I had the same manager for 2 years. I had two one-on-ones with that manager over 2 years.

>>: 是的,我根本没有一对一谈话,或者就像一年一次,或者是为了绩效——甚至都不是为了绩效,而是为了谈薪资。然后他们会说:“嗯,干得不错。这是给你涨的薪水。”或者就像,“哦,然后晋升以前就像是:恭喜你,你现在升职了。”更多就像是:“对,你赚更多钱了。挺酷的。”

英文原文

Yep, I I had no one-on-ones or like once a year or or for performance not even performance for pay conversations. And then they would say, "Yeah, good job. Here's your raise." Or like, "Oh, and then promotions used to be like, congratulations, you're now promoted." And it was more about like, "Yeah, you're making more money. Cool."

>>: 而且我根本没指望能有超过两次。第一次基本上是他想聊聊另一位员工的表现,试图获取一些关于他们是不是表现不佳的信号。所以,那并不是给我的反馈之类的。而第二次就像是:“哦,听说你提离职了。你要走了。这……这是怎么回事?”对吧?所以,而且那在当时就算很正常的。

所以,他的工作,按他的理解来看——而且我认为他确实非常擅长这个——他的工作就是在公司里为团队寻找能产生影响力的机会。

所以,他就在公司里到处寻找我们可以做且非常有价值的事情。

然后他差不多把那个带回来,接着我们的工作就是去实现它并让它跑通。在当时工作就是这么完成的。

而且完全没有他是在帮我获得一份有成就感的事业之类的概念。那对他来说,我认为是无关紧要的。

英文原文

And I didn't have any expectation that I'd have more than than two. And the first one was basically he wanted to talk about another employee's performance trying to get like some signal about whether they were doing poorly. So, it wasn't like feedback for me or something. Um and the second one was like, "Oh, here you like gave notice. You're leaving. Like what's what's going on?" Right? And so, and that was just kind of normal.

And so, his his job, the way he saw it, and I think he was like really good at it, was his job was to go find an opportunity in the company for the team to have impact.

So, he was going around the company searching for something we could do that was really valuable.

And he kind of like brought that back, and then our job was to implement it and make it work. And that was just like how the work was done.

And there was no idea that he was like helping me have a rewarding career or something like that. That like I think was irrelevant to him.

>>: 我们说的是2010年以前了。

英文原文

We're talking pre-2010.

>>: 对,差不多。是的。然后当我去到Digg时,我想基本上所有的经理都被解雇了。我其实在Digg成了一名经理,因为当他们问我的时候,我是唯一一个蠢到没有拒绝的人。但是,你知道,那时候我充其量也就两三年半的经验,我对管理一无所知,对吧?再说一次,我在前一份工作里从来没和我的经理打过交道。我是和一个技术负责人打交道,他大致制定技术方向,如果我把事情搞砸了他就会生气。但这差不多就是那里领导力模式的全部了,对吧?

所以我进去了,我成了一名经理,但在Digg除了最后一年有我之外,真的完全没有管理,而且我根本不知道自己在做什么。

所以,实际上我在Uber学到了很多,但同样,在Uber每个人都太忙了,那里也没有任何管理。那真的就是要么游泳要么沉没(优胜劣汰),要么你自己搞明白,要么你的团队就会陷入极大的挣扎,因为如果你做不好决策,你周围那种增长的规模就会彻底压垮你的团队。

所以,再次强调,真的是毫无支持。

英文原文

Yep, pretty much. Yep. Um, and then when I, you know, got to Dig, I think all the managers basically got fired. I actually became a manager at Dig, cuz I was the only one dumb enough not to say no when they asked me. But but you know, I had I had like two and a half, three years of experience tops at that point, and I knew nothing about management, right? And again, I never interacted with my manager at my prior job. I interacted with like a tech lead who kind of set technical direction, and then got upset if I screwed something up. But that was kind of the entirety of like the the leadership model there, right?

So, I came in, and I I was a manager, um, but I there was really no management at at Dig other than, you know, me for the last year, and I I didn't know what I was doing whatsoever.

So, really I learned a lot at Uber, but again, at Uber everyone was so busy, there was no management there, either. It was really a sink or swim, and either you figured it out or and your team really struggled, cuz if you didn't get the decisions right, the scale of the growth around you would just crush your your team.

And so, again, like really really no no support.

>>: 挺有意思的,因为到了2017年我成为经理的时候,Uber推出了它的首个学徒经理项目,这项目我实际上还和人聊过。所以,当我在那里成为经理时,我有好几天的时间聚在一起培训、分配导师等等。大多数工程经理以前从来没有过这种待遇。而在Uber那是全新的,他们把它变得更正规了,所以他们实际上搞了一些内部的DIY培训,平心而论。但是的,在那之前,什么都没有。哦,他们这么做是因为我觉得他们意识到糟糕的经理正在变成一个非常严重的问题。

英文原文

It was interesting because by 2017, when I became a manager, Uber put together its first apprentice manager program, which actually I was talking with people. So, when I became a manager there, I had like a few days of getting together, mentors assigned, all that. Most engineering managers never ever had that. And Uber it was brand new at Uber, they made it more formal, so they actually did some internal DIY training, honestly. But yes, before that, nothing. Oh, and they did it cuz I think they realized that bad managers were coming a really big problem.

>>: 是的,这讲得通。我认为大家当时都在摸索,而且我觉得我工作过的那个Uber是极其近视(专注眼前)的。所以,其中一条价值观——我可能会记错——基本上就是“自己解决”。那不完全是字面列出的价值观之一,但大家不会去被其他团队卡住。他们就自己去搞定。也许“让建造者去建造(let builders build)”可能是这方面的一种变体。

英文原文

Yeah, which makes sense. I think people were just figuring it out and I think the Uber I worked in was extremely kind of myopic. So, one of the kind of like values, I might get it wrong, was basically solve it yourself. That's like not literally one of the stated values, but people didn't go get blocked in other teams. They just get it themselves. And maybe let builders build might have been like a variant of this.

>>: 是“让建造者去建造”、“做主人不做房客”,当你把这两者结合起来时,里面有某种关于原则的东西,但其实就像是:尽管按你的方式去闯,不用事后求原谅。直接搞定就行。

英文原文

was the let builders build be an owner not a renter and when you combine the two, there was something about principles but it was like just just roam your way and don't ask for forgiveness. I just get it done.

>>: 是的。而且存在某种“无依赖文化”,我觉得这非常赋能,也就是别人说“哦,我被卡住了”,而回应是“你没有被卡住。你得自己去想办法解决”。那有时确实很痛苦,但它真正意味着你总能承担起责任,自己去搞定它。有时,你知道,我记得当时为优步中国签采购订单,当时我们找不到任何人来签字,最后是我签了一笔几千万美元的采购订单,而我当时大概也就27岁,或者就是根本没有人来审批。而我们必须得把它办完。

所以,你看,Amir——技术运维负责人——和我两个人就那么面面相觑。我说,我想咱们就直接签了吧。而那个时代的Uber让我喜欢的一点是,从来没有人为此找过我谈话。从来没有,从来没有任何后续追问。从某种公司治理的角度来看,这可能也并不好[笑声]。那可能有点太随性了。

但我们确实没有彼此挡道,我们得以做出了令人惊叹的成果。同时,按它自身的特点来说,那也是一个极具挑战性的工作场所。

英文原文

Yep. And there was sort of like a no dependencies culture, which I found really empowering where it's like, oh, I'm blocked. It's like you're not blocked. You need to go figure it out. And that that was really painful sometimes, but it really meant you could always take responsibility just figure it out your yourself. Sometimes, you know, I remember signing like purchase orders for Uber China where we couldn't get anyone to sign it and I ended up signing like a multi-10 million dollar purchase order and I was I was probably like 27 or just there was no one to approve it. And we had to get done.

And so, you know, Amir, the the head of talk ups and I were just kind of staring at each other. I was like, I guess we'll just sign it. And like the thing that I loved about Uber of that era is like no one ever talked to me about it. Like there was never there was never like a follow-up. Probably not good either in [laughter] a certain in a corporate governance perspective. That's like maybe like a little bit like a ad hoc.

But we really didn't get in each other's way and we were able to do like amazing things. Also, extremely challenging place to work in its own right.

>>: 是的,但人们离开和倦怠是有原因的。很多人都是如此。

英文原文

Yeah, but people left and burned out for a reason. A lot of them.

>>: 100%。但真的,就这么一路走过来,我最终在2016年左右加入了Stripe,而Stripe也比较出名地同样没有管理文化。所以当我加入时,我想当时只有三位经理。其中一位我非常喜欢与之共事的Raileen,我想她当时手下大概有40到50个直接下属。

因为Stripe读过谷歌曾经基本上在一段时间内没有经理的那篇论文。

英文原文

100% but but really so I all the way through then, I finally get to Stripe around 2016 and Stripe sort of famously didn't have a management culture either. So, when I joined, there were I think three managers. One of them who I really loved working with, Raileen, I think had somewhere between 40 and 50 direct reports.

Um, because Stripe had read the uh like the the paper from Google when they used to have basically no managers for some period of time.

>>: 然后那行不通。

英文原文

And that didn't work.

>>: 最初没有,不,他们最初遵循了那个模式,在很长一段时间里都没有经理。

英文原文

Initially no no they initially followed that the model where they there were no managers for for a long time.

>>: 噢。

英文原文

Ooh.

管理者角色的转变与主任工程师的职责

>>: 所以在那时,我算是在“经理化”的浪潮中加入了进去,成为那一波浪潮里最早的经理之一。但我记得当时有三四位经理:Raylene、Jorge,还有一两个其他人。Jorge当时管理着一个我想是30人的团队,下面可能连一个经理都没有——在那30人里。Raylene我想手下一个经理都没有。那就像是一个非常……

那同样也是一个非常混乱的时期,但再次,因为刚经历过Uber的历练,我当时对混乱已经非常非常熟悉了。但在那里,业务同样增长得非常非常快。

因此我认为,实际上恰恰是Uber那个时期,关于“经理的角色是什么”的文化变革,我认为开始有点固化下来了。而这种将经理的角色不再视作某种核心发号施令者或决策者、而是视作协助者的定位,真正开始确立起来。

看着这种转变真是相当相当引人入胜。

这也是我写《Staff Engineer》(主任工程师)的原因之一——我想那本书是在2021年出版的——那其实就是在为一些和我共事过的主任工程师收集反馈。

因为当时真正让我感到沮丧的想法之一,就是这种认为主任工程师主要应该去解决他们个人觉得有回报的有趣好玩问题的想法,而这根本不是我需要我的主任工程师去做的。比如我需要他们去解决业务问题和可扩展性问题,这些问题是我作为一个领导者面临的——当我离开Stripe时,我想说我的团队大概有250、260人左右。我面对着所有这些问题。而我的一些最优秀的工程师却说:我想要一个更有趣的问题。这就好比是:我这里只有痛苦能给你们,但正是这种痛苦才能让业务取得成功。那么,我该如何让他们重新聚焦?

我认为他们中的很多人在当时觉得那违反了管理契约。就好像我的目标和我的义务就是给他们提供他们想要的有趣工作。

英文原文

And so there I kind of joined in that the wave of managerization as like one of the the early managers in that wave. But I think there were three or four managers, Raylene, Jorge, and there were like one or two others. Jorge was managing a team of I I think 30 with maybe no one one manager underneath him. Out of for those 30 folks, Raylene I think had no managers. It was just like a very

It was a very chaotic time as well, but again kind of coming out of the Uber experience, I was very very familiar with chaos at that point. But there also the business was growing really really fast. And so I think really that period at Uber though is when the the cultural change around what is the role of manager I think started to like cement itself a little bit and kind of this role of manager not as the kind of a core giver or a decision maker, but as a facilitator really started to take hold.

And and that was like pretty pretty fascinating to watch.

And one of the reasons why I wrote Staff Engineer, which I think came out in 2021, was actually like collecting feedback for some of the staff engineers I worked with.

Cuz one of the one of the ideas that I was really frustrated with at the at the time was this idea that staff engineers principally got to work on interesting fun problems that they found personally rewarding, which wasn't what I needed for my staff engineers at all. Like I needed them to go work on the business problems and the scalability problems that I as like a leader and when I left um Stripe, I want to say my team was like 250, 260, something like that. I had all these problems. And so some of my very best engineers were like I want like a more interesting problem. And it's like I I only have suffering to offer, but this suffering will make is it what's going to make the business succeed. And so, how do I refocus them?

And I think many of them at the time felt like that was a violation of the management cons contract. Like my goal and my obligation was to give them interesting work they wanted.

>>: 嗯,很有意思的是……

英文原文

Well, interesting how

当我们回过头去看时,它相比大约十年前发生了多大的变化。

英文原文

how when we look back just how it changed from like 10 years before.

>>: 完全是这样,对吧?所以,我认为身处那样一个时期是非常奇妙的,但我一直不认为那种视角真正正确过。我觉得无论是在 Stripe 还是在我工作过的所有地方,那些真正资深的人都在做公司所需的真正有价值的工作。

你从未见过那种视角真正占据高管阶层,但很多新加入的人确实抱有那种信念。我想说,不指名道姓的话,他们来自的某些公司在这一点上表现得非常明显,在那些公司里,管理者对资深员工的义务似乎就是给他们提供有趣的工作。我认为整个行业在这点上确实已经彻底倒退回去了。

英文原文

>>: Totally, right? And so, I think um that that was like a a fascinating time to to be in, but I I don't think that perspective was ever really right. I feel like the people who are really senior at Stripe, but also everywhere I've worked, those folks were doing the really valuable work that the company needed.

You never saw that perspective like really take hold in the executive ranks, but a lot of the folks coming in um really had that belief. And I'd say like without naming names, certain companies that they came from had very strong versions of that, where kind of the obligation of the manager for senior hires was to give them fun work. And I think the industry's really um reverted on that one for sure.

零利率时期的管理与招聘膨胀

>>: 这跟零利率有关吗?我们经常会回到这个话题上,这非常耐人寻味。我也写过相关的文章,谈到利率这个感觉非常抽象、我们偶尔听到的东西,它是如何在很长一段时间里对科技领域的融资产生影响的,可能也影响了招聘、初创公司——那些获得了融资但可能根本没有商业模式却依然拿到钱的初创公司。最终,它还影响了软件工程的原型、管理者类型以及管理决策。

然后在 2022 年左右,音乐停止了,效率变得更加重要。现在我们某种程度上看到了这一点,现在我认为我们很多人都在问,我也在问自己这个问题:我们在那段时期所做的一切,在当时是对的吗?

英文原文

>>: Was this something to do with zero interest rates? We often come back to this, which is so curious. I I wrote about this as well, how an interest rate, which feels so abstract and we sometimes hear about it, how it probably impacted funding in tech for a very long time, probably hiring, startups, startups that were funded that maybe didn't have a business model, but they were still funded. And ultimately, software engineering archetypes, manager types, management decisions.

And then the music stopped sometime around 2022, uh where efficiency became more important. And now we're kind of seeing this And now I think a lot of us are asking and I'm also asking myself the question like everything that we did during that time, was it right at the time?

>>: 你读过——我可能会把他的名字读错,但我记得好像是 Ranjan Roy 的那篇博客,比如《零利率解释一切》(Zorp Explains Everything)之类的吗?

英文原文

>>: Did you ever read I I I'm going to get his name wrong, but I think it was like Ranjan Roy's like uh Zorp Explains Everything blog

>>: 我们也会把链接放出来。我很喜欢他的文章,是的。

英文原文

>>: we'll also link that. I I love his writing, yes.

>>: 我在 Digg 的一位同事,后来我把他招到了 Uber,叫 John Doric,他是 Substack 专栏《Marginal Revolution》之外的《On the Margins》的另一位作者,和 Ranjan Roy 一起写。我读了那篇文章,它确实引起了强烈的共鸣,对吧?我确实认为零利率解释了整个 2010 年代管理风格的变化、薪资的上涨,以及招聘竞争如何变成了你的招聘、促成签约和留人能力,这成为了那些成功公司与不太成功公司之间的分水岭,因为你根本留不住优秀的人才。

这就把筹码重新拉回到了工程师手中,并创造了一个非常不同的环境。因此,各家公司宣传自己的方式之一就是变得更宽松、更以你为中心、更注重职业发展。而且我认为在很多方面,这种做法往往有点弄巧成拙。因此,我认为存在一种对类似 Google 福利文化的广泛评判。

我认为除了 Google 和 Meta 之外,没有任何极其成功的公司具备那种程度的福利导向。但我确实认为抛开福利不谈,公司试图专注于奖励性工作、有趣工作的途径还有很多。你知道,公司会说:哦,工程师也许不应该值班(on-call)。值班应该留给二线 SRE 去做。这很有意思,因为实际上每一个和我共事过的人都知道,让工程师为自己的工作值班会让软件变得更好。

英文原文

>>: One of my colleagues at Dig, who then I hired at at Uber, was John Doric, who is the other writer on on the margins along with uh I think it's Ron John Roy. But um so I I read that piece and it it um it it really resonated, right? I do think that ZIRP has explained the entire like 2010s in terms of how management styles changed, salaries went up, and competition for hiring became your ability to hire and close and retain became the differentiator between these like successful companies, the less successful cuz you simply couldn't retain great people.

Um and that like pulled kind of leverage back into the engineers' hands and created like a very different environment. And so part of the way companies were pitching themselves was like more relaxed, more focused on you, more career development. And I think in ways that I think were often like kind of self-defeating. So I think there's this kind of like broad judgment of like the Google perk culture.

And I don't think any company that did incredibly well other than maybe Google and and Meta um had a that level of perk orientation. But I do think ignoring the perks, there are many other ways that companies try to focus on rewarding work, interesting work. You know, companies like oh, engineers maybe shouldn't be on call. That's like the the second tier SREs to be on call. And which was interesting cuz that was actually a place where every single person I've worked with knows engineers being on call for the work makes the software better.

>>: 是的。

英文原文

>>: Yep.

>>: 然而公司依然有点像在说:哦,也许为了体验好一点,我们应该让大家不为自己做的项目值班,转而去 call 那些没有参与软件编写的其他人。我认为这种导向真正揭示了那些公司优先事项的转变。

英文原文

>>: And yet companies were still kind of like oh, maybe for the enjoyment of it, we should let folks not be on call for the work they're doing and instead page other people that aren't involved creation of the software. And that orientation really reveals I think that the shift in in priorities in those companies.

>>: 嗯,我也在想那是不是一个管理者因为团队人员流失率低(意味着很少有人离职)、能够为团队招聘填补编制而获得奖励的时期。因为在那个时期——这听起来可能很疯狂——填补编制是很困难的。假设你作为总监或高级工程经理带一个 30 人的团队,你今年拿到了 10 个编制,如果你无法填补这些编制,意味着你招不到合适的人——假设是资深及以上级别,所以你不能只招应届生,因为那样就太简单了——那么这在某种程度上就会成为对你不利的分数。或者别人可能会拿到那个编制,这可能会助力他们的晋升,因为很显而易见,如果你管理 40 多号人,你现在就可能从高级经理变成总监头衔了。

所以,在那种环境下表现出色的管理者有点像是讨好型人格。而且,他们也开始保护他们的工程师不受业务的打扰,举个例子来说。我不知道这种对业务的屏蔽是否已经反噬了很多人,因为现在作为工程师,人们越来越期望你精通业务、理解业务。只有那样你才会有市场。只有那样你在初创公司或其他地方才能迅速上手进入状态。

我仍然听到一些在这类大公司——比如一家大型可观测性公司,随便哪一家都行——工作过的人的故事,他们去了一家只有七个人的初创公司,然后说:“太糟糕了。就像我……他们不让我做事。”我就会说:“等等,你们是一家七个人的公司。你怎么——而且你还是个经验丰富的人?你怎么会不去问:‘业务需要做什么?我们做就是了。搞定。’”而他们已经在不同的环境里被社会化训练了很长一段时间。

英文原文

>>: Well, I also wonder if that was a time where managers were rewarded for having low attrition on team, meaning few people left, being able to hire on the team to fill head count cuz often there was a time, this might sound crazy, but filling head count was difficult. You were given let's say you had a team of 30 as a director or senior engineering manager, you had 10 head count this year, and if you couldn't fill that, meaning you couldn't hire the right people, and this was like let's say senior and above. So, it was like you couldn't just get new grads cuz that would be too easy. Then, it kind of counts a little bit against you. Or if someone else would get that head count, which might help their promotion because it was kind of obvious if you have 40 plus people, you're now you might be senior manager, that's your director title. And so, managers who did well in this environment a bit of people pleasers. And also, they started to shield their engineers from the business, for example. And I wonder if this shielding from the business has bitten back a lot of people because now as engineers you're increasingly expected to be savvy about the business, understand the business. That's when you're going to be in demand. That's when in a startup or other places you get to hit hit the ground running. And I still hear stories from people who worked at this big company, the let's say a big observability company, any of them, and they went to startup, seven person startup, and they say, "It's terrible. Like I'm they're not letting me do things." And I'm like, "Hang on, you're a seven person company. Like, how is it and you're an experienced person? How is it that you're not asking, 'What does the business need to do? Let's do it. Boom.'" And they've been socialized in different place for a while.

>>: 是的,我认为从激励机制的角度来看,这确实是很大一部分原因。我确实认为围绕填补编制、团队管理类事项、以及员工调查结果等导向,这些都是非常有价值的工具。我个人从中收获很多,但我记得在这些增长较快的公司里,花了很多时间根据调查结果来分析管理者的素质。

而调查结果是需要你去深入解读的。高分或低分并不代表是好管理者还是差管理者。有背景信息去提出其他问题,比如:“嘿,为什么你的团队都对这件事感到不安?”这并不意味着你是不是一个好管理者,对吧?我认为这些在某种程度上变成了它们自己的目标,而不是一种解释机制,在很多方面,就这些工具的应用方式而言,这纯粹就是偷懒的中层管理。但我确确实实看到了这种情况。

总的来说,我讨厌关于编制的对话,对吧?我认为它们几乎从来都不是最有趣的对话。但我认为在一个不允许管理者做技术决定的世界里,他们用来实际加快执行速度的唯一杠杆就是编制或优先级排序。

英文原文

>>: Yeah, I think I think that is like a huge part of it in terms of the incentives. I do think the orientation around like head count filling, team kind of management, like the employee kind of survey results. These are really valuable tools. I I get like a lot out of them, but I remember spending a lot of time at these faster growing companies like analyzing the quality of manager based on the survey results. The survey results are like you have to really interpret them. Like, high scores or low scores don't mean good or bad manager. There's like context to ask other questions about like, "Hey, why why is your team all upset about this?" That doesn't mean you're a good manager or not, right? And I think these became a little bit a goal of their own rather than an interpretation mechanism, which, you know, in a lot of ways it's just like lazy kind of middle management in terms of how these are deployed. But I definitely definitely saw that. And I think in general, I think I hate head count conversations, and right? I think they're they're almost never the most interesting conversation. But I think in a world where managers are not allowed to make technology decisions, the only lever they have to actually execute faster is head count or prioritization.

>>: 噢,所以你的意思是,在那个时期以及在 0-4(零利率)期间,传统认知是管理者不要做技术决定,这迫使精明的管理者把更多精力放在非技术层面,可能导致对技术方面的投入不足,也许就是不做本该做的决定,而在软性方面过度投入,或者可能为了所有这些事情而保护他们的团队不受业务影响,因为他们把精力放在了那里。

英文原文

>>: Oh, so are you saying that at that time and during 0 4 managers were the conventional wisdom was do not make technical decisions, this forced savvy and smart managers to put way more focus on the non-technical side, potentially under investing in the technical things, maybe just not making decisions that should have been done, and over indexing on the soft side, or maybe shielding their team from the business for all these things because they put their energy there.

>>: 噢,百分之百是这样。我认为这非常属实。对于大多数——比如我现在跟我合作的团队说的是:招聘是解决所有问题中最无趣的方式。我们几乎总是永远不该谈论招聘。但这带来的推论是:如果你有空缺编制,你又要求更多编制,我们也不应该讨论编制。因为那时真正重要的是招聘吞吐量,而且反正你实际上也消化不了更多编制。

但是的,我认为我们基本上告诉了管理者他们不能去考虑技术解决方案,那么他们手里还有什么呢?他们手里有流程解决方案,有排期,或者他们手里有人。所以我确实认为这是这两个角色分化带来的必然结果,这并不是说我们完全不应该进行分化,但我确实认为我们需要有效的领导力来兼顾二者,否则他们就会过度依赖招聘,而这正是导致我们过去看到的许多组织臃肿的原因。

英文原文

>>: Oh, 100%. I think that's very true. Like for most like what I tell my teams that I work with now is like the hiring is the least interesting way to solve every problem. Like we almost always should never talk about hiring. But the corollary to that is like if you have open head count, you ask for more head count, we shouldn't talk about head count either. Cuz like what matters then is like the hiring throughput, and you actually like can't use more head count anyway. But yeah, I think we basically told managers they couldn't think about technology solutions, and then what do they have? They have like process solutions, they have scheduling, or or they have people. And so I do think this was the natural consequence of the bifurcation of these two roles, which isn't to say we shouldn't bifurcate at all, but I do think we need effective leadership to have both, or they over anchor on kind of hiring, and that drives a lot of the bloated orgs we saw in the past.

工程师职业发展机会的变化

>>: 我们来聊聊职业、职业发展。我们先从独立贡献者(IC)开始。你认为在初创公司、中型公司工作的软件工程师,其职业机会发生了怎样的变化……

英文原文

>>: Let's talk about careers, career development. Let's start with individual contributors. How do you think career opportunities are have changed for software engineers working at startups, mid-size

职级梯队与模糊性决策

你见到的那些公司?因为我们过去曾有一套相当明确的职业阶梯:初级工程师(Eng 1)、二级工程师(Eng 2)、资深工程师(Senior Eng)、主任工程师(Staff Eng)。怎样获得晋升是很清晰的。首先,你知道,初级工程师被排除在外,你知道,他们写代码,过去就像初级和二级工程师做的那样。他们现在越来越擅长架构之类的事情。我们在讨论循环回路。我们有职业阶梯吗?我们应该有职业阶梯吗?如果你是一家公司的管理者,你现在应该为制定职业阶梯而发愁吗?

英文原文

companies that you see? Uh because we we used to have a pretty clear career ladder, eng one, eng two, senior eng, staff eng. It was clear on how you get promoted. To start with, you know, eng ones are out, you know, they're they're writing the code which used to be like eng one and eng two. They're now getting better at like architecture. We're talking about loops. Do we have a career ladder? Should we have a career ladder? If If you are a manager at a company, should you be worried about putting together a career ladder right now?

>>: 问得好,对吧?而且我认为团队的期望当然是我们应该有职业阶梯,对吧?这就是……所以,这种我认为有研究支持的观点就是,拥有评分标准(rubrics)相比没有评分标准能够带来更公平的决策。因此,我认为锚定职业阶梯这种做法是会长久保留下来的。

英文原文

>>: It's a good question, right? And I do you think the expectation is certainly from the teams that we should have career ladders, right? And that is So, the the belief, which I I think is like backed up and and research, is that like having rubrics drives more fairer decisions than not having rubrics. And so, I think this anchoring on career ladders is like something that's here to stay.

>>: 我也确实认为,如果你没有它,你就会低估某些事情,对吧?因此,维护工作、粘合工作(glue work/gel work),不管你想叫它什么,我认为都会被低估,而真正奏效的吸睛成果则会被过度强调。我认为那绝对是真的。

所以我依然相信职业阶梯划分,对吧?我认为它依然是有价值的。但究竟应该包含什么内容,我认为很复杂,而且我认为对于应该包含什么越来越不明确了。我不知道是哪家咨询公司一直在兜售其中的某些职业阶梯。基本上是一家又一家小公司,你会看到来自某种不知哪里买来的现成套件里一模一样的职业阶梯。所以,我认为所有那些都真的非常过时了,但我们还没有它的下一个版本。

话虽如此,当我想到如今升到主任工程师或首席工程师(Principal)的人时,我真正关心的——我一直在想给《主任工程师》(Staff Engineer)写个补充内容。我可能会在,我不知道,未来十年的某个时候去写它。但这真正关乎在复杂局势下的决策制定。

英文原文

>>: And I do think if you don't have that, then you do undervalue certain things, right? And so, maintenance work, glue work, gel work, whatever you want to call it, I think gets like under emphasized and flashy things that actually work get over emphasized. I I think that's that's definitely true.

So, I'm still a believer in career laddering, right? I think it's still valuable. But what should be there, I think, is like complicated and I think it's like much less clear about what should be it. I think I don't know which consultancy has been selling on some of these career ladders. It's kind of small company by small company. You see the exact same career ladder from some like kind of like I don't know, like package you can buy somewhere. And so, I think all of those are just really outdated, but we don't have like the the next version of it.

That said, when I think about folks getting to like staff or principal these days, like what I really care about is I I've been thinking about doing like a an add-on to staff engineer. I'll get to it in like I don't know, the next decade sometime. But it's really about decision-making in complicated situations.

>>: 首先是驾驭模糊性(navigating ambiguity)的概念。

我在 Stripe 的时候,记得做过一个项目,当时我们想做多区域化(multi-region)。试图主导该项目的工程师不断跟我提出,比如我们需要产品团队来决定跨区域复制如何运作,或者如果我们只有一致性和可用性而没有分区容错性,我们支持的产品行为是什么。他们希望产品团队来做这些类似 CAP 定理的权衡取舍,而产品团队根本不可能去做 CAP 定理的权衡,对吧?他们所做的其实是在找借口让自己卡在那里。相反,在主任或首席工程师级别上你需要有人做的是,通过做出一些权衡取舍来驾驭模糊性,建立信念,摸索出如何制作一个原型来测试他们做出的预测假设是否有价值、是否可行。

因此,我认为这些模糊的问题仍然非常具有挑战性,并且对我来说即使在今天也是一个强有力的标志。即使有了智能体,你仍然需要做出这些复杂的权衡取舍。关于你早些时候提到理解业务的那一点,有些权衡不仅来自理解技术如何运作,还来自产品层面的含义。要理解产品含义,你就必须理解你的用户到底想做什么。你必须理解你所提供产品的单位经济效益、提供该服务的成本,以及你实际收取的费用。因此,我认为你越来越需要具备相当广博的思维来真正应对这些模糊问题,但我确实认为,决策制定一直以来都是主任和首席工程师必须产生影响力的地方,这一点丝毫没有改变。我其实不认为智能体特别擅长做出这些权衡取舍。我认为智能体往往甚至意识不到这些权衡,因为它们不在上下文窗口中,它们是存在于软件之外的某种微妙的、隐性的东西。

英文原文

>>: And so, first this idea of navigating ambiguity.

And so, at Stripe, I remember working on this project where we wanted to go multi-region. And I kept getting from the engineers trying to lead it like we need product decide how on cross-region replication works or what like what's the product behavior that we support if there is like a only the consistency and availability of a no um partition ability. They they wanted the product team to make these like CAP theorem trade-offs, which um the product team can't possibly make CAP theorem trade-offs, right? And what they were doing is they were finding way to get stuck. When instead like what you need like someone at the staff or principal level to do is to navigate an ambiguity by making some trade-offs, building conviction, figuring out how to like make a prototype that like tests like whether that the prediction they assumption they made are are valuable and and workable or not.

And so I think these ambiguous problems are still a really challenging one and to me like a strong marker even today. Even with agents, you still have these like complicated trade-offs that you have to make. And some of the trade-offs to your point about kind of understanding the business earlier, do come from not just understanding like how the technology works, but the product implications. And to understand product implications, you have to understand what your users are actually trying to do. You have to understand the unit economics of like the product that you're offering and the cost to the service it and to actually what you're charging. And so increasingly I think you have to think be quite broad to actually work these ambiguous problems, but I do think decision-making has always been where staff and principal engineers have to to make the the impact and that hasn't changed at all. I don't actually think agents are exceptionally good at making these trade-offs. Think the agents often don't even recognize the trade-offs cuz they're not in the context window. Kind of settle implicit things that live kind of outside of the the software.

初级工程师的评估与晋升约束

>>: 那么 Eng 1、Eng 2 的职业发展呢?刚才有一位资深工程师问我说:“你看,AI 在写代码方面显然已经变得和 Eng 1、Eng 2 一样好了,因为过去我们很多时候对他们的期望也就是这个。”然后这个人说,好吧,总会有人成长到资深级别,但现在还没有。但我仍然记着这个,因为显然它有一定道理。但在你的组织里,无论是招聘还是培养方面,你如何看待 Eng 1、Eng 2、应届生,或者资深级别以下的人?他们还没有受过实战历练,缺乏让你能够充分信任他们的专业技能或判断力。

英文原文

>>: What about eng1 eng2 careers? I just had a senior engineer ask me saying, "So, you know, like AI clearly has gotten as good as an eng1 eng2 writing code because that's what we expected a lot of times from them." And then this person was saying that well, somebody will come to senior, but it's not there right now. But I still remember this one cuz obviously there's truth to it, but I in your org, how do you think of eng1, eng2, new grad, or or people who are un- under the senior? They don't yet have the battle scars or the expertise or the judgement that you can fully trust them, both in terms of hiring, but also developing them.

>>: 所以,我试图避开的事情之一,我称之为人为的具象化(artificial specificity)。比如,Eng 1 和 Eng 2 之间有什么区别?你知道,我认为其实很难说得超级具体。我认为很多公司能够顺利推行的标准是,两者的差别大约是 3 年的工作经验。

然后你可能会说,那样公平吗?而且,我不知道评估 Eng 1 与 Eng 2 是否有任何极其公平的方式,再说一遍,一个非常糟糕的 Eng 1 是能被识别出来的。但一个非常优秀的 Eng 1 和 Eng 2 之间,往往只是任职时间的长短,仅仅是在随着时间建立起更多的背景信息。

但这并不是超级明确的、比如他们能做这个或做不了那个,尤其是现在有了代码测试脚手架(coding harnesses)。他们什么都能做,但实际决定他们是否应该去做,正变得越来越棘手。而且在不合适的环境中,如果你给他们大量的指导,在很多情况下你甚至察觉不到他们的判断力,对吧?所以,我其实越来越少去听其中一些细则,我认为对其中的很多情况来说,像任职时间和级别这类的常规指标可能就足够好了。我确实担心在这些标准上扣得无比详细有点像一种虚假的胜利,感觉好像“噢,它让标准变得极其精确了”,但很多时候——我的意思是,你也参加过校准会议(calibration meetings),

在那些会议上有人钻评分标准的空子。我记得在我工作过的一家公司,要升到主任工程师,有带教(mentoring)的要求。结果有些人就专门跑出去找人聊聊天,然后把对方报为自己的被指导者,他们就像在四处收集学徒一样。

然后你去和那个人聊,对方会说:“我不知道我为什么要跟他聊,他就跟我讲过一次话。”所以,这就是如果你真的制定了那套规则,你知道,“你衡量什么,就得到什么”。所以我真的认为晋升当中一直都包含大量的判断。无论何时你试图消除主观判断,我其实都不认为你能得到好结果。因此,用评分标准来帮助引导大家,我认为是有用的,但归根结底它还是相当主观的。

对于很多这类事情,我认为设立某种约束条件,比起拿来做裁决的详尽标准要更有意思。这里举个例子。比如你在 Carta 会遇到的情况,在 Carta 有很大的成本压力。

英文原文

>>: So, one of the things I try to stay away from is I call it artificial like specificity. And so, like, what's the difference between an eng1 and an eng2? And, you know, I think it's like actually pretty hard to be like super concrete about it. And I think a lot of companies successfully say the difference is like 3 years of work experience.

And then you could say is that is that equitable? And like, I don't know if there's any like super equitable way to evaluate eng1s versus eng2, and again, a really bad eng1, you can identify. But there was something like a really good eng1 and eng2 often is time and role in terms of just like building more kind of context over time.

But it's not like it's not like super like they can do this or can't do this, especially with, you know, the the coding harnesses. Like they can do anything, but actually deciding whether they should be doing it increasingly increasingly tricky. And in the wrong situation, where you're getting a lot of direction, you can't even perceive their judgement in a lot of cases, right? So, I I actually like hear less and less about some of these things, where I think just general things like time and level, stuff like that, is probably good enough for a lot of these. I do worry that getting incredibly detailed on these criteria is like a bit of a like a fake like victory, where it's like, oh, it's made it really precise, but often I mean, you've been in like calibration meetings,

where there are people who played the rubric. I remember at one company I worked at, we had to get to like staff, there was like a mentoring requirement. And so, we'd have people that literally went out and like would talk to someone, um and then be like report them as like a mentee, and they were like collecting mentees.

And then you talk to that person and like, I don't know why I was talking to them, they just talked to me once. And and so, like, this is where if you actually create like the, you know, like you you get what you measure. So I I really think for promotions there's always been a lot of judgment. Whenever you try to remove the judgment, I actually don't think you get good outcomes there either. And so having the rubric to help guide people, I think that's useful, but ultimately it's like pretty subjective.

And for a lot of these things, I think it actually having kind of constraints is more interesting than having really comprehensive rubrics that are used to make judgments. So here here's an example. So something you get at Carta Well, at Carta there's a lot of cost pressure.

>>: 成本压力是指比如降低团队或基础设施的成本?

英文原文

>>: Cost pressure meaning that like to reduce costs of the let's say org or infra

>>: 或者管控成本。是的。

英文原文

>>: or manage costs. Yes.

>>: 确实。

英文原文

>>: Exactly.

>>: 所以我其实定过一个比例。主任工程师的人数相对于总人数不能超过这个比例。而且根本不可能超出那个比例。这让很多人感到非常恼火,对吧?但我认为这实际上更符合行业在 15 年前的真实情况。15 年前,我认为在大多数公司里资深工程师之上并没有其他职位。资深工程师在几乎每家公司里都确实是最终的终极职位。所以,随着人们在职业生涯中走得更远,随着我们拥有越来越多具备 20 年、30 年、40 年软件经验的人,他们开辟了更多这类职级。

但其中的很多职级归根结底更像是按任职年限和岗位给予的头衔,而不是真正具有确定性的……

英文原文

>>: And so I actually had like a ratio. Can't have more than this number of staff engineers relative to the number. And there just you was not possible to exceed that ratio. That was very annoying to a lot of folks, right? But I think it actually is more honest where the industry was like 15 years ago. 15 years ago I think there wasn't a role past senior in most companies. Like senior really was the ultimate role for almost every company. And so you know, as people have gotten like further along in their careers and we have more people with like 20, 30, 40 years of software experience, they have opened up more of these levels.

But like a lot of these levels are like ultimately more like time and role kind of titles rather than like really like a definitive

管理成本与职级比例

……比如在做这些事情的个人能力上发生明显的变化。我尽量不去那么纠结细节,而且我确实认为,如果你想要做的是管理成本,设定一个像一比几或一比八之类的硬性比例确实很有帮助。因为当你在管理成本时,你必须诚实面对的是你正在控制成本这一事实。

在 Carta 那会儿,我们大致就处于那种境况。现在在 Imprint,我们并不是在尝试控制成本,我们试图掌控的是速度和质量水平。所以我们根本就没有去考虑那个。但我认为,作为领导层的一部分,就在于明白自己在做什么,解释清楚你打算怎么做,然后让大家接受这么做的后果。因此,因为在 Carta 我们要有固定的比例,那意味着我们必须开始将招聘转向没那么资深的级别。这样我们才能真正拥有一个持续的人才管道,让大家进来填补那些职级。从那次调整中延伸出了很多举措,而且运转得非常不错。但如果我们只是试图去调整比例,而没有在招聘漏斗的前期把其他环节搞清楚,那是行不通的。不过我也不知道,相比职业生涯早期,我现在没那么笃信存在某种对事实的“完美描述”了。凡事都有太多的例外。

英文原文

like obvious like change in the capabilities of the individuals that are that are doing it. I try not to worry quite as much about like the details and I do think having like a hard block of like one or one to eight or whatever it is is really helpful if like what you're trying to do is manage costs. Cuz when you're managing costs, what you have to be honest about is that you're managing costs.

And so at Carta that was kind of the situation we're in. Now at Imprint like we're we're not trying to manage costs, we're trying to manage velocity and and quality level. And so we we haven't thought about that at all. But this is where I think um part of leadership is knowing what you're doing, explaining how you're doing it, and then letting people like accept the consequences of that. And so, because of Carta, we were going to have like a a fixed ratio, that meant we had to start shifting um hiring to be less senior. So we could actually have more of a pipeline of folks coming in and filling those levels. From that fix, a lot of things came from it, and which worked which worked really well. But it it wasn't if we had just tried to fix it without figuring out the the other parts of the hiring earlier in the funnel, wouldn't have worked. But I I don't know, I'm less of a believer in kind of like a a perfect description of things that are true than I was um earlier in my career. Just so many exceptions to everything.

AI 时代软件工程师角色的演变

>>: 关于职级标准和期望的事情,以前是这样的——你知道,我们俩都在 Uber 工作过,你后来又去了 Stripe——当时大家对这个角色的期望理解得相当透彻,而且你知道,各职级……是的,我也认同随着职级往高走,这些定义开始变得模糊,但曾经有一个相当明确的预期:比如对于一个高级工程师,你通常可以信赖他们——我认为行业在某个时期,大概近十年的时间里开始达成共识——对于高级工程师,你可以放心地把一个项目托付给他们。如果他们手下有初级工程师,他们会去指导。对于 Staff 工程师,你可以信赖他们去为一个单元或多个项目设定方向等等。而工程师一级和二级,他们能够把代码写好、执行得当,不会出太多岔子,听得进反馈。他们有点像……几乎就像处于学徒级别。我觉得工程师一级和二级在晋升意义上并不算重大晋升。它不是终点,只是表明他们在成长。有些公司(比如 Uber)甚至有规定你必须成长到某个级别。但说实话,他们几乎就像学徒一样。他们只是在逐渐培养对所有这些事情的良好判断力。现在我们都更多地使用 AI 框架工具,包括进行代码审查,代码审查也正在逐渐消失。我们越来越少做我们过去常做的事,也就是写代码以及彼此之间非常显性直接的反馈。

你会如何定义现在的软件工程师角色?它和以前相比有所不同吗?它变得更有野心了吗?你是怎么看待它的?因为这确实在改变。我觉得它不知怎么变得更有野心了,但我不太确定自己能否准确指出究竟是怎样的,尤其是从 CTO 的视角来看。

英文原文

>>: The thing with like the rubrics and and what expectations, like it used to be, you know, when both of us worked at Uber, you later worked at Stripe, it was pretty well understood what was expected of the role, and you know, what the levels like yes, I I agree that I enjoy when I enjoy two senior these coming murky, but there was a pretty clear expectation that some way, for example, a senior, you could trust them typically, uh I think the industry starts to understand at some point for like closer to decade a senior, you could trust them with a project. If they had junior engineers, they would mentor them. A staff, you could trust them with uh to set the direction over of a unit or multiple projects and so on. And and the engine one and engine twos, they could execute well coding without too many issues, took feedback. They they were kind of like almost like they were like apprentice levels. Like I think engine ones and engine twos, it wasn't a serious promotion in terms of it. It was just it wasn't a destination. It was just they're growing. Some companies even had the expectation as Uber that you need to grow to a certain level. But but they were like almost like apprentice, honestly. Like they were just kind of getting getting to that that to have good judgment on all these things. Now that we're all using AI harnesses a lot more, including for reviews, code reviews are slowly going away as well. We're doing a less of the the what we used to do, which is coding and the very visible feedback between each other.

How would you define what the role of a software engineer is? And is it different from before? Is it more ambitious? Is it How do you think about it? Cuz it is it is changing. Like I I I feel it's getting more ambitious somehow, but I'm not sure I'm able to put my finger on exactly how, especially from a CTO perspective.

>>: 这是指普遍的角色,还是指三级或者……

英文原文

>>: And is this like the general role or is this like a the level three or

>>: 这是指普遍的软件工程师角色。因为我觉得每个角色都发生了很大变化。可能 Staff 工程师在规模中等及以上的公司里,本来就没有写过太多的代码,因为他们忙于确保我们在做正确的事情。所以,可能很难区分,因为现在没人写太多的代码了,即使是最低层级的角色,他们也只需要去决定:我们做的事情对吗?我做的方式对吗?

英文原文

>>: this this is the general software engineer role. How how because I think I feel each role has has changed a lot. Maybe the staff role of a staff engineer has never did too much writing code at like mid-size and above companies because they were busy making sure we're building the right thing. So, maybe we it's hard to separate cuz cuz now no one is writing too much code and even the smallest roles they will have they will just need to decide are we doing the right thing? Am I doing it right?

>>: 首先,我认为就我们的发展走向而言,目前仍处于早期阶段。肯定有些你会去交流的人会说:“嘿,未来的软件团队不管公司多大都只要五个人。”也许这是真的。也许我们终究会走到那一步。但我们现在绝对还没到那个地步。我不知道我们是否很快就会走到那一步。但确实有一些公司,工程师人数很少,却以极具生产力的方式消耗着数量惊人的 token。亲眼见证这种事真的很酷。

软件角色的走向在哪里?我认为我们会找到答案的。而这正是眼下身处这个行业如此有趣的原因,对吧?最有趣的事情在于,我觉得我们的职业正在经历比我进入这个行业以来所见过的任何事情都更为极端的剧变。对我这样向来高度关注工作结果的人来说,这简直是我经历过的最有趣的时期。但我同样也跟一些人聊过,他们主要的乐趣原本是来自于进入状态、进入那种心流。现在他们可以说是对软件失去了热爱,因为他们热爱的是编写软件这一行为本身的艺术。对他们当中的少数人来说,比如我最近交流的一个人,他实际上要退休了。

他说,我就是不再享受写软件了。

他失去了这种心流状态。他说,我效率更高了,但我就是体会不到乐趣了。所以,我认为这个角色正在发生转变,而且我认为它在以一种非常有趣的方式转变。

对我而言,我一直有这样一种设想:软件实际落地实现的时间正在趋近于零。但这些系统在“好,让我们瞬间把东西实现出来”这方面仍然很慢。你仍然必须做所有这些决策。它依然会在各个方面无法运转。它依然会在各种地方遇到扩展瓶颈。它依然会打破用户的预期。它依然会因为错误的单位经济效益而无法成为一个盈利的业务。因此,我确实认为,即便编写软件从字面意义上变得完全免费,它依然非常、非常、非常困难。所以,在今天,你会看到这样一种现象:如果软件是免费的,那么突然之间工程师就会跑在产品的 PRD 前面,跑在设计的高保真原型前面。这给那些试图适应这种工程主导模式的设计团队带来了大量的问题。老实说,这也是我们在 Imprint 仍在努力摸索解决的问题,对吧?

英文原文

>>: First, I think we're still like early days in terms of where we're going. And there's certainly people you're going to talk to they're like, "Hey, like the the software teams of the future are five people for any size company." And maybe maybe that's true. Maybe we'll get there at some point. But we're definitely not we're definitely not there right now. And I I don't know if we're going to get there soon. But there certainly are companies that are you know, have a small number of engineers spending just a staggering number of tokens in productive ways. And that's like a pretty a pretty cool thing to to see.

Where is the role of software going? I think we're going to find out. And this is actually why it's such a fun time to be in the industry right now, right? The the most fun thing is like I think our profession is changing in a much more extreme way than anything I've seen since I entered the the industry. And for me, like someone who's always been very oriented around the outcomes of the work I'm doing, it's just been like the most fun time I've I've had. But I've also spoken to folks who got basically joy from, you know, being in the zone, being in that flow state. And they like fall have fallen out of love with software cuz what they loved was like the actual art of doing it. And for them, like, you know, a few folks like I had one person I was speaking with recently, he he actually he's retiring.

He was like, I just don't enjoy writing software anymore.

And he's lost this flow state. He's like, I'm more productive, but like I just don't enjoy it. And so, I think the role's shifting, but I think it's shifting in a really interesting way.

And I to me, I've had this kind of idea of a software where that the time to actually implement is approaching zero. These systems are still very slow in terms of like, you know, okay, let's take an instant and implement stuff. You still have to make all these decisions. It still doesn't work in all these ways. It still is going to scale poorly in all these ways. It's still going to break the user expectation. It's still going to have like the wrong use unit economics to actually be like a profitable business. And so, I do think even if software were like literally free to to write, it's still really, really, really hard. And so, like today, um you'll see this like if software's free, then all of a sudden engineers are running ahead of the PRDs from product, they're running ahead from the the high-fidelity mocks from design. And that's creating a ton of issues for design teams trying to work with this engineering-led model. And something we're still trying to figure out at Imprint, to totally honestly, right?

理解业务约束与领域复杂度

>>: 这也会创造一些机会:比如,要是工程师同时也戴上设计师的帽子,或者戴上业务领域的帽子,然后……然后彻底放手去跑实验……显然现在你会发现,你能跑的实验数量是有限的,否则就会把客户搞糊涂,这又回到了战略层面——必须有人站出来说“不”。而且,你到底是在为谁构建产品?如果它是给人用的,他们的注意力是有限的。就像 Netflix,我不知道他们推出了多少新电影,但我知道当我打开 Netflix 时,他们不会让我信息过载。我是说,他们确实推很多,但他们……他们有……他们不会把全部 8,000 部电影一股脑展示给我,他们会把它算清楚。因此我在想,如果软件开发变得更快,作为工程师,我们是否将需要去发掘业务其他层面的约束——那个业务领域、客户、现实情况,就像你说的单位经济效益,以及钱到底是怎么赚来的。

英文原文

>>: That also could create opportunities where like, well, if if an engineer also puts on a design hat or a or a business domain hat, and now and now like runs an experiment full on to get and obviously now you get to like there's only so many experiments you can run without confusing your customers, which now it goes back to strategy someone having to say no. And and also like who are you building with? Like if it's for people like they will have a finite number of attention. Like Netflix has I don't know how many new movies they bring out, but I know that when I open Netflix, they don't overload me. I mean, they do, but they they they have they have they don't show me all 8,000 movies, they they figure it out. And so, I wonder if if software is becoming faster, like as engineers, we will need to discover the constraints of the other parts of the business, that domain, the the customers, the the reality, like you say unit economics, how how money can be made.

>>: 我在 Carta 工作时常常思考这方面的事情。Carta 属于低规模业务,我的意思是它并没有每秒几十万次请求涌进来。那里没有大规模的基础设施问题,但它是一门细节极其繁复的业务。股权结构表到底是如何运作的,极其极其极其具体。

英文原文

>>: I think something I thought about a lot working at Carta. So, Carta is a low-scale business, by which I mean there's not like hundreds of thousands of requests per second coming in. There's no like massive infrastructure problem there, but it's an incredibly detailed business. How cap tables work is really really really specific.

>>: 是的。

英文原文

>>: Yeah.

>>: 而且非常复杂,有着大量的例外情况。然后做会计核算……

英文原文

>>: And it's very complicated, and there are tons of exceptions. And then doing accounting

>>: 对吧?虽然是件小事,但你必须做对。

英文原文

>>: right? It is a little thing, but you need to get that right.

>>: 从可审计性的角度来看非常重要。此外你还要和律师事务所打交道,他们对所有事情应该如何极其细致地执行,有着非常强烈的看法……

英文原文

>>: is really important from like an auditability perspective. Um you're also working with law firms that have like a real strong point of view about how everything should be done very particularly

领域背景与 AI 工具的局限

也是如此。你可能会陷入两位创始人之间的法律纠纷中,争论究竟有多少股权实际已经归属(vested),诸如此类的事情。同样,Carta 进入的其他业务,比如基金行政管理(fund administration),也极其注重细节。因此,市场上有很多业务,其领域背景(domain context)一直以来都是最难的部分。

而且我并不十分清楚,那些领域背景确实是最难部分的业务,是否已经在很大程度上从各类 AI 工具中受益了。做股权结构表(cap table)管理依然极其困难,因为涉及那些细节、法律,以及与律师事务所的关系——比如对那里的律师助理进行培训。存在所有这些细小的环节,我认为复杂的领域业务在当今时代依然具有很强的防守性(defensibility),我不知道这种情况将如何改变。我认为它会变的。每隔两到三年,就会出现类似“产品工程师是新的王者”、“产品工程师是新的超级英雄”这种风靡一时的梗。

英文原文

as well. And you could be in a legal battle between two founders who are arguing about how much equity was actually vested or something like that. Um similarly, the other businesses Carta went into, like the fund administration, also incredibly detail-oriented. And so, there are a lot of businesses out there where the domain context has always been the hard thing.

And it's not super clear to me if businesses where the domain context is really the hard part have benefited that much yet from kind of all the AI tools. It's still incredibly hard to do cap table management because of the the details, the laws, the relationships with the law firms in terms of training like the paralegals there. There's like all these little pieces that I think domain like complex domain businesses still have a lot of defensibility in in this day and age, and I don't know if that's how that's going to change. I think it will change. Every 2 to 3 years there's this kind of like the product engineers are the new king. Product engineers are the new superhero kind of like meme that comes around.

>>: 现在是 AI 工程师了。

英文原文

>>: Now it's the AI engineer.

>>: 现在是 AI 工程师了,他们其实就像是运用了 AI 技术的产品工程师,对吧?所以,问题是——

英文原文

>>: Now it's the AI engineer, who really are like product engineers that use like AI techniques, right? And so, the question is

>>: 如今几乎每个产品工程师都是这样了。

英文原文

>>: Which is pretty much every product engineer these days.

>>: 100% 对吧?所以,这就变得不明确了。我的意思是,我从来没有真正完全搞懂 AI 工程师到底意味着什么。我认为它指的是一个使用测试套件/执行框架(harnesses)并希望拿到很高薪酬的人,我觉得这就是它的含义,但它可能也意味着别的什么,只是我遗漏了其中的细微差别。但是,你真的能让个人把所有这些背景知识都装在自己的脑子里吗?所以即使在今天,你知道,人们过去常谈论真正懂优秀设计的前端工程师,或者真正能编写生产级前端代码的设计师,这样的人向来都很罕见。而现在,一个稍微有点品味的设计师就能写出生产级代码了。对吧?反之亦然,一个具有良好设计品味的前端工程师也能做设计。为什么我们还没有看到更多这样的情况呢?所以我认为那就像是一种社会性制约。

英文原文

>>: 100% right? So, it's like it's unclear. I mean, I've never really quite understood what AI engineer means. I think it means someone who uses harnesses and wants to get paid a lot of of compensation is I think what it means, but it probably means something else too that I I've just sort of missed the the nuances on. But, like can you actually get individuals to hold all this context in their head? And so even today, you know, people used to talk about like the front end engineer who's actually a good designer or the designer who could actually write production front end code, that person's always been rare. And now a designer with like a little bit of taste can write production code. Right? And and vice versa, a front end engineer with like good design taste can do do design. Why don't we see more of that yet? And so I I think that's like a a social constraint.

设计师与生产代码的现实差距

>>: 嗯,这是个非常好的问题,因为我也在问同样的事情。我看到来自 Linear 的一些数据显示,设计师和产品经理提交的 PR 数量上升了。我当时就想,“噢,实际上有人把这个发信息发给我了。”一位工程经理同行说:“等一下,我一直在四处询问,我们应该看到更多设计师向生产环境推送代码,对吧?或者产品经理也是。”他问了大约 10 家公司。我又问了另外大约 10 家,包括 Linear、Ramp、OpenAI 之类的公司。除了一些特殊的边缘案例,我还没有听说过——或者说我就听说过一个设计师向生产环境推送代码的例子。他们会发现 bug,他们会指出 bug,但他们仍然会让一名工程师介入,来确认这种方法在代码库中行得通,特别是当我们谈论原型设计之外的事情时。他们确实做了更多的原型设计,但即使我们还没到那一步,我在想这是否是一个责任归属(accountability)的问题。就像你知道的,尽管我能换灯泡,但当我的房子需要做一些更进一步的电气工作时,我仍然会打电话叫电工,因为那是电,对吧?而且我也可以看书学。我不知道这是因为责任归属还是专业化分工,我不知道。

英文原文

>>: Well, it's a really good question because I was asking the same thing. I saw some data from Linear showing that PRs for designers and product managers are up. And I was like, "Oh, actually some some someone messaged this to me." Uh a fellow engineer manager said like, "Hang on, I've been asking around like we should be seeing more designers push to production, right?" Or product managers. Asked around 10 companies. I asked around another 10 including the likes of Linear, Ramp, OpenAI. I have yet to hear except for like some exotic edge cases or like I just one example of designers pushing production code. They will find bugs. They will identify them, but they will still get an engineer involved who confirms this this approach works in the code base especially when we're talking about outside of prototyping. They do prototype more, but even if we're not there, it's I wonder if it's an accountability thing. It's a you know, like when even though like I I can change a light bulb, I will still call the electrician when I need to something a bit more on my house cuz it's electricity, right? And and I can read the book. I wonder if it's this or specialization. I don't know.

>>: 你知道,我经常思考的事情之一是,现在有一种世界观,认为如果你有一个很棒的设计系统(design system),并且你确实使用了设计系统,你就不再需要产品设计师了。这是少数人持有的一种观点。但我并没有发现这是真的。哪怕拥有一个好的设计系统,理解所有这些不同的组件如何契合在一起、理解你设计系统中缺失的组件、弄清楚当你在不同屏幕界面之间存在权衡取舍时如何处理这些权衡,同时为用户呈现统一的体验,这些依然是非常难做的事情。所以,你知道,我知道《Attention Is All You Need》根本不是关于人类注意力的。但你是否认为在某种维度上,人们在注意力方面依然是受限的?优秀的设计师、优秀的产品设计师,以及优秀的设计系统设计师,全都因为过于受制于自己正在做的事情的细节以便把它做好,以至于他们根本没有大量的时间去横向拓展。这在本质上必然是真的吗?我认为这在本质上不一定非得是真的,而且我确实认为,在理论上,如果你拥有一个伟大的设计系统,拥有高度的一致性,以及在“它必须以这种方式使用”方面拥有大量的 linter,突然之间,你的设计系统人员、你的产品设计师就可以更加专注于去审查那些例外情况。就此而言,这也是我们在 Imprint 努力想要达到的目标:基础场景只由工程团队使用现成的设计系统来完成,而产品设计师则更多地与设计系统人员一起处理非常复杂的版本,并对设计系统进行扩展。不过目前还没有按那种方式运作起来。现在依然还是有一点棘手,但是你知道,正如深入从事 AI 的人们所说的,姑且假设这属于所谓的“技能问题”,我们终会跨过这道坎,但对我们来说这仍然是一个技能问题。我们仍在摸索中。

英文原文

>>: You know, one of the things I think a lot about is like there's a there's one world view right now which is like if you have a great design system and you've actually use use design system, you don't need product designers anymore. That's like a viewpoint that a few people have. I haven't found that to be true though. Um even with a good design system, understanding how all these different components fit together, understanding the missing components in your design system, figuring out um when you have like trade-offs across different screens, how you manage those trade-offs while presenting like the unified experience for the user, these are still really hard things to do. And so, you know, I I know attention is all you need is actually not about human attention at at at all. But do you think there's some dimension where like people are still constrained on attention, and great designers and great product designers and great design system the designers as well are all so constrained on like the details of what they're doing to do it well, that they just don't have a ton of time to also be branching out. Uh it does that inherently have to be true? I I don't think it's inherently has to be true, and I do think in theory, if you have a great design system, and you have a ton of consistency, and a ton of linters in terms of like it has to be used this way, all of a sudden your design system folks, your product designers can be just looking at the exceptions much more aggressively. That is where we're trying to get to at Imprint for what it's worth, where the the base case is just done by engineering using the the the stock design system, and product design is more working on the really complicated kind of versions of it along with extending the design system design system folks. It's not working that way yet though. Like it's still it's still a little bit tricky, but you know, as as like the folks deep in AI say, like kind of do assume this is like a quote-unquote skill issue, and that we will like get get to the other side of it, but I it's still a skill issue for for us. We're still figuring that out.

持久、高归属感团队的价值

>>: 与此相关的一点是,你写了——修改版的工程管理法则,一篇非常棒的文章。我们会在下方的节目说明中附上链接。我想强调其中的一条法则,你说——我引述你的话:“具备领域背景的持久、高归属感团队更加重要。”“我在 Uber 学到的最大教训之一就是,持久稳定的团队通过积累领域背景、建立同袍情谊,并在持续从事某项工作的过程中对该领域产生越来越强烈的归属感,从而能够创造奇迹。”这是在 Uber 的经验,大概是什么时候,2014到2015年左右,也就是10多年前了。而你说你觉得这依然非常相关,对吧?

英文原文

>>: One thing related to this is you you wrote uh revised rules of engineering management, a really nice article. We'll link it in show notes below. And one of the rules that I want to highlight, you say "We wrote durable high ownership teams." I'm quoting you. "Durable high ownership teams with domain context are even more important." One of my biggest lessons at Uber was that persistent durable teams work magic by accumulating domain context, building a sense of camaraderie, and feeling increasingly strong sense of ownership over an area as they continue to work on it. Now, this was from Uber, like what, like 2014-15, so like more than 10 years ago. And you're saying that you feel this is very relevant, right?

>>: 我认为这是建立可扩展组织的唯一途径。这很有意思,虽然这看起来有点显而易见,但如果你细究的话,它实际上有点像是一个非共识的观点。很多时候,你在一家公司,假设有 50 名工程师,你手头有一个对合作伙伴非常重要的项目。那个项目延期了。尽管仍然存在《人月神话》里的道理,但大家还是会说:“嘿,我们要多调派 15 个人来做这个关键项目。”而且,你知道,《人月神话》我想大概是 1980 年或 1984 年写的吧。

英文原文

>>: I think this is the only way to build scalable organizations. And it's interesting though, I think this is this seems kind of like obvious, but it's actually like a bit of like a a non-consensus take, if you will. And so, a lot of times, you're at a company, say there is 50 engineers, and you have a really important project for a partner. That project's late. There's still the mythical man-month thing, but like, "Hey, we're moving 15 more people to work on this key project." And, you know, the mythical man-month I I I want to say was written in like '80 '84.

>>: 1975年,1975。第二版是1995年。

英文原文

>>: '75, 1975. And the second version, '95.

>>: 那确实是很久以前了。所以——

英文原文

>>: And it's that that's a while ago. Um and so,

>>: 50多年前了。

英文原文

>>: More than 50 years.

>>: 我们知道这种做法是行不通的。所以,首先,当人们这么做的时候,很大程度上是在做表面文章,营造出一种竭尽所能的表象。

英文原文

>>: The we we know this doesn't work. And so, like first, like when people do things like this, a lot of it's like optics in creating the perception of doing everything possible.

>>: 确实。

英文原文

>>: Yes.

>>: 这样一旦目标落空,那就不是你的过错了。但事实上,这不仅行不通,还会破坏真正起作用的东西,那就是建立能够对各个领域负责的小组(pods)。因此,当我加入 Stripe 时,我接手了 Jorge 当时带领的团队,后来他调去了公司的另一个部门,我想是去负责 Connect 了。当时我手下有 30 个人,其中一位经理管着大约四五个人,然后我直接管着大概 23、24 个人。我做的第一件事就是:“好,可以组建哪些小组?”然后理清了我可以整合在一起的几个领域,由谁来负责这些领域。一旦我看到了进展,我就彻底不再去想他们,直到出了真正严重的问题,这样我就可以把精力集中在对我来说更重要的优先事项上,也就是那些解决不了的难题。这种方法非常奏效。在 Uber 时我也是这么做的。当我来到 Imprint 时,也是这么做的。在 Calm 同样如此。Carta 在我加入时已经是一家规模化运作良好的组织了,所以我在那里不需要做同样的事情。我——

英文原文

>>: So, that when you miss, it's not it's not your fault. But actually, not only does does it not work, it also destroys thing that does work, which is creating little pods that are able to own areas. And so, when I joined Stripe, I had, you know, I took over kind of the team Jorge was leading at the time, and he moved on to a different part of the company. I think to to lead Connect. And so, I had 30 people, and one manager who was managing like four or five of them, and then I was directly managing, say like 23 24 people. Um the first thing I did was like, "All right, what are some pods?" Um and figured out like some areas I could put together, who could own areas. And then, once I saw some progress, I just stopped thinking about them entirely till something went really wrong, so I could focus on the bigger priorities um for for me, which is like the problems you couldn't solve. This works so well. And so, at at Uber, I did the same thing. When I came into Imprint, did the same thing as well. Same um at at calm. Carta was like a really well kind of scaled organization by the time I joined it, so I didn't didn't need to do the same thing there. I

应对危机与关键路径

[Source label]: 觉得这招非常奏效。我认为如果你把这做好,大家做出的成果其实会比自上而下的命令更好,纯粹是因为他们理解得非常透彻,而且这能让你真正把注意力放在公司杠杆最高或最痛苦的部分。所以,是的,我认为这是一个奇怪的非共识观点,但它就是极其好用,只是从表面上看几乎总显得不对劲,这也是它很难落地的原因之一。比如面临一次合作伙伴发布,你会说:“嘿,我不会,我不会调动这些人。我要让他们留手头正在做的事。这非常重要。相反,在关键路径上的那个团队,我们要一起拼命干。但我们要咬牙硬扛过去。我们不会把所有人都拉过来,因为如果不这样做——”

英文原文

[Source label]: think this just works incredibly well. I think if you do this well, that people actually do better work than you will from top-down dictation, simply because they understand it really well, and it gives you the ability to actually put your attention on the highest leverage or most painful parts of the company. And so I yeah, I think this is a strange non-consensus take, but it just works incredibly well, but optically it almost always looks wrong, and that's like one of the reasons it's hard to do. Where you have like a partner launch, and you're like, "Hey, I'm not going to I'm not going to move these folks. I'm going to let them stay on what they're doing. It's really important. Instead, the team that's on the the critical path, we're going to work hard as hell together. But like we're going to burn to get through it. We're not going to pull everyone over, cuz if you don't do that

>>: 或者你在过去可能会做的是,特别是在某些有会议、招聘等各种事情的情况下,你会说,对于这个处于关键路径上的团队,我们帮他们免去所有那些废话。招聘、高校走访,你不需要参加全员会和所有这些事情,这样你就能全神贯注——顺便说一句,这其实比加人管用得多。

而且有时告诉大家:“听着,这将是为期两周的冲刺。任何能为此投入的人,请务必全力以赴,包括加时工作;作为回报,事后你可以休假,或者你知道,比如创造激励机制,把他们当成年人对待。”然后你说,大家经常会像——我知道在工作之外的生活中,有时你愿意为了这一件事承担一些麻烦,尤其是当你知道我日后会以某种方式投桃报李的时候。

英文原文

>>: or what what you might have done in the past is especially in certain uh where it was you had meetings, recruiting, all that, you would say like for this team on the critical path, we remove them from all of the BS. The recruitment, the university trip, you don't need to attend all-hands and all these things, so you can be has which actually, by the way, works so much better than adding people.

And and also sometimes telling people like, "Look, this will be a two-week push. Anyone who can commit to it, please do so uh including putting extra hours, and in return, you can take time off afterwards or or you know like you you create incentives and you just treat them as adults, and you're saying like can you often times people will like I know in my life outside of work, sometimes you you're okay taking a a thing for this one thing, especially when you know that I will repay you in kind somehow.

>>: 没错。

英文原文

>>: Yep.

>>: 如果你不这样做,实际会发生的情况是在一家真正处于成长期的公司里,每天都有危机。这意味着如果你把人调去应对危机,所有人每天都会面临危机。这会造成一种近乎崩溃的破坏感。所以我记得在入职 Stripe 一两年的时候和某人聊天。我们在讨论这个问题,他说 Stripe 截至当时的运作方式,打个比方,就像城墙上试图保卫城堡的人,他们总在奔向即将被攻破的地方,但他们根本无法兼顾所有地方,因为他们虽然跑得越来越快,但依然无法同时出现在所有位置。

而我们试图转变的比喻是,让许多人在许多不同的位置。这样在一个地方工作的人就必须守住那一处,但这意味他们不必四处奔波。这算是两种权衡,但要成为一家成功扩张且快速增长的公司,你确实必须进入一种模式,不再是同样的一批人同时四处救火,因为随着时间推移,那些人彻底会筋疲力尽。到了某个时间点,无论他们多么出色,都无法再应付这种覆盖面了——尽管我认为关于 AI 的疑问是,那个极限点是否比以往要远得多,但我不敢确定。我依然认为他们的注意力会在写代码的能力耗尽之前先耗尽。

英文原文

>>: And if you don't do that, the thing that happens is actually at a at a real growing company, there's a crisis every day. Um and that means if you rotate people to crises, there's a crisis for everyone every day. And it creates the sense of like devastation and so I remember talking with someone at Stripe one or two years in. We're talking about this and he's like the the way Stripe had run up to that point his metaphor was like it was like people on a wall trying to defend a castle and they were always running to the place where they're about to get like overwhelmed but they just couldn't be everywhere cuz they were they were getting faster and faster at running but they still were not everywhere all at once.

And what we were trying to do was switch this metaphor was like we had many people in many places. And so the people working in one spot had to solve that spot but it meant they didn't have to be everywhere. Those are kind of the two trade-offs but to be a successfully scaling company that's growing quickly you do have to get to a mode where it's not the same people running everywhere at once because those people just completely burn out over time and you there's a certain point where they just can't manage the coverage anymore no matter how amazing they are although I think the the question with AI is is that point much further than it was before but I I'm not sure if it is. I still think their attention runs out before their their ability to write code does.

产品竞争力与高管担当

>>: 还有最近关于 Dribbble 招聘归属团队的事,我一直在想的是,以 Slack 为例:有 Google Chat、Mattermost、Microsoft Teams 和 Slack。假设这四家是即时通讯市场的核心竞争对手,情况大家都非常清楚,而且还有 AI。作为创业公司,你也可以指示 AI 去模仿 Slack。有趣的事情在于:如果你这么做,AI 会复制代码 Slack 的界面,或者找开源项目。首先,背后有大量从未被记录在文档里的决策,只有 Slack 的人才知道,这些决策耗费了数年时间;如果你去构建它,只要规模足够大,你就会从并发、消息可达性平台等各种各样的环节中明白过来。

但抛开这些不谈,Slack 推出了 Slack agents,它与编码智能体实现了超级出色的集成,可以在 Slack 内部完成工作。它运行得非常漂亮,显然经过了深思熟虑。这是一个具备领域背景的团队,而且他们显然在幕后与 Teams 合作伙伴共同推进。我当时就在想:“等等。为什么其他竞争对手都没推出?为什么同样拥有优秀人才的 Google Chat 没有做?这些团队都具备这个领域的能力。”我认为就是从这里开始——单凭这一个例子,我就开始意识到,Slack 拥有这么多在岗员工大概是有其价值的。我敢肯定要是知道了他们在那里雇了多少人,我们可能会吓一跳。我知道从 Uber 的角度来看也是:“为什么 Uber 有这么多人?”但他们是在为此而努力,他们不仅能运转现有的业务,而且随着世界变化,他们还在不断重塑客户未来的需求。

其他公司似乎在智能体已经出现了一段时间的情况下,依然没有做出反应。他们就是毫无反应。Slack 不仅回应了,而且做出了客观上非常棒的产品。现在它变得可以被抄袭了,但当初你是怎么走到这一步的呢,对吧?

英文原文

>>: Also recently something that I was thinking about this with the Dribbble hiring ownership teams is just an example with Slack on how you have Google Google Chat you have Mattermost you have Microsoft Teams and Slack. Let's say these are four big competitors for the chat market and it's pretty well understood was there and oh and you have AI uh you're your startup you could also in instruct an AI to like copy Slack and here's the interesting thing you know if if you do the AI will copy Slack's UI and or find open source things. First of all there's a lot of decisions that have never been documented that are behind the scenes that people at Slack will know and they take the take years which if you build it you'll figure it out if you're big enough from the concurrency deliverability platforms yada yada yada.

But taking that aside Slack launched Slack agents which was a super sweet integration with coding agents and that do the work inside of Slack. It just works beautifully. It's been well thought out clearly. Like this is a team that has a domain context and they clearly been working behind the scenes with Teams partners. I'm kind of like, "Hang on. Why has none of the other competitors launched it? Why has Google Chat, who have amazing people as well? These are all people had that have the domain." And I think this is where I'm starting to this one example just started to realize like there is probably value in like Slack having all these people who are working. I'm sure there's we would be horrified of how many people work there. I I know it's from Uber like, "Why does Uber have this many people?" But they're working on this, but they're they're not only able to operate what they have, but they are they keep reinventing what customers will want as the world changes.

You know, the other companies seem to have not been responded even though agents have been here for a while. They just haven't responded. Slack has not only responded, they did something that is objectively good. And now it's copyable, but how did you get there, right?

>>: 有篇论文讲的是管理大英帝国的官僚规模,官僚机构的规模、官员的数量一直在增长,即便所管辖的领土在不断缩减。公司本身也存在这种固有的趋势,不断扩张并滋生官僚主义,带来更多的间接开销。所以有这样一种情况,公司有时纯粹是迷失了方向,丧失了实际推进的能力。

但我的推测是——我认为这在 Meta 的 Muse 工作上也是成立的——我的印象是,当真正有趣且优秀的产品问世时,总会有一两个与创始人、CEO、执行团队保持紧密联系的高度赋权之人,在强力推行它,并且能够做出痛苦且不受欢迎的权衡。这些可能涉及法律与公司之间的权衡,也可能是产品上的权衡。那些可能存在着神圣不可侵犯的做事规矩,而他们选择不按规矩办。所以我猜 Slack 内部也有某个赞助人。听着,大家都讨厌过分强调高管的作用,但我确实认为需要高管赞助才能真正赋权团队去完成困难的事情。

Imprint 大概在三四个月前从 Jira 迁移到了 Linear。我们在不到四周的时间里搞定了。

在我决定推行时,基本没人觉得这是个好主意。我们依然在不到四周内完成了迁移,现在大家感到非常庆幸。这解决了我们关于集中化任务管理的很多问题,让智能体能够确切知道任务在哪里、拉取任务、处理任务,真正实现了任务的统一等等。若没有它,我们当时极难管理各项任务的工作量。但在我推行之前,大概两百三十人里可能只有三个人觉得这是个好主意。而那一项我就是硬推下去了,我想现在大家会觉得:“哦,那是个好主意。”但他们以前并不这么认为。有时你确实需要有人愿意承担风险。然后反过来说,你接下来就需要对高管和其他资深领导者做出评判:他们让我们承担的那些风险是好的吗?

英文原文

>>: There there's some paper about the the size of the bureaucracy of managing like the the British kind of empire and the size of bureaucracy, the number of bureaucrats kept growing even as the territory getting managed kept shrinking. And there's sort of this inherent kind of thing where companies do just expands and create like bureaucracy and create like more kind of overhead. So there's something there where like sometimes companies have just kind of like lost the plot and their ability to actually move.

But like my assumption, if you I think this is true for the the Muse work on for meta, my impression is that when really interesting good products come out, there is one or two highly empowered people that are connected to the the the founder, the CEO, the executive team that are pushing it through and that are able to make painful trade-offs that are not well liked. And those can be like legal versus like company trade-offs. Those can be product trade-offs. Those can be there are, you know, the the sacred kind of elements of how things have to be done, not doing it that way. And so like my my guess is like for for Slack, there was some sponsor and look, people hate overemphasizing executives, but I do think executive sponsorship to actually empower folks to do something difficult.

Imprint moved over to Linear, you know, like three or four months ago from Jira. We did it in like less than than four weeks. And there were basically zero people that thought it was a good idea when I decided to do it. We still did it in less than four weeks and now people are really glad we did. It solved a lot of problems we had about having centralized issue management so the agents could actually know where tasks were, pull them down, work them, actually do kind of task unification, etc. We're having a really hard time managing workloads of tasks without that. But there were like maybe three people out of like 230 that thought it was a good idea before I did it. And that one I just, you know, pushed through and I think now people are like, "Oh, that was a good idea." But they just didn't think it was and sometimes you do have to have someone who's willing to take the risk. And then, you know, the flip side is you then need to judge execs and other senior leaders on are the risks they made us take good?

>>: 嗯。

英文原文

>>: Mhm.

>>: 所以,我认为迁移到 Linear 已经三个月了,现在已经没人再提 Jira 了,而且肯定没人对这次变动感到不满。大家对此非常满意。但反过来说,如果大家当时非常讨厌它,他们就应该合力想办法把我开除,对吧?但我认为很多时候人们并没有为此承担责任,这正是那种促成优秀产品诞生的、被高度赋权的高管赞助人的另一面。有时我们放任他们去做了极其愚蠢的——

英文原文

>>: And so, I I think three months into the Linear migration, I think, you know, no one talks about Jira anymore, but certainly no one's upset about the the change. People are really glad with it. But conversely, if if people had hated it, like they they should be like, you know, rallying to get me fired, right? But I think a lot of times people don't get held accountable to this and so that's the the flip side of that highly empowered executive sponsor that does make these great products. Sometimes we let them do incredibly boneheaded

高管的定义与晋升路径

……事情,而且不追究他们的责任。

英文原文

things and don't hold them to account.

>>: 这正好可以很好地过渡到谈谈高管。呃,你当过 CTO,这是高管的一种形式。你能告诉我,按你的理解,什么是高管吗?今天从一名工程师走到那个级别,职业路径是怎样的?比如,“好吧,我喜欢当高管这个想法。我喜欢能做决策,包括那些不受欢迎的决策,帮助他人,帮助公司。”如果有的话,旧的路径是什么,新的路径又是什么?

英文原文

>>: Which is great segue to talking about executives. Uh you've been CTO, which is a form of executive. Can you tell me what in your interpretation an executive is? And how what is the career path today to get to that level from an engineer like, "Okay, like I like the idea of executive. I like that to have be able to make decisions, including unpopular ones, helping people, helping companies." What was the old path and what's the new path, if there's any?

>>: 所以,我认为旧的路径是,你做了若干年的软件工程师——时间可能相当短——然后你进入管理层,接着你在中层管理中往上爬,然后你就升到了 CTO 职位。

英文原文

>>: So, I think the old path, you're you're a software engineer for some number of years, could be pretty short, then you get into management, and then you climb through middle management, and then you get to the CTO role.

>>: 中层管理,工程经理,资深工程师,总监。

英文原文

>>: middle management, engineering manager, senior engineer, director.

>>: 没错。所以,我认为这种方式存在很多问题。首先,这意味着最初被选拔进入管理层的人,往往不是最专注于工作的技术部分的人,因为他们一心想晋升到管理层;而且当时的选拔偏向确实偏向于那些能够做好运营的人,而这与技术方面不一定有很多共同点。通常,他们碰巧技术非常好,但当时并没有针对这方面的强烈选拔偏向。

但是,要成为一名高管,你确实必须成为一名优秀的官僚。这是有趣的挑战之一,我的很多工作都是激励机制管理。就是要明白:“嘿,如果我们推行这种绩效考核,它会以这种方式失败。”所以,我们就不应该那样做。我们应该改做另外这件事情。因此,如果你没有积累过充当官僚的实操经历,你其实就无法管理一个职能部门,因为管理一个职能部门很大程度上其实就是在扮演官僚。

英文原文

>>: Exactly. And and so, I think there are a lot of problems with that. First, it means that often the people that were selected for management initially weren't like the most focused on the technical pieces of the work, cuz they're trying to get promoted to management, and then the selection bias is really towards people that are able to operate well, which doesn't necessarily have a whole lot in common with technology side. Often, they happen to be really good technology, but there wasn't like a strong kind of selection bias for it.

But, you really do have to be a good bureaucrat to be an executive. And this is like one of the interesting challenges where a lot of my work is incentive management. It's knowing, "Hey, if we roll out this sort of performance review, here's how it's going to fail." And so, we just shouldn't do that. We should do this other thing instead. And so, if you haven't done the reps of being like a bureaucrat, you actually like can't run a function because a lot of running a function is in fact being a bureaucrat.

>>: 你是如何学会成为一名优秀的官僚的?

英文原文

>>: How did you learn you learn to be a good bureaucrat?

>>: 我……我曾是一个官僚,对吧?我是说,出于必然。在 Uber 的时候,并没有真正的评估标准。面试也没有什么规范。我在那里的时候,我们对于如何面试没有任何架构。所以,你必须为自己的职能部门全凭自己凭空摸索出来。而且,我们那时在做大量的面试,每次没能发出录取通函时,我都觉得太痛苦了,因为我面试了那么多次。所以,我必须把那套机制琢磨清楚。后来在 Stripe,Stripe 是一家在结构上更具凝聚力的公司。所以,我们确实有许多结构化的流程。然后我就参与了其中的很多工作,在那儿学到了很多。

英文原文

>>: I I was a bureaucrat, right? And so, I mean, out of necessity. So, at at Uber, there weren't like really like rubrics. There wasn't like an interview. We didn't have any structure how we interviewed when I was there. So, you had to make it all up yourself for your function. And again, we were doing tons of interviews, and each time we didn't give an offer out, I was like so pained cuz I was doing so many interviews. So, I had to figure that out. Um and then at Stripe, Stripe was like a much more structurally cohesive company. And so, we did have like a lot of structured process. And then I got to work on a lot of that and learned a lot there.

>>: 被卷入进去了。你跟上了节奏。

英文原文

>>: got got pulled into it. You picked up the pace.

>>: 100%。而且在我加入的时候,我认为很多结构运转得并不好。我算是努力去迭代并改进其中的一小部分,因为我们当时发展得相当快。所以,说真的,做这些中层管理工作,我认为确实教会了我如何成为一名优秀的官僚,而这正是成为一名高效高管的一部分。因为你刚好可以分配行之有效的流程,避免行不通的流程。思考有效和无效的激励机制,有效和无效的架构。你知道的,J Reed 的《看见犹如一个国家》(Seeing Like a State)——如果你没读过《看见犹如一个国家》,你简直不被允许待在硅谷——但它基本上是一本关于国家如何看待公民和成就,以及这如何塑造政策运作方式的书。这是同一回事。就像如果你从未当过官僚,你就不知道官僚是如何看待事物的。但同样,如果你只能当一个官僚,你就不知道任何事情究竟是如何运作的。不知道软件究竟是如何造出来的。所以这对你来说是非常有害的。

英文原文

>>: 100% And and a lot of the structure I thought wasn't working well at the point that I joined. I kind of like worked to try to iterate and improve little pieces of it cuz we were we you know, growing growing pretty quickly. And so, really, you know, working these middle management jobs, I think, did educate me on how to be a good bureaucrat, which is part of being an effective executive. Cuz you can just allocate processes that work and avoid processes that don't work. Think about incentives that work and don't work, structure that does work and doesn't work. You know, the J Reed seeing like a state, like you're not allowed to be in Silicon Valley if you haven't read Seeing as it like like a state, but it's basically um a book about how a state sees citizens and accomplishments and how that shapes how policy works. It's the same thing. Like if you've never been a bureaucrat, you don't know how to see things as a bureaucrat. But also like if you can only be a bureaucrat, you don't know how anything actually works. Don't know how software actually gets made. And so it's like very damaging to you.

技术与官僚能力的兼备

>>: 我理解得对吗?你的意思是说,要成为一名优秀的工程高管,比如工程 VP 或 CTO,你既希望在技术上出类拔萃,知道它是如何运作的,需要时能亲自动手,或者就一直亲历亲为;同时也希望成为一名优秀的官僚,能够管理好它,你两方面都想要。而你说的是,如果你走中层管理的路线,往往可能出现的情况是:要么你从来就不是个优秀的技术人员,要么等你升到那个位置时,你已经不再是了。所以你是个优秀的官僚,但不懂技术。但如果你直接从一名工程师、一名优秀的技术人员直接升上来,比如假设你明天进了一家创业公司,恭喜你,你成了 CTO,你将不会是一个优秀的官僚。

英文原文

>>: am I getting this right that you're saying to be a a good engineering executive, so VP of engineering or CTO, you want to be excellent at technology, knowing how it works, being hands-on if you need to or just be hands-on, and also be a good bureaucrat where you can manage it and you you want both. And you're saying that if you go out the middle management route, often times it it might happen that you either never were a good technologist or you stop becoming that by the time you get up there. So you're a good bureaucrat but not technology. But if you just go from like an engineer, a great technologist, straight up here, let's say like you're a startup tomorrow, congrats, you're the CTO, you will not be a good bureaucrat.

>>: 我认为完全没错。而且有趣的是,很多时候我认为一线管理者作为凭直觉行事的高管,比中层管理者更胜任,因为他们习惯于处理细节。所以他们能为团队或公司做出更好的决断。他们在工作的所有这些非官僚维度上的判断力都更好。但在工作的官僚维度上,他们的判断力却很糟糕。

因此,这就是为什么我认为当高管很难、为什么这是一条艰难的职业路径的原因所在:特别是在 2010 年代,你必须攀爬这些中层管理层级来学习这种官僚组成部分,那是获得足够规模来真正理解它的唯一方式。现在那些层级有点消失了。但有趣的是,这项工作的另一半现在受到了非常高度的重视——即更好的决策制定、理解实际的产品、理解实际的业务、理解软件是如何交付的,而在过去我们某种程度上淡化了这一点。

所以,我认为大家都说:“它是更容易了还是更难了?”我不认为它变得更简单或更难了。现在要成为一名官僚要困难得多——再说一次,这词带有负面涵义,对吧?但实际上学习如何运作一个职能部门是非常困难的工作。而且作为一名 C 级高管,你往往最终要管理三到四个职能部门,其中往往有你自己并不太了解的部门。

比如在 Imprint,在去年的大部分时间里,我都在管理客户运营团队,这不是我极其熟稔的领域。我有过一些接触,而且手下有一位出色的领导者。但我必须学会如何去管理它,而且我已经这样做了好几次了。在 Stripe,我管理过支持工程,这不是我自己亲自干过的事情。我管理过数据工程,这也不是我自己亲自干过的事情。

所以,你知道的,必须面对时你就会学会去以那种方式管理。要获得那些能在并不真正了解具体工作细节的情况下、学会去运作一个职能部门的工作,确实非常困难,但你能更长久地做一名更好、更注重细节的领导者。这正是我认为未来最好的高管是一线管理者的真正原因,因为历史上中层管理选拔的是完全不同的一套技能。你如何两者兼备?现在这极其困难,而过去它也总是以不同的方式充满困难。

英文原文

>>: I think that's exactly right. And it's it's interesting where often times I think line managers are better at kind of instinctual executives than kind of middle managers cuz they're used to working the detail. So they can make better calls for the team or the company. Their judgments just better on all these like non-bureaucratic dimensions of the job. But then their judgments terrible on kind of the bureaucratic dimensions of the job. And so this is why I think being an executive is hard and why it's a hard career path is that it was, you know, in the 2010s in particular, you had to climb these like layers of middle management to learn this kind of bureaucratic component of it and that was the only way to get scale to actually understand that. Now those layers are kind of gone. But the interesting thing is like the other half of job is now really emphasized in terms of better decision making, understanding the actual product, understanding the actual business, understanding how software ships in a way where we kind of deemphasize that. So, I think you know, people are like, "Is it easier? Is it harder?" I don't think it's like any easier or any any harder. It was It's a lot harder to become like a bureaucrat now, which again, like negative connotations, right? But this is like learning how to actually operate a function is really difficult work. And as like a a C-level, like you'll often end up running three or four functions, often one you don't know much about yourself.

So, for example, at Imprint, I was running the customer operations team for, you know, much of the last year, which is not something I am incredibly detailed on. I have like some exposure to and had like an amazing leader in place. But I I've had to learn how to do that and I've had to do that, you know, a number of times. Um at at Stripe, I was managing support engineering, which is not something I've done personally myself. I was running data engineering, which is not something I've personally done myself.

And so, you know, you learn how to run that way when you have to. It's really hard to get the jobs to learn how to like operate a function that way where you don't actually know the details of the work, but you get to be a much better, more detail-oriented leader for longer. And that's that's really where I think the best future executives are are line managers cuz middle management has historically selected for totally different set of skills. How do you get both? It's incredibly hard now and it was it was always hard in different ways.

中层管理的演变与现状

>>: 那么对于中层管理正在慢慢消亡,你怎么看?你同意吗?

英文原文

>>: And what's your take on middle management slowly dying? You agree?

>>: 现在当一名中层管理者绝对是一个艰难的时期,特别是如果你是在 2010 年代成长起来的。你在那种更多偏向赋能模式、更多偏向这种职能型官僚模式中被选拔和培养。而现在人们却在说:“我们不想要它,我们也不需要它。”因此,你算是升到了这个顶点,但你却无法迈出下一步,因为那些更多属于细节执行层面的其他技能过去被严重弱化了,而且大家改动了对你的考核标准,这对于那些被困在其中的人来说超级、超级令人沮丧。这绝对是人们目前面临的挑战,我不知道这一波高管将如何产生,但要走通这条路历来都很艰难。

英文原文

>>: It's definitely a hard time to be a middle manager right now, especially if you came up in the 2010s. You were kind of selected and trained in this more of this empowerment model, more of this like functional like bureaucracy model. And now people are like, "We don't want it and we don't need it." And so, you've kind of risen to this pinnacle, but you can't get to the next step cuz these other skills that are more kind of in the details execution really deemphasized and kind of people have changed the the rubric on you, which is like super super frustrating for folks who kind of get trapped by that. That's definitely the the challenge that folks are in now, and I I don't know I don't know how this wave of exacts are going to happen, but it's always it's always been a hard road to get.

>>: 嗯,而且我确实想问你,有两个人向我寻求建议,我会把他们俩的故事都分享出来,你可以判断它们是相似还是不同。一个是一家公司的工程负责人,手下大约有七个人向他们汇报,正在想:“嗯,我想知道我的未来会怎样,因为我看到了关于这种中层管理的讨论。”另一个是来自另一个……的故事。

英文原文

>>: Well, and I I do want to ask you a two people asked me for advice that I'm I'll share both of their stories and you can decide if they're similar or different. One is a well head of engineering who has about seven people reporting to them at a company and was thinking, "Hmm, I wonder about my future because I'm seeing about this middle management." The other one was a story from another

中层管理的职业陷阱与重新掌握技能

工程负责人,手下有三位工程经理向其汇报,还有三位个人贡献者(IC)直接向工程副总裁汇报。他们一直在转向 AI 转型,部门也在做一些其他事情。工程副总裁对他们的工作很满意,但他们处在工程副总裁之下,这个人也在琢磨,比如,“嗯。”两个人都在想:“我是不是陷入了一点职业陷阱?”

他们让我来问问你。你有很丰富的经验。你能给他们建议什么策略,来弄清楚什么样的职业路径可能适合他们,弄清楚他们可能想要什么,什么是可能的?而且同样,我认为在两种情况下棘手的地方在于,两个人都花了不少时间在中层管理上。并不是说他们没有技术能力,但你知道,他们走过这条路径,而且之前很清楚接下来要去哪里。两人的下一步原本都是工程副总裁,但在他们现有的公司这显然不会发生,或者可能性很小,所以……

英文原文

head of engineering who has three EMs reporting to them and three ICs reporting to the VP of engineering. They've been shifting to AI transformation and and the and department also doing some other things. Uh the VP of engineering is satisfied with their work, but they're under the VP of engineering and this person also wondering like, "Hmm." Both people are wondering, "Am I in a bit of a career trap?"

And they asked me to ask you. Well, you you have a lot of experience. What uh tactics would you be able to suggest to them to figure out what career path could be for them to figure out what they might want, what is possible? And again, I think the tricky thing in both cases, both people have spent a bunch of time in middle management. It's not that they're not technical, but you know, they they had this path and and it was pretty clear where they would go. Next would be VP of engineering for both of them, but in their current company clearly will not happen or unlikely, so

>>: 中层管理的日子现在很难过,对吧?这些职位的竞争大得多。因此,我认为我自己觉得非常有回报的事情,就是重新深入到编写软件的细节中去。所以,当我离开 Carta 时,我的团队有 250 人,大概是这个数字。当我加入 Imprint 时,我带领的团队我想是 25 人。

所以对我来说,这有点像一个真正重新掌握技能的独特时刻。嗯,如果你身处管理层,我认为现在你要么得重新钻进细节里,要么世界正在发生如此激烈的变化,以至于你在 3 年后,你所熟知的这个专业将不再具有价值。

我认为你必须做出某种决定,比如我是现在退休,还是重新掌握技能?我也考虑过这个问题。就像我,你知道的,在 Carta 时,我其实完全可以直接不干了,对吧?这是,这是,这是我想要的吗?但这不是我想要的,对吧?我真的还想继续参与其中。我真的由衷相信,我们的工作方式在过去一年里发生了翻天覆地的变化。它并不是在所有地方都变了。还有很长的长尾需要很长时间才能赶上。

但是在我和团队工作的地方,它改变了非常多。对我个人而言,这也有趣得多。所以,首先我认为必须对后退一步或横向移动持某种开放态度。大家现在想要的东西非常不同,你必须保持开放,去从不同的角度看待它。所以,我认为回到一线管理岗位,举个例子,实际上比中层管理要具有教育意义得多。用于一线管理和编写软件的工具是如此之好。而用于人员编制规划或做绩效评估的工具基本都很糟糕,对吧?比如针对这些事情的所有大语言模型(LLM)应用都不好用。所以,我确实认为你现在在中层管理中会错失很多。我会努力想办法走出来。但想想我在 Imprint 招过的一些人,脑海中浮现的一个人是 Jasmine,我曾在 Carta 和她共事过。她过来了,她被聘为副总裁,但她是一个直接招聘或管理团队的副总裁。所以,她是一个一线经理。她是一个一线经理,一个非常有经验的一线经理,一段时间之前还在 Mux 领导工程,而她来这里做一线管理。她正在编写极其大量的软件,这在 Carta 她是绝对不会去做的,因为她根本不可能抽出时间来做。在 Mux,她当时也太忙于管理整个职能,而无法真正深入到编写的细节中。

那些愿意真正退回去亲自动手的人是如此有价值,如果你是这样的人,你必须让大家知道,因为否则大家会以为你永远不会接受那样的机会,但我整天都愿意多招一些这样的人。

英文原文

>>: It's a hard time in middle management, right? There's a lot more competition for these roles. And so, I think what I found personally very rewarding is kind of getting back into the details of writing software. And so, when I left Carta, my team was 250, maybe something like that. When I joined Imprint, the team I was leading was I think 25.

And so, for me this is kind of like a unique moment to actually reskill. Well, if you're in management, I think right now either you have to like get back into the details or the world is changing so radically that like you the profession you know will not be valued in 3 years.

And I think you sort of have to decide like am I retiring now or am I reskilling? And I I thought about that, too. Like I, you know, at Carta it's like I could just I could just be done, right? Is this Is this Is what I want? But it's not what I want, right? I I really want to still be a participating. And I I really genuinely believe the way that we work has radically changed in the last year. It hasn't changed everywhere. There's like a long tail that's going to take a long time to catch up.

But in the places I work, it's changed a tremendous amount. And for me personally, it's a lot more fun. So, first I think there has to be some like openness to like taking a backwards step or a lateral step. Just what people want is very different and you have to be open to like getting a different like look at it. And so, I think going back into like a the line management position, for example, is actually much more educational than a middle management. The tools for line management and writing software are so good. The tools for head count planning or doing performance reviews are are basically terrible, right? Like all LM applications for these things are not good. So, I do think you're missing a lot in middle management right now. I would I would try to find my way out of it. But thinking a little bit about some folks that I hired at at Imprint, one of them that comes to mind is Jasmine, who I worked with at Carta. She came over and she was she she was hired as a VP, but she was a VP that was hiring or managing a team directly. So, she was a line manager. She was a line manager, a really experienced line manager, and was running engineering at Mux some some time ago, and she came in to to line manage. And she's doing just a tremendous amount of of software, which she would have never done at Carta cuz she could have never gotten time to do it. And uh Mux, she was also like way too busy like running the function to actually be in the details of writing.

Those people that are willing to actually go back and get their hands on to it are so valuable and if that is you are, you have to let people know cuz otherwise people think you would never take that opportunity, but I would hire more people like this all all day long.

>>: 你知道我们在 2010 年代讨论过什么,在零利率时期(ZIRP),工程师们如何变得有点太习惯于“哦,对,我的公司和经理是来满足我想做的事情的。我想做平台。不要做产品,抱歉,即便业务需要它,这也根本不适合我。你知道的,我宁可辞职”,有时他们真辞职了。他们确实这么干过。我在想,管理层是不是也有一点这种情况,比如听着,我再次申明我不是想对这些人影射太多,但通常有些人是这样:“我一直在走这条路。我以为我很快就会成为工程副总裁,我也想达到那个位置,但那是行业想要的吗?那是其他公司想要的吗?不,他们现在想要的是非常出色的,比方说,一线经理。”

英文原文

>>: You know what we're talking about in the 2010s on the Zarp how engineers got a got a little bit too used to like oh yeah my my company and manager is here to do what I would like to do. I would like to do platform. No no product sorry even if the business needs it just just not for me. You know I'd rather quit and sometimes they quit. Like they did. I wonder if there's a little bit of this with management where like look again I don't mean to imply too many things for these folks, but generally some of I have been I have this path. I I thought I would be VP of engineering soon and I I want to get there, but is that what the industry wants? Is that what the other companies want? No right now they want really good let's say line managers.

>>: 是的。而且要么……

英文原文

>>: Yep. And either

>>: 类似于那些工程师,我认识的最佳工程师,他们会把自己的自我放在次要位置,当业务说“看,我们需要构建产品”时,他们会说“看,我精通平台。你知道吗?让我尽我所能成为最好的产品工程师”。我也觉得你也是这样,你手下曾有 250 人,我猜你拥有薪酬、股权、地位。

然后你去了知名度没那么高的初创公司,当时还没有那么知名的品牌。承担小得多的团队、小得多的责任。你把自尊留在了门外,如果你懂我的意思的话。然后你学到了多得多的东西。

英文原文

>>: similar to those engineers the best engineers I know they kind of put their ego on the back and when the business said like look we need product to build they're like look I'm great at platform. You know what? Let me be the best product engineer I can be. I felt with you as well that you you know you had 250 people I assume you know compensation equity status.

And you went down to lesser known startup with not as a well known brand yet. Or at the time taking a lot smaller team smaller responsibility. You let the ego at the door if you you know what I mean. And then you learned so much more.

>>: 是的,我认为在很多方面这对我来说就是一个好得多的局面,所以有很多方面并不是那种“哦,这是一种打击”。我真不是那么想的。这对我来说是完美的情况,因为我明确知道自己想要的是回到细节中,重新学习在当前时代如何编写软件。

我认为这将是让我职业生涯长青的钥匙。而且,这也只是有趣得多,所以对我来说它更让人充满干劲。而且我一直都是一个有点被哄骗着进入管理层的人,回到那个关于蛋的故事,他们只是需要一个经理,所以我就答应了。

英文原文

>>: Yeah I I think in in a lot of ways it was just like a much better situation for me and so like there are a lot of pieces that weren't like kind of oh like this is a hit. That's not really how I thought about it. It was the perfect situation for me cuz what I knew what I wanted was getting back into the details relearning how to do software in the current age.

That's what I believe is going to be the unlock to kind of the longevity of my career. Also though it's just like much more fun and so like to me it's just like much more energizing. And I I've always been someone who kind of got tricked into management, going back to the egg story, where they just needed a manager, and so I I said yes.

>>: 你打那以后就一直被哄骗着。

英文原文

>>: You've been tricked ever since.

行业的变迁与 TLM 角色

>>: 嗯,然后他们设了一个总监,这样在收购谈判中看起来就好像他们有个总监,好让情况更体面,但我根本不知道后来如何做直接管理。我只是——他们只是在纸面上需要一个总监。嗯,所以,你知道,不过他们人很好。所以,对我来说这正是我想要的,这也是一个独特的机会。但我认为对很多人来说,有一种行业背叛了他们的感觉,觉得这是他们努力付出后应得的东西。问题在于,他们说得没错。他们确实工作极其努力,但规则已经变了。因此我认为在某些时刻,世界看起来非常稳定。

而且我们的行业看起来非常稳定。我认为在 2010 年代,我们忘记了我们的行业其实是非常动荡的。我们的行业在过去每个十年里都发生了惊人的变化。事物跟前一个十年相比就是彻底不同。

我们有点忽视了这一点。我认为在极其稳定的时代成长起来的人,有时记不得这一点。因此我确实认为我们必须愿意做出横向移动。我们必须愿意保持一点谦逊。但是,如果做实际的工作——即对公司真正重要的事情——被当成了谦逊,那我们有点忘了我们在这里是干什么的,因为我们拿薪水真的就是为了做对公司有价值的事情,对吧?他们并没有——这些公司雇佣我们并不是出于娱乐导向。

英文原文

>>: Um and then they made a director, so it looked like they had a director in the acquisition conversations, so they they was more palatable, but I didn't know how to line manage later on direct. I just They kind of needed one on paper. Um so, you know, uh very kind of them, though. So, for for me this has been kind of what I wanted, and this has been like a unique opportunity. But I think for a lot of folks there is this sense the industry has betrayed them, and that they're owed something that they've worked for. And the thing is, like they're right. Like they have worked incredibly hard, but the rules have changed. And so I think that at certain moments the world looks very stable,

and our industry looks very stable. And I think in the 2010s we forgot that our industry is actually very volatile. Our industry has changed just a staggering amount in the last every decade. Things are just radically different than they were in the decade before.

And and we've sort of like lost sight of that. And I think that people that kind of came up in the era of a lot of stability don't remember that sometimes. And so I do think we have to be willing to kind of take lateral moves. We have to be willing to to be a little bit humble if But if if doing the actual work, that's like the thing that matters to the company is humility, then we've sort of like lost lost track of what we're doing here, because we really do just get paid to do things that are valuable to the companies, right? Like they don't There's no like entertainment orientation to why these companies employ us.

>>: 是的。那 TLM(技术主管经理)角色呢?这是我们曾经宣告消亡的一个角色。

你和我曾经都宣告它消亡了,说它是一条死胡同。它确实存在,但这还是在——你知道的,就像那些被分配了一个非常小的团队去兼任管理的技术主管。我们在零利率时期(ZURB)很明确地认为那只是职业死胡同。如果有你的丰富经验,我认为你也明确指出那是一个陷阱。我想你写过那篇文章。你现在怎么看这个角色?

英文原文

>>: Yeah. What about the TLM role, tech lead manager? This was a role that we declared dead.

You and me both declared dead as a as a dead end. It's is there, but this was back in, you know, like the the tech leads who gave who are given a very small team to manage as well. And we we were clear like in in ZURB that that is just a career rut. And if your experience is great, I think you all you also made it clear that it's a trap. I think you have that article. What do you think about this role now?

>>: 挺有意思的。它——它仍然是一个陷阱,但它是一个需求量很大的陷阱。因此,

英文原文

>>: It's funny. It It's still a trap, but it's a highly demanded trap. And so,

管理扁平化与技术管理者

而且我认为在很多情况下,根本没有办法,根本没有其他选择。所以,与其说这是一个陷阱,不如说现实情况就是这样。因此,我认为在很多公司里,管理层级正在被扁平化。

英文原文

and I think in many cases there there's no way to actually There's no alternative. So, kind of it's it's less a trap than simply what's there. And so, I think in a lot of companies management is getting flattened.

>>: 所以,我们开始看到,比方说一位总监手底下管着一群技术负责人(tech leads),整个组织大约有30人,各处都是技术负责人。

英文原文

>>: So, we're starting to see like a director, let's say, have a bunch of like tech tech leads and like a org of like 30 people of tech leads here and there.

>>: 没错。我认为你看到的基本上是两种模式之一。一种是你看到确实有工程经理,但他们管辖的范围大得多。因此,他们实际上对个人的亲力亲为程度比以前更低,因为他们现在可能要管12、13、14个人,而以前管的大概是四到八个人。然后我们还看到,有些总监直接管辖技术主管经理(tech lead managers),而不是管这些一线经理。不同的公司在尝试不同的做法,但我认为这就是我目前看到行业正在寻找的人才类型。

而且我确实要说,我们在 Imprint 招到的一些最优秀的人才,就是那些之前处于更纯粹的管理角色、加入进来但非常渴望写软件的人,他们在兼顾这两者方面做出了惊人的成绩。想找到这类人很难,这就好比你去面试他们,看他们是否能成为优秀的工程经理(EM),然后再问一句:你是不是因为不能写更多软件而感到沮丧?你想要的其实正是这样的人。但这很难,你知道,这并不是我们以往面试他们的方式。我觉得我们只是碰巧找到了几位优秀的人才。但那确实是我们真正想要的角色。这又回到了之前的那点:你想要的是有能力处理官僚事务、但自己并不想去做的人。

也就是拥有那种能力,但没有那种渴望,因为那些正是我如今认为极其高效的人。他们可以在需要时运用那种能力,但他们默认的选择其实是去写软件,而那才是大部分价值真正所在的地方。

英文原文

>>: Yep. And I think you're either seeing kind of two models. You're seeing that there are engineering managers, but they're managing much larger scopes. And so, they're actually like less kind of hands-on to the individuals than they were before cuz they're managing, say, like 12, 13, 14 people before instead of like, you know, like four to four to eight. And then we're also seeing kind of directors who then managing tech lead managers instead of managing kind of these line managers. And different companies are trying different things, but I think this is where I see the industry kind of asking for folks right now.

And I do say like some of the best folks we've hired at Imprint have been folks that were in like more pure management roles that came in but really wanted to be writing software and have just been doing an amazing job of kind of like doing a blend of both. It is hard to find those folks where it's almost like interview them to be a great EM and then like do do you just get frustrated you're not writing more software? It's really that person. It is kind of what what you want, but it is hard, you know, not how we've been interviewing them so far. I don't think we we've just found a few great folks. But that that is the role that we really want. And again, it kind of goes back to this thing where you want people who have the capability to do the bureaucratic parts but don't want to.

Like that the capability but but not the desire cuz those are really the folks that I see super effective these days. They can use that when they need to, but they default to actually writing like software, which is really where most of the value is.

写作、行业影响与 AI

>>: 作为最后一个话题,我想问问你平时是怎么写作的。我是说,你一直是一位如此高产的作者。你依然……我真的很喜欢你的博客。每当有新文章出来,我都会去看。还有,大家也可以订阅,我订阅了一份邮件,它确实会直接发到我的收件箱里。你是如何对待写作的,以及你怎么看待 AI?还有,对于现在有大量的 AI 写作正在进行,你有什么看法?不仅仅是我们都知道的 LinkedIn 上的社交媒体内容,还有一些在 AI 出现前从不用 AI 写作的作者,现在也开始稍微用一点了。

英文原文

>>: As closing topic, I I wanted to ask you about how you write. I mean, you've been such a prolific writer. You still I I I I really enjoy your blog. Whenever there's a new article, I I check it out. There's also uh you can subscribe There's an email that I subscribed to, and I actually get it in my inbox. How you approach writing and what you think about AI? And also, what is your take on There's a lot of AI writing going on, not just for social media on LinkedIn, we know that, but also for some authors who before AI, they didn't write with AI, but now they're starting to a little bit.

>>: 我在网上的个人博客上写了大约20年,我在2007年创立了《Irrational Exuberance》。然后,在接下来的一年里,我开始写它的时候其实大概是五月或六月之类的。所以,我快迎来这个差不多20周年的纪念日了。

当我刚开始写作时,我基本上只是想弄明白如何通过社交网络为自己争取到一份工作。但我写了大量的教程,就类似于“我是怎么做这个的”。那是一个不同的时代。如今这类事情你只需要去问 AI,比如“我该怎么做某某事?”它就会为你量身写出一篇极好的教程,或者干脆直接帮你做好了,对吧?后来,随着我开始在 Uber 工作,我开始多写一点我在超大规模(hyperscale)环境中所学到的东西。

再后来,当我在 Stripe 写作时,它真正迎来了爆发,因为我觉得 Stripe 是一个既有很多东西可学、又真正热爱写作的地方。那对我来说真的激发了我的工作热情。

然后,我写了我的第一本书,算是我在 Stripe 所写内容的集大成者,即《An Elegant Puzzle》,接着就有了很大的势头。我想总共写了四本书。可能至少十年内不会再写新书了,也许永远都不会再写了。但我认为这对我来说真的是一种彻底的改变。我觉得很多人认识我——其实认识我的人也没有那么多——但当人们知道我时,完全是因为我写的那些书或者博客。我确实坚信,写作是我们作为个体能够切实改变行业格局的一种独特方式。我认为当你做到了这一点,就会有一些小成果显现出来。比如对你来说,就像那个三峰(tri-modal)薪资分布的观点,对吧?那首先是一个令人难忘的名字,这很有帮助。但同时我认为那也是一个非常重要的观察,很多人以前并不理解。我认为你在人们如何对待薪酬方面改变了很多人。

然后 Patrick McKenzie 有关于谈判方面的作品。

英文原文

>>: So, I've been writing for about 20 years on online in my blog, and I founded Irrational Exuberance in 2007. And then, you know, in the next year, I actually might have been like May or June or something when I started writing it. So, I'm getting close to this 20-year kind of anniversary.

And that when I first started writing, I was simply trying to figure out how to like network my way into a job, basically. But I did a ton of tutorials, just like, "Here's how I did this." And this was a different era. Now, the sort of thing that you would just ask, you know, an AI, like, "How How do I do X?" And it would write a great tutorial just just for you, or maybe just do it for you directly, right? Then, as I started working at Uber, I started writing a little bit more of like the things I've been learning in hyperscale.

And then, it really took off when I was writing at Stripe, cuz I think Stripe was a place that both had a lot to learn, but a real like love of writing. And that to me like really energized my work.

And then, um wrote my first book, kind of the culmination of the things I'd written at Stripe and Elegant Puzzle, and then got a lot of momentum. I think a total of four books. Probably not writing another book for at least a decade, may maybe not ever. But I think it's just been It's been so transformational for for me. I think like so much of like when people know me, which is not that very often, really, but like when they people know me, it's exclusively from the books that I've written or or or the blog. And I really do believe writing is like unique way that we as individuals can actually change the shape of the industry. And I think when you've done that, there's like little things that kind of pop up. So, for you, like the the tri modal kind of like salary piece, right? And that is first like a memorable name, that that helps. But also like I think was like a really important observation that a lot of people didn't understand. I think you've you've changed a lot of people in how they approach compensation.

And then Patrick McKenzie has his work on negotiation.

>>: 谈判。那份影响力可能会为全世界的人们创造极大的财富。

英文原文

>>: Negotiation. So, impact will probably create so much wealth for people in the world.

>>: 我想他可能会试着去追踪自己在这方面创造了多少财富,但我不太确定现在是否还是这样。但就我的书而言,我真切地认为我改变了这个行业,特别是《Staff Engineer》,我认为尤其是像 Staff Plus 这样的概念,那本书创造了 Staff Plus 这样一个概念,对吧?还有其他一些我认为不那么容易被直接引用、但也确实发挥了作用的东西。我在任何一家公司的日常工作中,都绝不可能以这种方式去影响整个行业。

英文原文

>>: think he might try to track how much he's he's created on it, but I'm not I'm not sure if that's still true. But for for my books, I I really think I've changed the the industry um with um I think staff engineer, I think in notably, I think like the staff plus kind of concept, that that that book created staff plus as like a concept, right? And there's other things that I think are like less like quotable, but have mattered. And there's just like there's nothing I could have done in my work in any company that could have impacted the industry in this way.

>>: 影响了这么多人,而且带来了如此积极的作用。我记得《An Elegant Puzzle》和《Staff Engineer》这两本书我都读过,并且从中获得了很多指导。

英文原文

>>: This many people and and so so positively or I I remember the both the elegant puzzle and staff engineer. I read it and I took I took a lot of guidance from it.

>>: 这真的是太有力量了。然后我想到了用 AI 写作,我花了20年的时间,投入了几万个小时来创作、书写这些内容。我在写作上并不是极其注重技巧,我的意思是,我是真的试图把想法表达出来,而不是试图写出所谓最完美的博文。在写出辞藻华丽的博文方面,我从来都不是精雕细琢型的。我一直只是想把这些想法写下来,落到某个地方。

英文原文

>>: And that's just so powerful. And then I think about writing with AI and I I've spent tens of thousands of hours over 20 years creating this, writing this stuff. I'm not like super craft oriented in my writing, by which I mean I really trying to get ideas out where I'm trying to write like the best blog post. I've never been craft oriented in terms of writing great blog posts. I'm always just trying to get the ideas out written somewhere.

>>: 我觉得我喜欢你写作的地方在于,里面有非常一针见血的想法。这不在于写作本身。就像你的写作,我会说你是一位不错的作者,读起来很顺畅,但并不是说我仅仅因为读起来愉悦才喜欢它。而是那个观点展现了出来,摆在那里,它促使我去思考;我之所以思考,并不是因为你呈现它的方式。再说一次,呈现方式很好,但真正打动我的是那个想法本身。

英文原文

>>: I think I like what I like about your writing is there are very punchy ideas. It's It's not about the writing per se. Like you're you're I would say you're a decent writer. It's enjoyable, but it's not it's not like I don't like it because it's enjoyable to read. The idea comes and is there and it it it makes me thinking and I I'm not thinking because of how you presented it. And again, the presentation is fine, but the idea is what brings me home.

>>: 是的,那是相当极简的写作。而且那……

英文原文

>>: Yeah, it's pretty minimal writing. And that that's

>>: 你的有些文章很简短。

英文原文

>>: Some of your articles are short.

>>: 是的,甚至与篇幅无关。我在写作中比你啰嗦得多,这一点你是知道的,但这只是我的自然风格。而在你的文章里,完全不必如此。比如我喜欢你的地方在于,在没有什么多余可讲的时候,你在文字中毫不废话,那样就很完整了。

英文原文

>>: Yeah, it's not even about the length. I'm way more wordy in my writing than than you are, which you will know, but it's just my natural style. But in yours, it it it doesn't have to be. Like what I like about yours, you don't waste a breath in your writing when there's not much and that and that's complete.

>>: 没错。然后我会去想那些事,我整理出的所有东西,我试图去改变人们观念的所有事情。对我来说,用 AI 去写作简直就像是把这一切都抛弃了。所以,我认为,你看,我从来没有做过那种试图吸引庞大读者群的新闻通讯(newsletter)。更像是如果你想读我写的东西,这就是我写的内容。它不像对你那样是我的业务。但即便如此,我也聚集了一定数量的读者,我觉得他们会读我写的东西,这真的非常有影响力。而且我知道,如果我写了某些内容,往往下周就会有数百家公司在讨论其中的观点。处于这样一个位置真的是一种莫大的荣幸。如果我只是去写一些粗制滥造的内容(slop),那我就是在自毁前程。而且那是我永远无法再找回来的东西。我不可能再花另一个20年去重新做这件事,对吧?因此,当我想到自己花费二十年时间悉心建立起来的优势时,我为什么要把它抛弃呢?所以,如果我没有什么想说的,我就什么都不说。我觉得我并不是在试图去炮制内容之类的事。白白把这一切全都扔掉,会是一个极其令人痛心的时刻。如果我是把它扔掉……

英文原文

>>: Yeah. And and then I think about that, um all the stuff I put together, all of the things I've tried to change people's minds on. And to me, like writing with the AI would just be like throwing that away. And so, I think, you know, I like I've never done a newsletter trying to collect like a huge number of folks. It's more if you want to read what I'm writing, this is what it is. It's not like my business like it like it is for for for you. But still, like, you know, I've gathered like some number of folks and like they I think they read what I write and that's really powerful. And I I know I know if I write something, like often there'll be hundreds of companies talking about the idea there in the next week. And that's just such like a privileged spot to be in. If I just wrote slop, I would just throw it away. And it it it's I can never get it back. Like I'll never I'll never spend another 20 years doing this, right? And so, when I think about the advantages I have that I've kind of carefully built over like two decades, why would I throw that away? And so, if I don't have something to say, I just don't say something. I'm not trying to manufacture content or something like that, I think. It would be such like a devastating moment to throw that all away for nothing. Like if I was throwing it

写作、真实表达与 AI 内容

……为了某种目的而放弃,我也许还能勉强接受。但我觉得,如果去写 AI 垃圾文章,那纯粹就是一种毫无补偿的损失。因为我觉得根本没人会读,而且我还会毁掉自己花了这么长时间积累起来的这一切。我猜你也是这么想的,对吗?

英文原文

away for something, I could maybe get there. But I think it would just be like an uncompensated loss if I were to write AI slop articles. Like I don't think anyone would read them. And then I would throw away this this thing that I've spent so long putting together. And and I assume that you feel the same way. Is that true?

>>: 是的。我觉得对我来说,写作就是我思考的方式。当我写草稿时,我经常——其实我的很多社交媒体活动都是这样,我以前从没谈过这个,但有时会有人问我:“你的社交媒体策略是什么?”我有大量的关注者,但这只是持之以恒做事的副产品。在我看来,老实说,就是去研究和思考,我几乎是全职或接近全职地在思考行业里正在发生的事情,以及我和工程师们交流的内容。通常发生的情况是,我开始写关于某个话题的草稿。有了这个想法后,我就把它发成推文。就像在另一个窗口里发出去,然后我继续写草稿。后来回头看,它已经受到了关注,因为我想这是个有趣的想法。

英文原文

>>: Yeah. Well, I I I feel that to me, writing is how I think. And when I write the drafts, I often like a lot of my social media activity actually and I never talked about this before, but sometimes people ask me, "What is your social media strategy?" I have a large number of followers, which is just a byproduct of doing things consistently. And in my case, honestly, it's researching and thinking about like I I almost do full-time or close to full-time thinking about stuff that's happening in industry and that I'm talking with engineers. Usually, what happens I start writing a draft about something. And I have this idea. I put it in a in a tweet. Just like in another window and I keep writing it. And then later look back it's now got it's gotten traction because I guess it was an interesting idea.

>>: 没错。

英文原文

>>: Yep.

>>: 有时它会有争议。有时我其实是在测试它们。我不太确定的时候,就先抛出去。我称这些有点像“脑子走神时的胡思乱想”(brain farts),这也不完全准确,因为我确实在思考这些事,但我其实并不怎么在意它们本身。实际上,我更感兴趣的是由此引发的对话。所以,有时当我回头看时它会分散我的注意力,但它随后会让我的想法成型,而我的很多想法都是关于当下发生的事情的观察:“你们看到了这个吗?”这就会引发对话。所以对我来说,这就是写作。而在 AI 方面我的发现是,曾经有一段时间很流行把你的所有文章喂进去,做一个可以跟人对话的机器人。有人做了一个 Pragmatic Engineer 机器人,我并不喜欢去用这种东西。但我还是试了一下,结果几乎令人啼笑皆非,因为举个例子,我的观点一直在变。我的看法在变,而它吐出来的却是我几年前说过的话。我知道我们之前聊过 TLM。如果有 Will Larson 机器人,它肯定会说 TLM 是个陷阱。而现在我们讨论的是,其实事情远比这复杂得多。我告诉大家,别把自己的思考……每当我在 LinkedIn 上看到有人发帖,特别是一些同行专业人士,或者他们给我发私信时,他们常常是用自己真实的声音评论。我就会说:“你为什么不直接以不完美的方式写出来呢?那才是真实的你。我喜欢真实的你。”我不喜欢那种毫无生气的千篇一律。我也不喜欢 AI 让成百上千万人用同一种声音说话,而现实中成百上千万人在交谈时,是有着成百上千万种各不相同声音的。

英文原文

>>: Uh sometimes it's controversial. Uh sometimes I actually test them up. I'm not quite sure. I'll just put it out there. I call these a little bit like brain farts, which is not entirely true cuz I am thinking about things, but I don't really care about them. And and I I've actually more interested in the conversation. So, sometimes it then distracts me when I go back, but it then makes my ideas form and and a lot of my ideas are about observations as this happening. Are you seeing this? Which just generates conversation. So, and to me that is that is the writing. Like and what I found with AI, there was a time where it was popular to like feed all your writing and have a bot that you can talk to. And some people wrote a pragmatic engineer bot, which I I didn't like the idea to use. But anyway, I still tried it out and it was almost hilarious because for example, it would my opinions change all the time. My views change and it would kind of spit back something that I said, you know, like years back and I I know that we were talking about TLM. If if you had a Will Larson bot, it would say TLM is a trap. And now we're talking about like, well, actually there's way more to it. I I I I tell people like don't put your thinking at Whenever I see someone write on LinkedIn, especially fellow professional or or they message me, I'm they often comment with their real voice. And I'm like, "Why don't you just write that imperfect? That's you. I I I like the you." And I don't like the sterile thing. And I also don't like how with AI, it's got the same voice for millions of people using it, whereas millions of people talking have millions of different voices.

影响力来自质量与深度而非堆砌数量

>>: 这引出了一个我认为与此密切相关的问题:很多人认为要取得成功,就必须去撰写内容。但他们其实根本不想写内容。于是他们就会想:“哈,我真的很讨厌写内容,但为了升职,为了找到下一份工作,我必须写。我该怎么做呢?”答案显而易见就是 AI,对吧?我觉得这是我很长一段时间以来一直想劝阻大家的事情。我写过一篇文章,具体名字我忘了,大概是《如何成为一名技术影响力者》(how to be like a tech influencer)之类的。

英文原文

>>: So this connects to something I think is really related to this, which I think is a lot of people believe to be successful, they need to be writing content. But they don't really want to be writing content. And so they're like, "Ha, I really hate writing content, but to get my promoted, to get my next job, I need to be writing content. Like how do I do that?" And it's like obviously AI, right? And I think something I've been trying to push back on folks on for for a while. I wrote a piece I forget the exact name but how to be like a a tech influencer or something like that.

>>: 我们会把那个链接附上。那篇帖子……它的名字算不上朗朗上口,甚至几乎有点像标题党。但它是关于如何在技术领域建立影响力的唯一最好的一篇文章,我会把它作为我最喜欢的文章之一附上链接。我把它转发给了很多人。顺便说一句,谢谢你写了那篇文章。

英文原文

>>: That we're going to link that. That post, it's such a like not catchy but almost a click-baity name. It is the single best post about how to be influential in tech and I I will link it as one of my favorite articles. I I forwarded to so many people. So by the way, thank you for writing that.

>>: 客气了。我写它的原因在于,那些人总觉得:“噢,我得写 200 篇、300 篇东西。我每周都得写,我必须这么做。”但实际上,“如果你的目标是建立可见度,你需要做的是写出一篇能够引发关注的文章。花大量时间在上面,去验证它,摸透它。你其实根本不需要写一堆东西。除非你经营的是基于订阅模式的业务,否则写一大堆内容几乎毫无价值。如果你只是想表达自己的观点,如果你只是想增加一点可见度,如果你想证明自己有逻辑清晰的写作能力,你可以只写两篇,写三篇,甚至每两年写一篇。你完全不必写很多。我想到 Tanya O'Reilly,她在博客上写得并不多,但每当她写出一篇东西,内容都非常深刻有趣,对吧?所以她不是那种靠走量的作者,但她却能写出极具影响力的文章。我认为 No Glue 就是最明显、也是真正带来深远影响的一篇。所以我觉得,即使对那些写得很多的人来说,大家也根本记不住他们写的大部分东西,能让人记住的就那么几篇。所以我真的认为,如果大家能够围绕真正的目标重新调整——也许目标只是一千个人的可见度——那么一两篇好作品的重要性远远胜过数量。因此,我真希望大家在内容无法真正服务于自身目标时,就不要再去制造数量了。事实上,我过去一年面试过的一些求职者,他们的作品里充斥着 AI 生成的垃圾内容,而且数量极其庞大。我不知道该说什么,我对这些候选人相当矛盾,因为感觉就像是:“嘿,根本没人读这些,你却还在一直发。”这就有点像是:“既然没人回应,你为什么还要继续做一件毫无用处的事情呢?”这让人觉得他们就像照着食谱做菜却从不尝味道的人,这成了形式主义(cargo culting),对吧?他们根本不知道自己为什么要这么做。所以对我来说,这不仅没有展现出‘噢,这是一个努力进取的人’的迹象,反而体现出了判断力低下。”

英文原文

>>: Of course. And and the reason I wrote it was like these people were like, "Oh, I I need to write 200 things, 300 things. I need to write every week. I need to do this." And it's like, "Well, if your goal is to be visible, what you need to do is write one thing that gets traction. Spend a lot of time on it. Test it. Like figure that out. You don't actually need to write a ton of stuff. There's almost no value in writing a ton of stuff unless you are, you know, running a business that is based on a subscription. If you're just trying to get your ideas out, if you're just trying to be a little bit more visible, if you're trying to show proof of your ability to write like cogently, you can write like two things. You can write three things. You can write one thing every two years. And you don't have to write a lot. I think about Tanya O'Reilly who has not written a lot on her blog, but when she writes something it says something really interesting, right? And and so she's not like a volume writer, but she's been able to have really impactful pieces. I think No Glue is like the most obvious or one that has really been transformative. And so I think even for people that do write a lot, people don't remember the vast majority of they write. There's like a few pieces that stick out. So, I really think that if if people reoriented around the real goal, which is maybe thousand visibility, one or two good things matters so much more than volume. And so, I I wish people would stop creating volume if they don't actually I think it doesn't serve their goals. And in fact, like I I've seen some candidates that I've interviewed, you know, over the last year where they have just like AI slop content and like a huge volume of it. And I I don't know. I'm I'm pretty conflicted on those candidates cuz it's like, "Hey, people aren't reading it. You keep doing it." And it's sort of like, "Why are you continuing to do something that doesn't serve any purpose? Cuz it no one's responding to it." So, it just feels like people who are like running like a recipe but aren't tasting the product and aren't It's It's cargo culting, right? They don't actually know why why they're doing it. And so, to me it actually implies like poor judgment rather than showing like a sign of like, "Oh, this is an ambitious person trying hard."

书籍推荐与系统验证

>>: 是的,完全是这样。有什么书是你会推荐的,或者你喜欢读的书?

英文原文

>>: Yeah. And that's totally. What's a book that you would recommend or books that you enjoyed reading?

>>: 当然,我想我会把我的书推荐给任何喜欢在这类东西上花钱的人。

英文原文

>>: Certainly, I think I would recommend a kind of my my books to to anyone who enjoys spending money on on things.

>>: 你的书都非常出色。我真——

英文原文

>>: Your books are all excellent. I really

>>: 谢谢。当然,我认为《Crafting Enduring Strategy》是去年出版的,我想它是最新的那一本,但我认为里面确实有很多有趣的想法。另外,多内拉·梅多斯(Donella Meadows)写的《Thinking in Systems: A Primer》是我经常思考的一本书。

英文原文

>>: Thank you. And certainly, I think Crafting Enduring Strategy came out last year and I think it's you know, the the newest one, but I think there's like a lot of interesting ideas in there for for sure. I think, you know, Thinking in Systems: A Primer by Donella Meadows is like one that I think about a lot.

>>: 我是根据你的推荐去读的。

英文原文

>>: read it based on your recommendation.

>>: 老实说,我认为正是这本书塑造了我关于管理以及在公司中运作的看法。我觉得它其实并非专门讲如何运营公司,但它是一个你可以使用的思维模型。我认为那本书极其、极其有帮助。但说实话,任何能迫使你从不同视角看问题的书都很好。比如几年前,我花了不少时间去思考类型系统(typing)——不是在键盘上打字,而是如何拥有更好的类型系统,这与我日常的工作并没有那么大关联。另外还有一本很棒的书,我一时想不起名字了,是关于 TLA+ 的……

英文原文

>>: I I think it's it's honestly the the book that kind of formed my view about management and kind of operating in companies. I think that it's not really about operating companies, but it's like a mental model you can you can use. That book I think is incredibly incredibly helpful. But but really like any book that forces you to have like a different perspective on something. And so, I spent, you know, a decent enough time thinking about typing a couple years ago. Like not not typing like on a keyboard, but how to have like better type systems, which is not that relevant to to my work on a day-to-day basis. And then there's a another great book whose name I'm losing on TLA plus

>>: 还有应用那个……是 Hillel Wayne 吗?

英文原文

>>: And using that Is that Hillel Wayne?

>>: 对,没错。

英文原文

>>: Yeah, exactly.

>>: 对,他上过播客。是的,他写了那本著名的 TLA+ 的书。

英文原文

>>: Yeah, he was on the podcast. Yeah, he he has the famous TLA plus.

>>: 非常棒的一本书。听着,虽然我日常并不怎么使用 TLA+,但我认为其中的理念极其强大——也就是利用语言来增强软件的验证或可验证性,这是我们这个时代最重大的课题之一,对吧?如果我们的所有软件都将由别人——也就是智能体(agent)——来编写,那么让验证变得低成本就显得至关重要。即使在很多情况下 TLA+ 并不是做这件事的工具,但思考这个问题本身,以及出于同样的理由思考类型系统,都是极其有趣、极其有价值的。所以我想,目前来说这些都是一些很有用的书。

英文原文

>>: Fantastic book. Um and and look, like I'm not using a lot of TLA plus on a day-to-day basis, but I think just the ideas there are incredibly powerful in terms of using languages to increase the verification or verifiability of your software, which is one of the biggest of our time, right? If all of our software is getting written by someone else, which is an agent, making verification cheap is is really critical and even if TLA plus is not the tool for that in many cases, thinking about that problem, and this is the same reason why typing is really interesting, really really valuable. And so I think right now those those are some some useful ones.

>>: 谢谢你。能请到你真是太棒了。我们终于有了这个非常好的……

英文原文

>>: Thank you. Well, it was awesome to have you. We have finally have this super nice

对话收尾与总结

>>: 对话。

英文原文

>>: conversation.

>>: 不,我也一样。谢谢你邀请我。

英文原文

>>: No, likewise. Thank you for having me.

>>: 我认识 Will 很多年了,能面对面坐下来聊真的很棒。我们进行这次对话之际,无论是工程管理还是工程职业晋升方面的传统最佳实践,都正在发生很多变化。一个非常有趣的话题是,管理者过去为了给他们的工程师寻找有趣的项目,做出了多么大的妥协。Will 回忆起在 Stripe 时,他手下一些最优秀的工程师曾向他索要更有趣的问题。

那时他就已经回绝了,说他唯一能提供的就是痛苦,意思是那些并不怎么光鲜的问题,但正是这种痛苦才能让业务取得成功。但在 2010 年代和 2020 年代初,很多工程师认为这种做法并不是什么特别好的管理行为。然而在今天,这已经成为了一种默认常态。作为一名工程师,为了职业稳定和晋升,尤其是在高级及以上级别,你需要去帮助业务解决他们最紧迫的问题,这包括对这些问题抱有同理心。

对于 Will 如何看待成为一名出色的 CTO 所需的素质,我也觉得非常发人深省。他认为你需要具备两点:第一,成为一名杰出、出众的技术专家,知道该构建什么以及如何构建;同时还要成为一名能够统管整个职能部门的官僚,包括那些你可能并不擅长的职能,比如产品或设计。在 2010 年代,很多管理者学到的主要是官僚体制那一套,等他们成为 CTO 时,他们已经丢掉了技术那一面。如今,随着团队规模缩小以及中层管理的精简,许多 CTO 将首先是技术专家,Will 认为整体而言这可能会更好,我也不得不表示赞同。

最后,我很赞赏 Will 给中层管理者的建议。中层管理者是指那些手下有下属经理向其汇报的工程管理者。Will 没有拐弯抹角。是的,如今做中层管理确实是个艰难的时期。他所展望的两条出路是:要么你重新回到更靠近软件构建的地方,在更小的团队工作,或者担任一线经理角色;要么就接受这样一个现实,即你那主要作为一个官僚而非技术专家的专长,在几年后可能不会再那么受重视。Will 自己在离开 Carta 的 250 人工程团队、加入 Imprint 的 25 人团队时,就往后退了一步。但是,他这样做是有意识地去学习如何在 AI 改变工程行业的背景下进行构建。

我觉得非常鼓舞人心的是,Will 不仅谈论学习软件工程新规则的重要性,而且还身体力行。请务必查看节目说明中关于 The Pragmatic Engineer 对零利率政策、工程以及 EM 职业深层剖析的相关内容。如果你喜欢这个播客,请在最常使用的播客播放器中订阅,如果你还能给节目留下评分,那就格外感谢了。谢谢大家,我们下一期再见。

英文原文

>>: I've known Will for so many years and it was great to sit down in person. And we did it at a time when there's a lot of change happening with traditional best practices when it comes both to engineering management as well as engineering career progression. One really interesting topic was how far managers used to bend backwards to find interesting projects for their engineers. Will recalled how at Stripe some of his best engineers asked him for more interesting problems.

Back then he already pushed back saying that the only thing he has is suffering to offer, meaning not particularly glamorous problems, but that suffering is what's going to make the business succeed. But back in the 2010s and the early 2020s, lots of engineers saw this approach as not particularly great management behavior. And yet today it's kind of a default. For career stability and promotions as an engineer, especially the senior plus levels, you will want to help the business solve their most pressing problems and this includes having empathy for those problems. I also found it eye-opening how Will thinks about what it takes to be a great CTO. He thinks of it as you need to be two things. One, a great standout technologist who knows what to build and how to build, as well as a bureaucrat who can run a whole function, including a function you might not be an expert on like product or design. In the 2010s, lots of managers learned mostly about the bureaucracy part, and by the time they became CTOs, they lost the technology side. Today, with smaller teams and less middle management, many CTOs will be technologists first, which Will thinks it might be better overall, and I have to agree with it. Finally, I appreciated Will's advice to middle managers. Middle managers being engineering managers who have teams that under managers report to them. Will did not beat around the bush. Yes, today it's a hard time to be in middle management. The two paths that he's looking forward are either you go back to being closer to where software is being built, work on a smaller team, or as a line manager role, or just accept that your expertise of mostly being a bureaucrat, but not a technologist, could not be valued that much in a few years' time. Will himself took a backwards when he left the 250-person engineering team at Carta to a 25-person team at Imprint. But, he did it consciously to learn how to build with AI changing the engineering profession. I do find it inspiring that Will not only talks about the importance of learning the new rules of software engineering, but also walks the walk. Do check out the show notes on related to pragmatic engineer deep dives on zero interest rates and engineering and EM careers. If you could enjoy the podcast, do subscribe in your favorite podcast player, and a special thank you if you also leave a rating on the show. Thanks, and I'll see you in the next one.