自己的项目

Paul Graham 2021-06-01

自己的项目

2021年6月

几天前,在从学校回家的路上,我九岁的儿子告诉我他迫不及待想回家继续写他正在写的故事。这让我比听到他说的任何话都高兴——不仅因为他对自己的故事感到兴奋,还因为他发现了这种工作方式。做自己的项目与普通工作的不同,就像滑冰与行走的区别。它更有趣,但也更有效率。

在这种意义上滑冰的人完成了多少伟大的工作?如果不是全部,那肯定是很大一部分。

做自己的项目有特别之处。我不会说你更快乐。更好的词应该是兴奋或投入。当事情进展顺利时你很快乐,但通常不是。当我写散文时,大部分时间我都很担心和困惑:担心散文会写得很糟,困惑因为我在摸索一些我无法清楚看到的想法。我能用语言把它固定下来吗?最后通常可以,只要我花足够长的时间,但我从不确定;前几次尝试经常失败。

当事情成功时你有快乐的时刻,但它们不会持续很久,因为然后你就要面对下一个问题。那么为什么要做呢?因为对于喜欢这种方式工作的人来说,没有其他感觉如此正确。你感觉自己像是栖息地里的动物,做着你注定要做的事情——不一定总是快乐,但清醒而充满活力。

许多孩子体验了做自己的项目的兴奋。困难的部分是让这与成人后的工作汇合。我们的习俗使这变得更困难。我们对待”玩耍”和”爱好”与”工作”在质上不同。建树屋的孩子不清楚有一条(虽然很长的)从建筑或工程到树屋的直接路线。我们没有指出这条路线,而是隐藏它,通过含蓄地对待孩子做的事情与真实工作不同。[1]

我们没有告诉孩子他们的树屋可能在通往成人工作的道路上,而是告诉他们道路通过学校。不幸的是,学校工作往往与做自己的项目非常不同。它通常既不是项目,也不是自己的。所以随着学校变得更严肃,做自己的项目即使能幸存,也只是旁边的一条细线。

想到所有的高中生转身背弃建造树屋,乖乖坐在教室里学习达尔文或牛顿以通过考试,有点可悲,而使达尔文和牛顿出名的工作实际上在精神上更接近建造树屋而不是为考试学习。

如果我必须选择我的孩子获得好成绩和做自己的雄心勃勃的项目之间,我会选择项目。不是因为我是溺爱的父母,而是因为我经历过另一端,我知道哪个更有预测价值。当我为Y Combinator挑选初创公司时,我不关心申请人的成绩。但如果他们做过自己的项目,我想了解那些项目的一切。[2]

学校可能是现在的样子不可避免。我不是说我们必须重新设计它(虽然我不是说我们不),只是我们应该理解它对我们工作态度的影响——它引导我们走向尽责的埋头苦干式工作,经常用竞争作为诱饵,远离滑冰。

偶尔学校工作会成为自己的项目。每当我必须写论文时,那就会成为我自己的项目——讽刺的是,除了英语课,因为英语课必须写的东西太虚假了。当我上大学开始上计算机科学课时,我必须写的程序成为我自己的项目。每当我在写作或编程时,我通常都在滑冰,从那时起一直如此。

那么自己的项目的边界到底在哪里?这是一个有趣的问题,部分因为答案如此复杂,部分因为利害关系如此之大。工作可以是自己的有两种意义:1)你是自愿做,而不是仅仅因为有人告诉你做,2)你独立做。

前者的边界相当清晰。非常关心自己工作的人通常对拉和被推之间的区别非常敏感,工作往往属于一类或另一类。但测试不仅仅是是否有人告诉你做某事。你可以选择做被告知做的事情。实际上,你可以比告诉你做的人更彻底地拥有它。

例如,数学作业对大多数人来说是被告知做的事情。但对我父亲来说,他是个数学家,不是。我们大多数人认为数学书中的问题是测试或发展我们对每节解释的材料知识的方法。但对我父亲来说,问题是重要的部分,文本只是一种注释。每当他得到一本新的数学书时,对他来说就像得到了一个谜题:这是一套新的要解决的问题,他会立即开始解决所有问题。

项目是自己的另一种意义——独立做——有更柔和的边界。它逐渐过渡到协作。有趣的是,它以两种不同方式过渡到协作。协作的一种方式是共享一个项目。例如,当两个数学家在一次对话中协作形成一个证明时。另一种方式是多个人做自己的独立项目,像拼图一样组合在一起。例如,当一个人写书的文本,另一个人做平面设计时。[3]

这两条通向协作的路径当然可以结合。但在适当的条件下,做自己的项目的兴奋感可以保持相当长时间,才在大组织的湍急工作流中瓦解。实际上,成功组织的历史部分是保留这种兴奋感技术的历史。[4]

制造原始Macintosh的团队是这种现象的很好例子。像Burrell Smith、Andy Hertzfeld、Bill Atkinson和Susan Kare这样的人不仅仅是听从命令。他们不是Steve Jobs打出的网球球,而是Steve Jobs释放的火箭。他们之间有很多协作,但他们似乎都 individually 感受到了做自己的项目的兴奋感。

在Andy Hertzfeld关于Macintosh的书中,他描述了他们如何在晚餐后回到办公室,工作到深夜。从未经历过对他们兴奋的项目的工作 thrill 的人无法区分这种长时间工作与血汗工厂和锅炉房发生的工作,但它们处于光谱的两端。这就是为什么教条地坚持”工作/生活平衡”是错误的。实际上,“工作/生活”这个表达本身就体现了错误:它假设工作和生活是不同的。对于那些”工作”一词自动意味着尽责的埋头苦干式的人来说,它们确实如此。但对于滑冰者来说,工作和生活的关系用连字符比斜杠更好地表示。我不想做任何我不想让它占据我生活的工作。

当然,当你制造像Macintosh这样的东西时,更容易达到这种动机水平。新事物很容易感觉像你自己的项目。这就是程序员倾向于重写不需要重写的东西,以及编写已经存在的东西的自己的版本的趋势的原因之一。这有时让经理们惊慌,按打字的总字符数衡量,这很少是最佳解决方案。但它不总是仅仅由傲慢或无知驱动。从头开始写代码也更有回报——如此有回报,以至于好的程序员最终净领先,尽管字符的惊人浪费。实际上,这可能是资本主义的优势之一,它鼓励这种重写。需要软件做某事的公司不能使用另一家公司已经写的来做这件事的软件,因此必须写自己的,这通常结果更好。[5]

滑冰和解决新问题之间的自然对齐是初创公司回报如此之高的原因之一。未解决问题的市场价格不仅更高,你在解决它们时还能获得生产力折扣。实际上,你获得生产力的双重增加:当你在做clean-sheet设计时,更容易招募滑冰者,他们可以把所有时间都花在滑冰上。

Steve Jobs从观察Steve Wozniak中知道一两件关于滑冰者的事情。如果你能找到合适的人,你只需要告诉他们在最高层次做什么。他们会处理细节。实际上,他们坚持这样。要让项目感觉像你自己的,你必须有足够的自主权。你不能按订单工作,或被官僚主义拖慢。

确保自主权的一种方法是根本没有老板。有两种方法:自己做老板,以及在下班时间做项目。虽然它们在财务上处于规模的两端,但初创公司和开源项目有很多共同点,包括它们通常由滑冰者运营。实际上,从规模的一端到另一端有一个虫洞:发现初创公司想法的最好方法之一就是为了好玩而做项目。

如果你的项目是赚钱的那种,很容易在它们上面工作。当它们不是时更难。通常最困难的部分是士气。这就是成年人比孩子更难的地方。孩子只是跳进去建造他们的树屋,不担心是否在浪费时间,或与其他树屋相比如何。坦率地说,我们可以从这里的孩子身上学到很多。大多数成年人为”真实”工作设定的高标准并不总是对我们有利。

自己项目最重要的阶段在开始时:当你从认为做x可能很酷到实际做x。在这一点上,高标准不仅无用而且有害。有少数人开始太多新项目,但我怀疑更多的人因为害怕失败而不开始那些如果开始就会成功的项目。

但如果我们作为孩子不能从我们的树屋在通往成人项目道路上的知识中受益,我们至少可以作为成年人从我们的项目在延伸回树屋的道路上受益。记得你作为孩子开始新事物时那种无所谓的自信吗?那将是重新获得的强大东西。

如果作为成年人保留那种自信更难,我们至少往往更清楚我们在做什么。孩子从一种工作跳到或被赶到另一种工作,几乎没有意识到发生在他们身上的事情。而我们更了解不同类型的工作,对做什么有更多控制。理想情况下,我们可以两全其美:故意选择做自己的项目,并在开始新项目时无所谓的自信。

注释

[1] “Hobby”是个奇怪的词。现在它意味着不是真实工作的工作——不会被评判的工作——但最初它只是意味着一种相当一般意义上的痴迷(甚至是政治观点),一个人隐喻地骑着一个儿童骑的木马。很难说它最近、更窄的意义是变好还是变坏。肯定有很多误报——很多最终变得重要但最初被视为仅仅是爱好的项目。但另一方面,这个概念为早期丑小鸭阶段的项目提供了宝贵的掩护。

[2] 虎爸虎妈,就像父母经常做的那样,在打上一场战争。在旧时代,当成功的道路是在攀登某些预定义梯子时获得证书,成绩更重要。但他们的策略专注于成绩也好。如果他们入侵项目领域,从而通过强迫孩子做这种工作给他们带来对这种工作的厌恶,那将是多么可怕。成绩已经是一个 grim、虚假的世界,父母干涉不会造成太大伤害,但做自己的项目是更微妙、更私密的事情,很容易被损坏。

[3] 在自己的项目上工作与与他人协作之间的复杂、逐渐的边界是关于”孤独天才”的想法有如此多分歧的原因之一。在实践中,人们以各种不同方式协作(或不协作),但孤独天才的想法绝对不是神话。它有一个与某种工作方式相关的核心真理。

[4] 协作也很强大。最佳组织将以对彼此造成最小损害的方式结合协作和所有权。有趣的是,公司和大学部门从相反的方向接近这个理想:公司坚持协作,偶尔也设法既招募滑冰者又允许他们滑冰,大学部门坚持独立研究的能力(按惯例被视为滑冰,无论是否),他们雇佣的人按他们选择的程度协作。

[5] 如果一家公司能以这样的方式设计其软件,使最好的新来的程序员总是得到clean sheet,它可以有一种永恒的青春。这可能不是不可能的。如果你有一个定义游戏规则足够清晰的软件骨架,个别程序员可以写自己的玩家。

感谢Trevor Blackwell、Paul Buchheit、Andy Hertzfeld、Jessica Livingston和Peter Norvig阅读本文草稿。

A Project of One’s Own

June 2021

A few days ago, on the way home from school, my nine year old son told me he couldn’t wait to get home to write more of the story he was working on. This made me as happy as anything I’ve heard him say — not just because he was excited about his story, but because he’d discovered this way of working. Working on a project of your own is as different from ordinary work as skating is from walking. It’s more fun, but also much more productive.

What proportion of great work has been done by people who were skating in this sense? If not all of it, certainly a lot.

There is something special about working on a project of your own. I wouldn’t say exactly that you’re happier. A better word would be excited, or engaged. You’re happy when things are going well, but often they aren’t. When I’m writing an essay, most of the time I’m worried and puzzled: worried that the essay will turn out badly, and puzzled because I’m groping for some idea that I can’t see clearly enough. Will I be able to pin it down with words? In the end I usually can, if I take long enough, but I’m never sure; the first few attempts often fail.

You have moments of happiness when things work out, but they don’t last long, because then you’re on to the next problem. So why do it at all? Because to the kind of people who like working this way, nothing else feels as right. You feel as if you’re an animal in its natural habitat, doing what you were meant to do — not always happy, maybe, but awake and alive.

Many kids experience the excitement of working on projects of their own. The hard part is making this converge with the work you do as an adult. And our customs make it harder. We treat “playing” and “hobbies” as qualitatively different from “work”. It’s not clear to a kid building a treehouse that there’s a direct (though long) route from that to architecture or engineering. And instead of pointing out the route, we conceal it, by implicitly treating the stuff kids do as different from real work. [1]

Instead of telling kids that their treehouses could be on the path to the work they do as adults, we tell them the path goes through school. And unfortunately schoolwork tends to be very different from working on projects of one’s own. It’s usually neither a project, nor one’s own. So as school gets more serious, working on projects of one’s own is something that survives, if at all, as a thin thread off to the side.

It’s a bit sad to think of all the high school kids turning their backs on building treehouses and sitting in class dutifully learning about Darwin or Newton to pass some exam, when the work that made Darwin and Newton famous was actually closer in spirit to building treehouses than studying for exams.

If I had to choose between my kids getting good grades and working on ambitious projects of their own, I’d pick the projects. And not because I’m an indulgent parent, but because I’ve been on the other end and I know which has more predictive value. When I was picking startups for Y Combinator, I didn’t care about applicants’ grades. But if they’d worked on projects of their own, I wanted to hear all about those. [2]

It may be inevitable that school is the way it is. I’m not saying we have to redesign it (though I’m not saying we don’t), just that we should understand what it does to our attitudes to work — that it steers us toward the dutiful plodding kind of work, often using competition as bait, and away from skating.

There are occasionally times when schoolwork becomes a project of one’s own. Whenever I had to write a paper, that would become a project of my own — except in English classes, ironically, because the things one has to write in English classes are so bogus. And when I got to college and started taking CS classes, the programs I had to write became projects of my own. Whenever I was writing or programming, I was usually skating, and that has been true ever since.

So where exactly is the edge of projects of one’s own? That’s an interesting question, partly because the answer is so complicated, and partly because there’s so much at stake. There turn out to be two senses in which work can be one’s own: 1) that you’re doing it voluntarily, rather than merely because someone told you to, and 2) that you’re doing it by yourself.

The edge of the former is quite sharp. People who care a lot about their work are usually very sensitive to the difference between pulling, and being pushed, and work tends to fall into one category or the other. But the test isn’t simply whether you’re told to do something. You can choose to do something you’re told to do. Indeed, you can own it far more thoroughly than the person who told you to do it.

For example, math homework is for most people something they’re told to do. But for my father, who was a mathematician, it wasn’t. Most of us think of the problems in a math book as a way to test or develop our knowledge of the material explained in each section. But to my father the problems were the part that mattered, and the text was merely a sort of annotation. Whenever he got a new math book it was to him like being given a puzzle: here was a new set of problems to solve, and he’d immediately set about solving all of them.

The other sense of a project being one’s own — working on it by oneself — has a much softer edge. It shades gradually into collaboration. And interestingly, it shades into collaboration in two different ways. One way to collaborate is to share a single project. For example, when two mathematicians collaborate on a proof that takes shape in the course of a conversation between them. The other way is when multiple people work on separate projects of their own that fit together like a jigsaw puzzle. For example, when one person writes the text of a book and another does the graphic design. [3]

These two paths into collaboration can of course be combined. But under the right conditions, the excitement of working on a project of one’s own can be preserved for quite a while before disintegrating into the turbulent flow of work in a large organization. Indeed, the history of successful organizations is partly the history of techniques for preserving that excitement. [4]

The team that made the original Macintosh were a great example of this phenomenon. People like Burrell Smith and Andy Hertzfeld and Bill Atkinson and Susan Kare were not just following orders. They were not tennis balls hit by Steve Jobs, but rockets let loose by Steve Jobs. There was a lot of collaboration between them, but they all seem to have individually felt the excitement of working on a project of one’s own.

In Andy Hertzfeld’s book on the Macintosh, he describes how they’d come back into the office after dinner and work late into the night. People who’ve never experienced the thrill of working on a project they’re excited about can’t distinguish this kind of working long hours from the kind that happens in sweatshops and boiler rooms, but they’re at opposite ends of the spectrum. That’s why it’s a mistake to insist dogmatically on “work/life balance.” Indeed, the mere expression “work/life” embodies a mistake: it assumes work and life are distinct. For those to whom the word “work” automatically implies the dutiful plodding kind, they are. But for the skaters, the relationship between work and life would be better represented by a dash than a slash. I wouldn’t want to work on anything that I didn’t want to take over my life.

Of course, it’s easier to achieve this level of motivation when you’re making something like the Macintosh. It’s easy for something new to feel like a project of your own. That’s one of the reasons for the tendency programmers have to rewrite things that don’t need rewriting, and to write their own versions of things that already exist. This sometimes alarms managers, and measured by total number of characters typed, it’s rarely the optimal solution. But it’s not always driven simply by arrogance or cluelessness. Writing code from scratch is also much more rewarding — so much more rewarding that a good programmer can end up net ahead, despite the shocking waste of characters. Indeed, it may be one of the advantages of capitalism that it encourages such rewriting. A company that needs software to do something can’t use the software already written to do it at another company, and thus has to write their own, which often turns out better. [5]

The natural alignment between skating and solving new problems is one of the reasons the payoffs from startups are so high. Not only is the market price of unsolved problems higher, you also get a discount on productivity when you work on them. In fact, you get a double increase in productivity: when you’re doing a clean-sheet design, it’s easier to recruit skaters, and they get to spend all their time skating.

Steve Jobs knew a thing or two about skaters from having watched Steve Wozniak. If you can find the right people, you only have to tell them what to do at the highest level. They’ll handle the details. Indeed, they insist on it. For a project to feel like your own, you must have sufficient autonomy. You can’t be working to order, or slowed down by bureaucracy.

One way to ensure autonomy is not to have a boss at all. There are two ways to do that: to be the boss yourself, and to work on projects outside of work. Though they’re at opposite ends of the scale financially, startups and open source projects have a lot in common, including the fact that they’re often run by skaters. And indeed, there’s a wormhole from one end of the scale to the other: one of the best ways to discover startup ideas is to work on a project just for fun.

If your projects are the kind that make money, it’s easy to work on them. It’s harder when they’re not. And the hardest part, usually, is morale. That’s where adults have it harder than kids. Kids just plunge in and build their treehouse without worrying about whether they’re wasting their time, or how it compares to other treehouses. And frankly we could learn a lot from kids here. The high standards most grownups have for “real” work do not always serve us well.

The most important phase in a project of one’s own is at the beginning: when you go from thinking it might be cool to do x to actually doing x. And at that point high standards are not merely useless but positively harmful. There are a few people who start too many new projects, but far more, I suspect, who are deterred by fear of failure from starting projects that would have succeeded if they had.

But if we couldn’t benefit as kids from the knowledge that our treehouses were on the path to grownup projects, we can at least benefit as grownups from knowing that our projects are on a path that stretches back to treehouses. Remember that careless confidence you had as a kid when starting something new? That would be a powerful thing to recapture.

If it’s harder as adults to retain that kind of confidence, we at least tend to be more aware of what we’re doing. Kids bounce, or are herded, from one kind of work to the next, barely realizing what’s happening to them. Whereas we know more about different types of work and have more control over which we do. Ideally we can have the best of both worlds: to be deliberate in choosing to work on projects of our own, and carelessly confident in starting new ones.

Notes

[1] “Hobby” is a curious word. Now it means work that isn’t real work — work that one is not to be judged by — but originally it just meant an obsession in a fairly general sense (even a political opinion, for example) that one metaphorically rode as a child rides a hobby-horse. It’s hard to say if its recent, narrower meaning is a change for the better or the worse. For sure there are lots of false positives — lots of projects that end up being important but are dismissed initially as mere hobbies. But on the other hand, the concept provides valuable cover for projects in the early, ugly duckling phase.

[2] Tiger parents, as parents so often do, are fighting the last war. Grades mattered more in the old days when the route to success was to acquire credentials while ascending some predefined ladder. But it’s just as well that their tactics are focused on grades. How awful it would be if they invaded the territory of projects, and thereby gave their kids a distaste for this kind of work by forcing them to do it. Grades are already a grim, fake world, and aren’t harmed much by parental interference, but working on one’s own projects is a more delicate, private thing that could be damaged very easily.

[3] The complicated, gradual edge between working on one’s own projects and collaborating with others is one reason there is so much disagreement about the idea of the “lone genius.” In practice people collaborate (or not) in all kinds of different ways, but the idea of the lone genius is definitely not a myth. There’s a core of truth to it that goes with a certain way of working.

[4] Collaboration is powerful too. The optimal organization would combine collaboration and ownership in such a way as to do the least damage to each. Interestingly, companies and university departments approach this ideal from opposite directions: companies insist on collaboration, and occasionally also manage both to recruit skaters and allow them to skate, and university departments insist on the ability to do independent research (which is by custom treated as skating, whether it is or not), and the people they hire collaborate as much as they choose.

[5] If a company could design its software in such a way that the best newly arrived programmers always got a clean sheet, it could have a kind of eternal youth. That might not be impossible. If you had a software backbone defining a game with sufficiently clear rules, individual programmers could write their own players.

Thanks to Trevor Blackwell, Paul Buchheit, Andy Hertzfeld, Jessica Livingston, and Peter Norvig for reading drafts of this.