每分钟多做一点:Shopify 工程负责人谈强度、难路和用干活招人

原标题Do More Per Minute: Shopify's Farhan Thawar on Intensity, Hard Paths and Hiring by Doing

Farhan Thawar 讲结对编程、六周复盘、删代码和最长九十天的试工,如何让一家万人远程公司继续跑得很快。

FTFarhan Thawar嘉宾
频道
Lenny's Podcast
视频
1:40:03
阅读
2 分钟
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
简体中文目前只有摘要,下面的完整文稿是英语原文。
摘要

30 秒看懂

Shopify 工程副总裁兼负责人 Farhan Thawar 认为,面临选择时应走更难的那条路,失败时你仍然做过难事、跟聪明人共事并学到东西;强度则是同一小时里多产出,而不是把工时拉长。他细讲了支撑这一理念的做法:结对编程、名为 GSD 的每周进度、六周复盘、每年清空例会、先建基础设施,以及用试工和实习代替对面试的迷信。入职第一周在 React Native 上对冲,后来被创始人 Toby Lütke 点出:公司惩罚的是不敢冒险,不是冒险之后没做成。

  1. 1选难路即使失败也算赢:你做过难事、多半跟聪明人共事,还学到能带走的东西。容易的路失败了,往往什么也没留下。
  2. 2Thawar 把强度定义为每分钟多产出,而不是加班更久。他最爱用的工具是结对编程:两个人共用一台机器,很难滑进刷网页和摸鱼。
  3. 3代码是负债,Shopify 有 Delete Code Club,黑客日也专门派人清冗余。他说几乎总能找出一百万行以上可删的代码;他更希望看见 Copilot 删掉一百万行,而不是写出一行。
  4. 4Toby Lütke 的基础设施原则是追问:怎样才能让这个功能一小时就能做出来。为 NFT 门禁花两三个月做平台层,胜过花三周只做这一处。
  5. 5面试很难预测入职后的表现,Thawar 更信最长约九十天的试工。Shopify 把这件事放大成实习:计划在 2025 年招约一千名工程师实习生。
  6. 6Toby 告诉他,代价高昂的 React Native 决策错在对冲、没有把风险押上。Shopify 会对不敢冒险的人很严,却不会因为一次冒险没做成而问责。
全文

按章节阅读完整文稿

01

选更难的那条路,失败了也算赢

Thawar's core piece of advice is to choose the harder option when facing a choice. If the easy path works, fine, and if the hard one works, you did more work. If the easy path fails, though, you have learned nothing and probably did not work with the smartest people, while a failed hard path still leaves you with skills and relationships.

He gives job seekers an example. Sending ten resumes a day is easy and teaches little, whereas reading the Shopify API docs and building an app or admin extension teaches something, adds to a GitHub repo and may transfer to a job elsewhere. In his own life he took hard courses, got worse marks and met smarter people. He did a minor in electrical engineering at Waterloo and a minor in financial engineering during his MBA, and those classmates are still his friends.

Lenny points out that harder is sometimes just dumb, such as joining a terrible company. Thawar agrees and says the filter is people and learning. He looks for the best learning journey and puts himself in harder rooms on purpose, where intense working relationships form. He does not mean doing things in a dumb way, only doing the hard thing that you can learn from.

02

当众显得笨,是一项能带火全队的技能

Thawar says looking stupid in public is his superpower and he tries to make it his team's. He experiments constantly, even with the washing machine at home, which has ruined some clothes but might also reveal a 20-minute quick wash. At work the same attitude needs guardrails, since a new GCP configuration could bring Shopify down. Half the time he says something dumb, he notes, others say they had the same question and were afraid to ask.

He traces his comfort with rejection to working retail on commission, where customers often left without buying and you simply moved on to the next one. Cold calling and telemarketing build similar resistance. He says he has been told by sharp, successful people that his was the stupidest question they had heard. Recently someone replied that they had already explained something three times. He screenshots such replies, because his goal is not to annoy anyone but to understand.

03

找一个不讲理的远见者搭伙,并写下自己的择业框架

Lenny notes that Thawar has worked for a different billionaire each decade. Thawar says he did not plan it, but these founders share an irrational, long-term view of what the world will look like in 10 to 25 years. He is not good at seeing that vision, but he is good at moving toward it 1% a week. He deliberately seeks out such people, and when starting his own company in 2015 he listed every unreasonable entrepreneur he knew in Toronto and met each to see if they were "API compatible".

Lenny draws the lesson of recognizing your strengths and doubling down rather than trying to master every skill. Thawar adds that writing down a framework of what he actually cares about changed how he picks jobs. Titles, compensation and recruiter messages can otherwise distract you, so he checks every opportunity, and every year of his current job, against the framework.

He says that when the framework is violated, he resigns. At Pivotal, which had acquired his mobile consultancy Xtreme Labs, his role drifted from running the biggest pair programming office to field CTO. He was no longer working with the smartest people, learning or having impact, so he told the team he planned to resign. He adds that it led to good things, including investing in companies that spun out of Pivotal.

04

强度是每小时多产出,结对编程是最省事的办法

Thawar believes an hour is an hour, so if you expend more effort inside the same nine-to-five you get more done and still make it to your kid's soccer game. He contrasts this with an earlier job where he worked 12-hour days but stretched the work with foosball and coffee breaks. He asks, "What if you just did more per minute?" He also notes that extremely good people produce high-quality output much faster than merely good ones, so time can be cut 2x or 3x without losing quality.

He calls pair programming the most underutilized management tool in engineering. Two people share one computer, using a tool such as Tuple when remote, and the bottleneck is finding an elegant solution, not keystrokes. Newcomers often sleep 10 to 12 hours a night at first because it is so intense. Studies, he says, show higher happiness, knowledge transfer and intensity and fewer silos, at a cost of perhaps 20% of the output.

He tells how Toby Lütke and the CTO paired on a one-hour timer, and if the problem was not solved they deleted the code, kept the tests and started again. The thinking was that an elegant design should be writable in an hour. At Pivotal Labs, he says, a pair would delete a sick colleague's solo code the next day, since there is no better time to rewrite than right after learning the domain. He compares resistance to pairing to Shaquille O'Neal refusing to shoot underhand free throws because they look dumb.

At Xtreme Labs and Pivotal they paired 40 hours a week because they knew exactly what to build, but Shopify is a pathfinding company and pairs four to eight hours a week. They also pair during incidents. AI copilots, he says, are a pair programmer too, and he suggests two humans plus an AI is even better, since you never have to code alone.

05

每周更新、六周复盘和快速落地,能让大公司继续动

Shopify uses a weekly company-wide update system called GSD, for "get shit done", where each project posts progress, sometimes with video, because people want to show progress every week. Reviews used to happen twice a year, and now every team runs a six-week review of roadmap and resourcing with leadership and Toby. Thawar says six weeks is short enough to remember context and long enough for a dozen engineers to do a lot. Feedback from a review is acted on the next day rather than at the next review.

He invokes Parkinson's law: work expands to the time allotted, so a reorg that takes six months elsewhere takes a week or two at Shopify. They launch rather than run long change management, telling everyone it is a volatile company. He links it to Toby unplugging machines in the old data center to build resiliency. The stated purpose is to create more entrepreneurs rather than to run a six-month change roadmap.

He gives an example from a six-week review: an AI problem needed a large output context window. He messaged shared Slack channels with the model providers, and within an hour several major models had enabled a bigger context. Thawar says checking in is not about catching people out. He sees it as a way to pair on the problem, and says micromanagement is not a dirty word at Shopify because leaders work on the problem with the team.

06

每年清空一次例会,工匠才有整块时间

Once a year at a random time, Shopify deletes all recurring internal meetings with more than two people, excluding one-on-ones, interviews and external meetings. A two-week moratorium on creating new recurring meetings follows. Thawar says recurring meetings have inertia and are hard to delete, and the reset forces teams to ask whether they need a meeting at all or a different cadence. He says the idea came from Dropbox's "Meetingageddon" and that he mentioned it to Toby before he joined.

They also moved announcements and status updates out of Slack and into Facebook Workplace, a feed people consume on their own schedule, since Slack's alerts caused distraction. Thawar says meeting time for individual contributors fell by roughly 50 to 60%, from about five or six hours to about three a week, and managers from about ten to six or seven. He says Slack is great, but not for this purpose, and that the next tool should be more like a river of information.

07

先把基础设施建好,好让任何人一小时就能做出功能

Thawar lists pair programming, the weekly cadence, the six-week reviews and metrics and alerts as the main intensity tools. When developer experience in the admin slowed, Shopify called a "code yellow", which lets a champion tap anyone on the shoulder to help fix it. He says infrastructure takes longer to build but makes you faster forever afterwards.

His example is NFT gating during the crypto summer of 2020 and 2021. His team estimated two to three weeks to build it, but Toby asked how long a platform layer would take that lets anyone build NFT gating in an hour. When the answer was two to three months, Toby told them to do that, calling it putting gas in the tank. Toby says "you could write this in a day" to mean, what has to be true to make that possible. He even writes client code against an API that does not exist yet and then builds the server.

Lenny observes that this platform thinking explains the focus on great code. Thawar adds that GitHub Copilot has written over a million lines of code for Shopify, but what he wants to see is Copilot deleting a million. Shopify deleted millions of lines this year, and when someone noted it was among the top ten Ruby codebases in the world, he said he never wants to see it on that list again. He says the simpler a codebase, the easier resiliency, performance, reliability and maintainability become. The test is whether you would build the same thing today now that you have the domain expertise. Shopify has a Delete Code Club, and a team on each of its two or three yearly hack days that has a manual for finding things to delete. They can almost always find over a million lines. He says that if Google says 25% of its code is written by AI, he wants to know how much is deleted by AI, because the right metric is elegance and not volume.

To prioritize this work, Thawar sorts projects into experiments, features and infrastructure. A feature builds on existing infrastructure, while infrastructure work enables many future uses. He credits Toby as the secret sauce, because he pushes everyone to think in infrastructure terms and rejects choices between A and B. Toby's view is that there are unlimited wrong options and perhaps 10,000 right ones, and people should not stop at the first right one.

Thawar says this pushes him to do the same with his team, because deleting and simplifying gives you free performance, maintainability and resiliency. He sums it up as choosing the hard thing and making the feature easy to build rather than just building it.

08

演示文化和信任电池,撑住远程公司的节奏

Pair programming, Thawar says, removes multitasking, and he quotes a line about Kahneman and Tversky: "Alone, we're okay, but together, we're a genius." Another intensity driver is demo culture. Updates include a working demo, for example a link to try the change in Spin, Shopify's cloud dev environment, or a beta flag to turn on in your own store. Product managers record friction logs that walk through the experience, so people debate the experience instead of status reports.

Shopify is about 90 to 95% remote, with intentional in-person moments. There is a summer Shopify Summit with talks, hack days and parties, and "bursts", where a few people travel to an office to work on a problem together. Thawar says offices in Toronto, Montreal, Ottawa and New York are come-in-if-you-want. The main reason for remote is hiring the best people wherever they are, and he describes in-person time as recharging the "trust battery", which depletes between remote colleagues.

Thawar says the leadership team is intense, with many founders who are impatient by design, and they share a weekly thread of progress. He argues that if you do not have two or three big projects on fire you are probably not pushing hard enough. Lenny adds that this chaos is less stressful than a business failing to succeed. Thawar says that discomfort provides stability because it keeps you learning.

09

面试测不准表现,试工和实习才看得见真活

Thawar says interviews are a poor predictor of performance. In his earlier startup he hired a PhD who taught at a university and a person he met in a coffee shop who had never had a software job. The PhD was let go within weeks, while the other became a phenomenal machine learning engineer who is still at Shopify. He uses a race car analogy: the best way to assess a driver is to put them in the car. He gives people up to about three months and is transparent that a poor fit is good to learn quickly, since they can be great elsewhere.

At his previous companies he almost never interviewed and just had people come in and work, which meant about 20% attrition in the first 90 days and less than 1% afterwards. At Shopify he keeps interviews as close to the job as possible and has a "life story" step that probes why a candidate made past choices, since a resume tells what you did but not why. He read David Epstein's *Range* and slowly realized he is a generalist. After hiring, a Slack survey asks how happy the manager is with the new person.

Shopify plans to hire a thousand interns in 2025, which he calls a thousand job trials, and he rejects treating internships as community service. Interns come with an LLM and a brain, and bring a different experience of commerce and AI. He says that after his tweet other CTOs promised to hire 1,001 to beat him, which helps restart the early-talent ecosystem. Interns will work three days a week in the Montreal, Toronto and Ottawa offices to get a cohort and mentors, and he says interns are always more intense in pair programming than full-timers.

He went to Waterloo, whose co-op program alternates four-month study and work terms, so he graduated with a degree and two years of experience. Lenny shares that his own first hire at his startup Local Mine came from a co-op program. Thawar adds that at his startup Helpful he hired four interns in February, in anticipation of full-time hires in May, so that everyone could pair.

10

一百二十个直接下属、不做排期一对一,直到规模撑不住

At Xtreme Labs, Thawar had 120 direct reports because he kept adding people to his team and asked whether the problems people needed managers for could be solved otherwise. Product backlogs said what to work on, pair programming unblocked technical issues, weekly internal and client demos gave feedback, and set working hours made the office intense. He skipped scheduled one-on-ones, sat in a circular desk in the middle of the engineering floor, and let blocked people come to him.

He says unscheduled one-on-ones were clarifying, because after years of weekly scheduled ones he wondered how useful they had been. Investor Chamath asked not whether it could work but whether it would work at 400 people. Thawar said probably not, so he made some people directors with about 40 reports each. At Shopify engineering managers have guardrails of eight to 20 reports, and he has about fourteen. Flatter organizations keep people closer to Toby, since survey results show alignment gets worse farther away.

11

最贵的失误是对冲,不是冒险之后没做成

Thawar has been laid off twice, and says a failure resume he kept on his phone was depressing and he would not recommend it. His big Shopify mistake came in his first week in 2019, when Shopify was rebuilding its point-of-sale system. He recommended a hedge: iOS in Swift to guarantee a product in market, and Android in React Native so the company could learn it. The iOS version launched a year later and succeeded, but React Native then proved to be the platform of the future, so the iOS app had to be rebuilt on it.

He estimates it cost about 18 months of time for a hundred engineers. When he told Toby, the reply was that he should tell everyone the story, and that his mistake was not taking the risk. Toby told him he will always come down harshly on people who do not take risks, but never on those who take a risk that does not work out. Thawar says he now sees he was going to be all in on React Native anyway: he met the React team at Meta, became a core contributor and ran the working group, so he should have trusted the path.

Lenny compares this to Facebook's HTML5 mobile bet, and Thawar says he saw it from the inside while Xtreme Labs worked on the Facebook app. In his closing thoughts, Thawar says his motto is "everything you know is wrong", meaning you should rebuild your view from first principles and try things. He asks listeners to tell him what he got wrong, since he is on a learning journey.

12

人人都有聪明之处,人才往往在别人不看的地方

Thawar says he is always scanning people when he is out, and once saw a waitress running a very busy restaurant superbly, organizing tables and the kitchen. He asked if she would like to work at Xtreme Labs. She started as the receptionist, became his admin and then a recruiter, and he taught her tools such as Google Docs and G Suite.

She later took over an HR function, finished her university degree, and is now a director of HR at a company. The company hired more people from that restaurant who were also smart and intense. Thawar's lesson is that everyone is smart at something, and when he sees someone doing a good job he asks how he can work with them. Lenny jokes that restaurants may be the new feeder system for tech.

同频道的其他文章

1:10:27EN → 简体中文
Lenny's Podcast播客 · 2 人对谈硬技能让你进门,软技能决定你能走多远嘉宾 Jules Walter · 主持 Lenny RachitskyYouTube 产品负责人 Jules Walter 把 PM 能力拆成 IQ 与 EQ,并讲怎样用最小请求找到导师、把反馈变成习惯。产品与体验Product ManagementLeadership+3
1:30:46EN → 简体中文
Lenny's Podcast播客跳过「末日漏斗」:Cursor 招顶尖 50 人的打法主持 Lenny RachitskyCursor 人才负责人 Adam Ward 讲如何界定角色、画出全球大约 50 人的名单,再持续追他们,而不是招漏斗里活下来的人。企业与战略Company BuildingLeadership+3
1:42:04EN → 简体中文
Lenny's Podcast播客 · 2 人对谈先做生命体征测试,再谈把付费增长拧到最大嘉宾 Timothy Davis · 主持 Lenny RachitskyShopify 绩效营销负责人 Timothy Davis 讲何时开始买量、怎么做小测试、测哪些平台、看什么指标、以及先招什么样的人。企业与战略Go-to-MarketGrowth Strategy+3
1:21:44EN → 简体中文
Lenny's Podcast播客从划桨到掌舵:OpenAI 如何把 Agent 做成持久共事的同事主持 Lenny Rachitsky负责 Codex 与 ChatGPT Work 产品的 Tara Seshan 解释:当 Agent 负责划桨、人负责掌舵时,产品经理的工作会变成什么样。智能体Product StrategyAI Product Management+3
1:01:00EN → 简体中文
Lenny's Podcast播客 · 2 人对谈谁掌握注意力:Substack 如何按「控制权」做产品嘉宾 Sachin Monga · 主持 Lenny RachitskySubstack 产品负责人 Sachin Monga 讲路线图背后的原则、Recommendations 如何长成增长引擎,以及他认为互联网写作的下一阶段会怎样。产品与体验Product StrategyGrowth Strategy+3
1:26:22EN → 简体中文
Lenny's Podcast播客先从小处开始,再挣来自主权:五十多次企业 AI 落地教会他们的事主持 Lenny RachitskyAishwarya Naresh Reganti 和 Kiriti Badam 解释,为什么 AI 产品需要另一套构建流程,以及怎样一步步提高 Agent 自主权而不丢掉客户信任。产品与体验Product StrategyAI Product Management+3