gh.txt 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. Want to start a startup? Get funded by
  2. Y Combinator.
  3. July 2004(This essay is derived from a talk at Oscon 2004.)
  4. A few months ago I finished a new
  5. book,
  6. and in reviews I keep
  7. noticing words like "provocative'' and "controversial.'' To say
  8. nothing of "idiotic.''I didn't mean to make the book controversial. I was trying to make
  9. it efficient. I didn't want to waste people's time telling them
  10. things they already knew. It's more efficient just to give them
  11. the diffs. But I suppose that's bound to yield an alarming book.EdisonsThere's no controversy about which idea is most controversial:
  12. the suggestion that variation in wealth might not be as big a
  13. problem as we think.I didn't say in the book that variation in wealth was in itself a
  14. good thing. I said in some situations it might be a sign of good
  15. things. A throbbing headache is not a good thing, but it can be
  16. a sign of a good thing-- for example, that you're recovering
  17. consciousness after being hit on the head.Variation in wealth can be a sign of variation in productivity.
  18. (In a society of one, they're identical.) And that
  19. is almost certainly a good thing: if your society has no variation
  20. in productivity, it's probably not because everyone is Thomas
  21. Edison. It's probably because you have no Thomas Edisons.In a low-tech society you don't see much variation in productivity.
  22. If you have a tribe of nomads collecting sticks for a fire, how
  23. much more productive is the best stick gatherer going to be than
  24. the worst? A factor of two? Whereas when you hand people a complex tool
  25. like a computer, the variation in what they can do with
  26. it is enormous.That's not a new idea. Fred Brooks wrote about it in 1974, and
  27. the study he quoted was published in 1968. But I think he
  28. underestimated the variation between programmers. He wrote about productivity in lines
  29. of code: the best programmers can solve a given problem in a tenth
  30. the time. But what if the problem isn't given? In programming, as
  31. in many fields, the hard part isn't solving problems, but deciding
  32. what problems to solve. Imagination is hard to measure, but
  33. in practice it dominates the kind of productivity that's measured
  34. in lines of code.Productivity varies in any field, but there are few in which it
  35. varies so much. The variation between programmers
  36. is so great that it becomes a difference in kind. I don't
  37. think this is something intrinsic to programming, though. In every field,
  38. technology magnifies differences in productivity. I think what's
  39. happening in programming is just that we have a lot of technological
  40. leverage. But in every field the lever is getting longer, so the
  41. variation we see is something that more and more fields will see
  42. as time goes on. And the success of companies, and countries, will
  43. depend increasingly on how they deal with it.If variation in productivity increases with technology, then the
  44. contribution of the most productive individuals will not only be
  45. disproportionately large, but will actually grow with time. When
  46. you reach the point where 90% of a group's output is created by 1%
  47. of its members, you lose big if something (whether Viking raids,
  48. or central planning) drags their productivity down to the average.If we want to get the most out of them, we need to understand these
  49. especially productive people. What motivates them? What do they
  50. need to do their jobs? How do you recognize them? How do you
  51. get them to come and work for you? And then of course there's the
  52. question, how do you become one?More than MoneyI know a handful of super-hackers, so I sat down and thought about
  53. what they have in common. Their defining quality is probably that
  54. they really love to program. Ordinary programmers write code to pay
  55. the bills. Great hackers think of it as something they do for fun,
  56. and which they're delighted to find people will pay them for.Great programmers are sometimes said to be indifferent to money.
  57. This isn't quite true. It is true that all they really care about
  58. is doing interesting work. But if you make enough money, you get
  59. to work on whatever you want, and for that reason hackers are
  60. attracted by the idea of making really large amounts of money.
  61. But as long as they still have to show up for work every day, they
  62. care more about what they do there than how much they get paid for
  63. it.Economically, this is a fact of the greatest importance, because
  64. it means you don't have to pay great hackers anything like what
  65. they're worth. A great programmer might be ten or a hundred times
  66. as productive as an ordinary one, but he'll consider himself lucky
  67. to get paid three times as much. As I'll explain later, this is
  68. partly because great hackers don't know how good they are. But
  69. it's also because money is not the main thing they want.What do hackers want? Like all craftsmen, hackers like good tools.
  70. In fact, that's an understatement. Good hackers find it unbearable
  71. to use bad tools. They'll simply refuse to work on projects with
  72. the wrong infrastructure.At a startup I once worked for, one of the things pinned up on our
  73. bulletin board was an ad from IBM. It was a picture of an AS400,
  74. and the headline read, I think, "hackers despise
  75. it.'' [1]When you decide what infrastructure to use for a project, you're
  76. not just making a technical decision. You're also making a social
  77. decision, and this may be the more important of the two. For
  78. example, if your company wants to write some software, it might
  79. seem a prudent choice to write it in Java. But when you choose a
  80. language, you're also choosing a community. The programmers you'll
  81. be able to hire to work on a Java project won't be as
  82. smart as the
  83. ones you could get to work on a project written in Python.
  84. And the quality of your hackers probably matters more than the
  85. language you choose. Though, frankly, the fact that good hackers
  86. prefer Python to Java should tell you something about the relative
  87. merits of those languages.Business types prefer the most popular languages because they view
  88. languages as standards. They don't want to bet the company on
  89. Betamax. The thing about languages, though, is that they're not
  90. just standards. If you have to move bits over a network, by all
  91. means use TCP/IP. But a programming language isn't just a format.
  92. A programming language is a medium of expression.I've read that Java has just overtaken Cobol as the most popular
  93. language. As a standard, you couldn't wish for more. But as a
  94. medium of expression, you could do a lot better. Of all the great
  95. programmers I can think of, I know of only one who would voluntarily
  96. program in Java. And of all the great programmers I can think of
  97. who don't work for Sun, on Java, I know of zero.Great hackers also generally insist on using open source software.
  98. Not just because it's better, but because it gives them more control.
  99. Good hackers insist on control. This is part of what makes them
  100. good hackers: when something's broken, they need to fix it. You
  101. want them to feel this way about the software they're writing for
  102. you. You shouldn't be surprised when they feel the same way about
  103. the operating system.A couple years ago a venture capitalist friend told me about a new
  104. startup he was involved with. It sounded promising. But the next
  105. time I talked to him, he said they'd decided to build their software
  106. on Windows NT, and had just hired a very experienced NT developer
  107. to be their chief technical officer. When I heard this, I thought,
  108. these guys are doomed. One, the CTO couldn't be a first rate
  109. hacker, because to become an eminent NT developer he would have
  110. had to use NT voluntarily, multiple times, and I couldn't imagine
  111. a great hacker doing that; and two, even if he was good, he'd have
  112. a hard time hiring anyone good to work for him if the project had
  113. to be built on NT. [2]The Final FrontierAfter software, the most important tool to a hacker is probably
  114. his office. Big companies think the function of office space is to express
  115. rank. But hackers use their offices for more than that: they
  116. use their office as a place to think in. And if you're a technology
  117. company, their thoughts are your product. So making hackers work
  118. in a noisy, distracting environment is like having a paint factory
  119. where the air is full of soot.The cartoon strip Dilbert has a lot to say about cubicles, and with
  120. good reason. All the hackers I know despise them. The mere prospect
  121. of being interrupted is enough to prevent hackers from working on
  122. hard problems. If you want to get real work done in an office with
  123. cubicles, you have two options: work at home, or come in early or
  124. late or on a weekend, when no one else is there. Don't companies
  125. realize this is a sign that something is broken? An office
  126. environment is supposed to be something that helps
  127. you work, not something you work despite.Companies like Cisco are proud that everyone there has a cubicle,
  128. even the CEO. But they're not so advanced as they think; obviously
  129. they still view office space as a badge of rank. Note too that
  130. Cisco is famous for doing very little product development in house.
  131. They get new technology by buying the startups that created it-- where
  132. presumably the hackers did have somewhere quiet to work.One big company that understands what hackers need is Microsoft.
  133. I once saw a recruiting ad for Microsoft with a big picture of a
  134. door. Work for us, the premise was, and we'll give you a place to
  135. work where you can actually get work done. And you know, Microsoft
  136. is remarkable among big companies in that they are able to develop
  137. software in house. Not well, perhaps, but well enough.If companies want hackers to be productive, they should look at
  138. what they do at home. At home, hackers can arrange things themselves
  139. so they can get the most done. And when they work at home, hackers
  140. don't work in noisy, open spaces; they work in rooms with doors. They
  141. work in cosy, neighborhoody places with people around and somewhere
  142. to walk when they need to mull something over, instead of in glass
  143. boxes set in acres of parking lots. They have a sofa they can take
  144. a nap on when they feel tired, instead of sitting in a coma at
  145. their desk, pretending to work. There's no crew of people with
  146. vacuum cleaners that roars through every evening during the prime
  147. hacking hours. There are no meetings or, God forbid, corporate
  148. retreats or team-building exercises. And when you look at what
  149. they're doing on that computer, you'll find it reinforces what I
  150. said earlier about tools. They may have to use Java and Windows
  151. at work, but at home, where they can choose for themselves, you're
  152. more likely to find them using Perl and Linux.Indeed, these statistics about Cobol or Java being the most popular
  153. language can be misleading. What we ought to look at, if we want
  154. to know what tools are best, is what hackers choose when they can
  155. choose freely-- that is, in projects of their own. When you ask
  156. that question, you find that open source operating systems already
  157. have a dominant market share, and the number one language is probably
  158. Perl.InterestingAlong with good tools, hackers want interesting projects. What
  159. makes a project interesting? Well, obviously overtly sexy
  160. applications like stealth planes or special effects software would
  161. be interesting to work on. But any application can be interesting
  162. if it poses novel technical challenges. So it's hard to predict
  163. which problems hackers will like, because some become
  164. interesting only when the people working on them discover a new
  165. kind of solution. Before ITA
  166. (who wrote the software inside Orbitz),
  167. the people working on airline fare searches probably thought it
  168. was one of the most boring applications imaginable. But ITA made
  169. it interesting by
  170. redefining the problem in a more ambitious way.I think the same thing happened at Google. When Google was founded,
  171. the conventional wisdom among the so-called portals was that search
  172. was boring and unimportant. But the guys at Google didn't think
  173. search was boring, and that's why they do it so well.This is an area where managers can make a difference. Like a parent
  174. saying to a child, I bet you can't clean up your whole room in
  175. ten minutes, a good manager can sometimes redefine a problem as a
  176. more interesting one. Steve Jobs seems to be particularly good at
  177. this, in part simply by having high standards. There were a lot
  178. of small, inexpensive computers before the Mac. He redefined the
  179. problem as: make one that's beautiful. And that probably drove
  180. the developers harder than any carrot or stick could.They certainly delivered. When the Mac first appeared, you didn't
  181. even have to turn it on to know it would be good; you could tell
  182. from the case. A few weeks ago I was walking along the street in
  183. Cambridge, and in someone's trash I saw what appeared to be a Mac
  184. carrying case. I looked inside, and there was a Mac SE. I carried
  185. it home and plugged it in, and it booted. The happy Macintosh
  186. face, and then the finder. My God, it was so simple. It was just
  187. like ... Google.Hackers like to work for people with high standards. But it's not
  188. enough just to be exacting. You have to insist on the right things.
  189. Which usually means that you have to be a hacker yourself. I've
  190. seen occasional articles about how to manage programmers. Really
  191. there should be two articles: one about what to do if
  192. you are yourself a programmer, and one about what to do if you're not. And the
  193. second could probably be condensed into two words: give up.The problem is not so much the day to day management. Really good
  194. hackers are practically self-managing. The problem is, if you're
  195. not a hacker, you can't tell who the good hackers are. A similar
  196. problem explains why American cars are so ugly. I call it the
  197. design paradox. You might think that you could make your products
  198. beautiful just by hiring a great designer to design them. But if
  199. you yourself don't have good taste,
  200. how are you going to recognize
  201. a good designer? By definition you can't tell from his portfolio.
  202. And you can't go by the awards he's won or the jobs he's had,
  203. because in design, as in most fields, those tend to be driven by
  204. fashion and schmoozing, with actual ability a distant third.
  205. There's no way around it: you can't manage a process intended to
  206. produce beautiful things without knowing what beautiful is. American
  207. cars are ugly because American car companies are run by people with
  208. bad taste.Many people in this country think of taste as something elusive,
  209. or even frivolous. It is neither. To drive design, a manager must
  210. be the most demanding user of a company's products. And if you
  211. have really good taste, you can, as Steve Jobs does, make satisfying
  212. you the kind of problem that good people like to work on.Nasty Little ProblemsIt's pretty easy to say what kinds of problems are not interesting:
  213. those where instead of solving a few big, clear, problems, you have
  214. to solve a lot of nasty little ones. One of the worst kinds of
  215. projects is writing an interface to a piece of software that's
  216. full of bugs. Another is when you have to customize
  217. something for an individual client's complex and ill-defined needs.
  218. To hackers these kinds of projects are the death of a thousand
  219. cuts.The distinguishing feature of nasty little problems is that you
  220. don't learn anything from them. Writing a compiler is interesting
  221. because it teaches you what a compiler is. But writing an interface
  222. to a buggy piece of software doesn't teach you anything, because the
  223. bugs are random. [3] So it's not just fastidiousness that makes good
  224. hackers avoid nasty little problems. It's more a question of
  225. self-preservation. Working on nasty little problems makes you
  226. stupid. Good hackers avoid it for the same reason models avoid
  227. cheeseburgers.Of course some problems inherently have this character. And because
  228. of supply and demand, they pay especially well. So a company that
  229. found a way to get great hackers to work on tedious problems would
  230. be very successful. How would you do it?One place this happens is in startups. At our startup we had
  231. Robert Morris working as a system administrator. That's like having the
  232. Rolling Stones play at a bar mitzvah. You can't hire that kind of
  233. talent. But people will do any amount of drudgery for companies
  234. of which they're the founders. [4]Bigger companies solve the problem by partitioning the company.
  235. They get smart people to work for them by establishing a separate
  236. R&D department where employees don't have to work directly on
  237. customers' nasty little problems. [5] In this model, the research
  238. department functions like a mine. They produce new ideas; maybe
  239. the rest of the company will be able to use them.You may not have to go to this extreme.
  240. Bottom-up programming
  241. suggests another way to partition the company: have the smart people
  242. work as toolmakers. If your company makes software to do x, have
  243. one group that builds tools for writing software of that type, and
  244. another that uses these tools to write the applications. This way
  245. you might be able to get smart people to write 99% of your code,
  246. but still keep them almost as insulated from users as they would
  247. be in a traditional research department. The toolmakers would have
  248. users, but they'd only be the company's own developers. [6]If Microsoft used this approach, their software wouldn't be so full
  249. of security holes, because the less smart people writing the actual
  250. applications wouldn't be doing low-level stuff like allocating
  251. memory. Instead of writing Word directly in C, they'd be plugging
  252. together big Lego blocks of Word-language. (Duplo, I believe, is
  253. the technical term.)ClumpingAlong with interesting problems, what good hackers like is other
  254. good hackers. Great hackers tend to clump together-- sometimes
  255. spectacularly so, as at Xerox Parc. So you won't attract good
  256. hackers in linear proportion to how good an environment you create
  257. for them. The tendency to clump means it's more like the square
  258. of the environment. So it's winner take all. At any given time,
  259. there are only about ten or twenty places where hackers most want to
  260. work, and if you aren't one of them, you won't just have fewer
  261. great hackers, you'll have zero.Having great hackers is not, by itself, enough to make a company
  262. successful. It works well for Google and ITA, which are two of
  263. the hot spots right now, but it didn't help Thinking Machines or
  264. Xerox. Sun had a good run for a while, but their business model
  265. is a down elevator. In that situation, even the best hackers can't
  266. save you.I think, though, that all other things being equal, a company that
  267. can attract great hackers will have a huge advantage. There are
  268. people who would disagree with this. When we were making the rounds
  269. of venture capital firms in the 1990s, several told us that software
  270. companies didn't win by writing great software, but through brand,
  271. and dominating channels, and doing the right deals.They really seemed to believe this, and I think I know why. I
  272. think what a lot of VCs are looking for, at least unconsciously,
  273. is the next Microsoft. And of course if Microsoft is your model,
  274. you shouldn't be looking for companies that hope to win by writing
  275. great software. But VCs are mistaken to look for the next Microsoft,
  276. because no startup can be the next Microsoft unless some other
  277. company is prepared to bend over at just the right moment and be
  278. the next IBM.It's a mistake to use Microsoft as a model, because their whole
  279. culture derives from that one lucky break. Microsoft is a bad data
  280. point. If you throw them out, you find that good products do tend
  281. to win in the market. What VCs should be looking for is the next
  282. Apple, or the next Google.I think Bill Gates knows this. What worries him about Google is
  283. not the power of their brand, but the fact that they have
  284. better hackers. [7]
  285. RecognitionSo who are the great hackers? How do you know when you meet one?
  286. That turns out to be very hard. Even hackers can't tell. I'm
  287. pretty sure now that my friend Trevor Blackwell is a great hacker.
  288. You may have read on Slashdot how he made his
  289. own Segway. The
  290. remarkable thing about this project was that he wrote all the
  291. software in one day (in Python, incidentally).For Trevor, that's
  292. par for the course. But when I first met him, I thought he was a
  293. complete idiot. He was standing in Robert Morris's office babbling
  294. at him about something or other, and I remember standing behind
  295. him making frantic gestures at Robert to shoo this nut out of his
  296. office so we could go to lunch. Robert says he misjudged Trevor
  297. at first too. Apparently when Robert first met him, Trevor had
  298. just begun a new scheme that involved writing down everything about
  299. every aspect of his life on a stack of index cards, which he carried
  300. with him everywhere. He'd also just arrived from Canada, and had
  301. a strong Canadian accent and a mullet.The problem is compounded by the fact that hackers, despite their
  302. reputation for social obliviousness, sometimes put a good deal of
  303. effort into seeming smart. When I was in grad school I used to
  304. hang around the MIT AI Lab occasionally. It was kind of intimidating
  305. at first. Everyone there spoke so fast. But after a while I
  306. learned the trick of speaking fast. You don't have to think any
  307. faster; just use twice as many words to say everything. With this amount of noise in the signal, it's hard to tell good
  308. hackers when you meet them. I can't tell, even now. You also
  309. can't tell from their resumes. It seems like the only way to judge
  310. a hacker is to work with him on something.And this is the reason that high-tech areas
  311. only happen around universities. The active ingredient
  312. here is not so much the professors as the students. Startups grow up
  313. around universities because universities bring together promising young
  314. people and make them work on the same projects. The
  315. smart ones learn who the other smart ones are, and together
  316. they cook up new projects of their own.Because you can't tell a great hacker except by working with him,
  317. hackers themselves can't tell how good they are. This is true to
  318. a degree in most fields. I've found that people who
  319. are great at something are not so much convinced of their own
  320. greatness as mystified at why everyone else seems so incompetent.
  321. But it's particularly hard for hackers to know how good they are,
  322. because it's hard to compare their work. This is easier in most
  323. other fields. In the hundred meters, you know in 10 seconds who's
  324. fastest. Even in math there seems to be a general consensus about
  325. which problems are hard to solve, and what constitutes a good
  326. solution. But hacking is like writing. Who can say which of two
  327. novels is better? Certainly not the authors.With hackers, at least, other hackers can tell. That's because,
  328. unlike novelists, hackers collaborate on projects. When you get
  329. to hit a few difficult problems over the net at someone, you learn
  330. pretty quickly how hard they hit them back. But hackers can't
  331. watch themselves at work. So if you ask a great hacker how good
  332. he is, he's almost certain to reply, I don't know. He's not just
  333. being modest. He really doesn't know.And none of us know, except about people we've actually worked
  334. with. Which puts us in a weird situation: we don't know who our
  335. heroes should be. The hackers who become famous tend to become
  336. famous by random accidents of PR. Occasionally I need to give an
  337. example of a great hacker, and I never know who to use. The first
  338. names that come to mind always tend to be people I know personally,
  339. but it seems lame to use them. So, I think, maybe I should say
  340. Richard Stallman, or Linus Torvalds, or Alan Kay, or someone famous
  341. like that. But I have no idea if these guys are great hackers.
  342. I've never worked with them on anything.If there is a Michael Jordan of hacking, no one knows, including
  343. him.CultivationFinally, the question the hackers have all been wondering about:
  344. how do you become a great hacker? I don't know if it's possible
  345. to make yourself into one. But it's certainly possible to do things
  346. that make you stupid, and if you can make yourself stupid, you
  347. can probably make yourself smart too.The key to being a good hacker may be to work on what you like.
  348. When I think about the great hackers I know, one thing they have
  349. in common is the extreme
  350. difficulty of making them work
  351. on anything they
  352. don't want to. I don't know if this is cause or effect; it may be
  353. both.To do something well you have to love it.
  354. So to the extent you
  355. can preserve hacking as something you love, you're likely to do it
  356. well. Try to keep the sense of wonder you had about programming at
  357. age 14. If you're worried that your current job is rotting your
  358. brain, it probably is.The best hackers tend to be smart, of course, but that's true in
  359. a lot of fields. Is there some quality that's unique to hackers?
  360. I asked some friends, and the number one thing they mentioned was
  361. curiosity.
  362. I'd always supposed that all smart people were curious--
  363. that curiosity was simply the first derivative of knowledge. But
  364. apparently hackers are particularly curious, especially about how
  365. things work. That makes sense, because programs are in effect
  366. giant descriptions of how things work.Several friends mentioned hackers' ability to concentrate-- their
  367. ability, as one put it, to "tune out everything outside their own
  368. heads.'' I've certainly noticed this. And I've heard several
  369. hackers say that after drinking even half a beer they can't program at
  370. all. So maybe hacking does require some special ability to focus.
  371. Perhaps great hackers can load a large amount of context into their
  372. head, so that when they look at a line of code, they see not just
  373. that line but the whole program around it. John McPhee
  374. wrote that Bill Bradley's success as a basketball player was due
  375. partly to his extraordinary peripheral vision. "Perfect'' eyesight
  376. means about 47 degrees of vertical peripheral vision. Bill Bradley
  377. had 70; he could see the basket when he was looking at the floor.
  378. Maybe great hackers have some similar inborn ability. (I cheat by
  379. using a very dense language,
  380. which shrinks the court.)This could explain the disconnect over cubicles. Maybe the people
  381. in charge of facilities, not having any concentration to shatter,
  382. have no idea that working in a cubicle feels to a hacker like having
  383. one's brain in a blender. (Whereas Bill, if the rumors of autism
  384. are true, knows all too well.)One difference I've noticed between great hackers and smart people
  385. in general is that hackers are more
  386. politically incorrect. To the
  387. extent there is a secret handshake among good hackers, it's when they
  388. know one another well enough to express opinions that would get
  389. them stoned to death by the general public. And I can see why
  390. political incorrectness would be a useful quality in programming.
  391. Programs are very complex and, at least in the hands of good
  392. programmers, very fluid. In such situations it's helpful to have
  393. a habit of questioning assumptions.Can you cultivate these qualities? I don't know. But you can at
  394. least not repress them. So here is my best shot at a recipe. If
  395. it is possible to make yourself into a great hacker, the way to do
  396. it may be to make the following deal with yourself: you never have
  397. to work on boring projects (unless your family will starve otherwise),
  398. and in return, you'll never allow yourself to do a half-assed job.
  399. All the great hackers I know seem to have made that deal, though
  400. perhaps none of them had any choice in the matter.Notes
  401. [1] In fairness, I have to say that IBM makes decent hardware. I
  402. wrote this on an IBM laptop.[2] They did turn out to be doomed. They shut down a few months
  403. later.[3] I think this is what people mean when they talk
  404. about the "meaning of life." On the face of it, this seems an
  405. odd idea. Life isn't an expression; how could it have meaning?
  406. But it can have a quality that feels a lot like meaning. In a project
  407. like a compiler, you have to solve a lot of problems, but the problems
  408. all fall into a pattern, as in a signal. Whereas when the problems
  409. you have to solve are random, they seem like noise.
  410. [4] Einstein at one point worked designing refrigerators. (He had equity.)[5] It's hard to say exactly what constitutes research in the
  411. computer world, but as a first approximation, it's software that
  412. doesn't have users.I don't think it's publication that makes the best hackers want to work
  413. in research departments. I think it's mainly not having to have a
  414. three hour meeting with a product manager about problems integrating
  415. the Korean version of Word 13.27 with the talking paperclip.[6] Something similar has been happening for a long time in the
  416. construction industry. When you had a house built a couple hundred
  417. years ago, the local builders built everything in it. But increasingly
  418. what builders do is assemble components designed and manufactured
  419. by someone else. This has, like the arrival of desktop publishing,
  420. given people the freedom to experiment in disastrous ways, but it
  421. is certainly more efficient.[7] Google is much more dangerous to Microsoft than Netscape was.
  422. Probably more dangerous than any other company has ever been. Not
  423. least because they're determined to fight. On their job listing
  424. page, they say that one of their "core values'' is "Don't be evil.''
  425. From a company selling soybean oil or mining equipment, such a
  426. statement would merely be eccentric. But I think all of us in the
  427. computer world recognize who that is a declaration of war on.Thanks to Jessica Livingston, Robert Morris, and Sarah Harlin
  428. for reading earlier versions of this talk.