{"id":2834,"date":"2007-09-05T20:44:51","date_gmt":"2007-09-05T15:14:51","guid":{"rendered":"http:\/\/www.ravikiran.com\/blog\/tech\/200709\/joel-spolsky-on-stuff\/"},"modified":"2007-09-05T20:47:17","modified_gmt":"2007-09-05T15:17:17","slug":"joel-spolsky-on-stuff","status":"publish","type":"post","link":"https:\/\/www.ravikiran.com\/blog\/classic\/200709\/joel-spolsky-on-stuff\/","title":{"rendered":"Joel Spolsky on Stuff"},"content":{"rendered":"<p>A five page interview. <a href=\"http:\/\/www.acmqueue.org\/modules.php?name=Content&#038;pa=showpage&#038;pid=497&#038;page=1\">Go read.<\/a><\/p>\n<blockquote><p>I really feel that for somebody who loves software and is a good developer, there&#8217;s a lot of benefit to working in a software company, mainly because the things that you know about and are good at are directly aligned with the things that the business is good at and the kinds of things that you get promoted for. <strong>But, actually, banking is sort of interesting, because when it comes right down to it, 95 percent of what you&#8217;re doing actually is information technology in a certain way.<\/strong> Even a derivative is a form of code in some ways, although there&#8217;s a trading aspect to it as well. So it&#8217;s actually conceivable in the banking industry that somebody who started out as a developer might be promoted to the point of actually running a bank &#8211; and that has happened. So, you don&#8217;t feel completely misaligned. <\/p>\n<p>On the other hand, if you go to an entertainment company as a software developer, such as when I was at Viacom working on MTV, or any other kinds of companies such as insurance, you&#8217;re really a subcontractor\/service provider. The things you think about every day are not the same things that the CEO thinks about writ small; they&#8217;re actually a very different kind of thing\n<\/p><\/blockquote>\n<p>&#8230;<\/p>\n<blockquote><p> There aren&#8217;t many books on the state of the art in software development and software management right now, which are the kinds of things that I like to write and read about. Unfortunately, we haven&#8217;t moved beyond the anecdote phase, and attempts to move beyond the anecdote phase are usually just anecdotes with statistics. <\/p>\n<p>Part of the problem is there really isn&#8217;t a science going on here, which is very frustrating. The same applies to an awful lot of business writing. It&#8217;s very easy to write a book called, for example, The Starbucks Principle or The Dell Way, and just bring up a whole bunch of random anecdotes and somehow tie them together thematically and pretend that this is a real thing that you can do and be successful at. <\/p>\n<p>And, lo and behold, another moron then is going to try to attempt the same thing in his or her own company. It doesn&#8217;t work because it doesn&#8217;t apply or because it didn&#8217;t work in the original company, either &#8211; it&#8217;s just an anecdote that somebody pulled out of thin air. That&#8217;s one of the problems that this particular field has been suffering from.\n<\/p><\/blockquote>\n<p>&#8230;<\/p>\n<blockquote><p>The interesting thing that I discovered is that people often underestimate. But you might think they overestimate, too, so if you have 10 things to do, just add up all those estimates and some of them will be late and some of them will be early, and you should still end up with the same date. You&#8217;ll make up for the late ones by doing other things early. <\/p>\n<p>But when you think about software tasks, when things go wrong, they take three or four times longer than expected. If I told you I&#8217;ve got an eight-hour feature, it&#8217;s about eight hours of work. Now, could it take eight hours? Yes. Could it take six hours? Sure. Could it take two days? Definitely. Could it take a week? Yes, probably with a 10 percent probability because you&#8217;ve discovered some huge problem, and it&#8217;s a new thing you have to write code for, and you just completely forgot about it and it&#8217;s going to take you a week. <\/p>\n<p>Now, could it take zero? No, that&#8217;s impossible. Could it take negative 32 hours? It could never take negative 32 hours. You can go over 32 hours; you just can&#8217;t go under by 32 hours because that would cause you to go backwards in time. <\/p>\n<\/blockquote>\n<p>The last bit reminds me that I need to read Fooled By Randomness&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A five page interview. Go read. I really feel that for somebody who loves software and is a good developer, there&#8217;s a lot of benefit to working in a software company, mainly because the things that you know about and are good at are directly aligned with the things that the business is good at [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/posts\/2834"}],"collection":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/comments?post=2834"}],"version-history":[{"count":0,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/posts\/2834\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/media?parent=2834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/categories?post=2834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ravikiran.com\/blog\/wp-json\/wp\/v2\/tags?post=2834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}