<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>international geographic &#187; philosophy</title>
	<atom:link href="http://www.chetanislazy.com/blog/category/philosophy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chetanislazy.com/blog</link>
	<description>ooh, shiny!</description>
	<lastBuildDate>Thu, 19 May 2011 04:16:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Getting things done &#8211; DDG style</title>
		<link>http://www.chetanislazy.com/blog/2011/02/17/getting-things-done-ddg-style/</link>
		<comments>http://www.chetanislazy.com/blog/2011/02/17/getting-things-done-ddg-style/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 03:56:32 +0000</pubDate>
		<dc:creator>chetan</dc:creator>
				<category><![CDATA[philosophy]]></category>
		<category><![CDATA[ddg]]></category>
		<category><![CDATA[duck duck go]]></category>
		<category><![CDATA[gabriel weinberg]]></category>
		<category><![CDATA[getting things done]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[yegg]]></category>

		<guid isPermaLink="false">http://www.chetanislazy.com/blog/?p=267</guid>
		<description><![CDATA[I have no idea how Gabriel ever gets anything done, considering that he&#8217;s constantly responding to emails, tweets, forum posts, comments on various sites and IRC &#8212; just to name a few! Here&#8217;s a typical exchange from earlier today when I reported a poorly performing query on DDG: I used to be like that when [...]]]></description>
			<content:encoded><![CDATA[<p>I have no idea how <a href="http://ye.gg">Gabriel</a> ever gets anything done, considering that he&#8217;s constantly responding to emails, tweets, forum posts, comments on various sites and IRC &#8212; just to name a few!</p>
<p>Here&#8217;s a typical exchange from earlier today when I reported a poorly performing query on <a href="http://duckduckgo.com">DDG</a>:</p>
<p><img src="http://chetanislazy.com/images/blog/ddg-gtd.png" /></p>
<p>I used to be like that when I was at Operative but I don&#8217;t think I was anywhere near as productive as him. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.chetanislazy.com/blog/2011/02/17/getting-things-done-ddg-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pointless rewrite? Probably.</title>
		<link>http://www.chetanislazy.com/blog/2008/08/06/pointless-rewrite-probably/</link>
		<comments>http://www.chetanislazy.com/blog/2008/08/06/pointless-rewrite-probably/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 21:41:29 +0000</pubDate>
		<dc:creator>chetan</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.chetanislazy.com/blog/?p=66</guid>
		<description><![CDATA[Del.icio.us (sorry, it&#8217;s just plain old &#8220;Delicious&#8221; now) 2.0 finally launched a few days ago and the response so far has been mixed. But now that the dust has settled some, it&#8217;s time to think about just how we got here and if it was really worth all the trouble. According to the official blog [...]]]></description>
			<content:encoded><![CDATA[<p>Del.icio.us (sorry, it&#8217;s just plain old &#8220;Delicious&#8221; now) 2.0 <a href="http://www.techcrunch.com/2008/07/31/delicious-20-launches-really-it-totally-launched/">finally</a> <a href="http://blog.delicious.com/blog/2008/07/oh-happy-day.html">launched</a> a few days ago and the <a href="http://www.readwriteweb.com/archives/delicious_finally_launches_ver.php">response</a> so far <a href="http://furrier.org/2008/08/01/yahoo-launches-delicious-20-does-anyone-care/">has been</a> <a href="http://www.mathewingram.com/work/2008/07/31/delicious-20-who-bookmarks-any-more/">mixed</a>. But now that the dust has settled some, it&#8217;s time to think about just how we got here and if it was really worth all the <a href="http://venturebeat.com/2008/07/31/heres-delicious-20-what-on-earth-took-them-so-long/">trouble</a>. </p>
<p>According to the <a href="http://blog.delicious.com/blog/2008/07/oh-happy-day.html ">official blog post</a>, the new and improved Delicious brings us <em>speed</em>, <em>usability</em>, and oh so <em>good looks</em> among other features and it was a long time in the making. The Yahoo acquisition was <a href="http://blog.delicious.com/blog/2005/12/yahoo.html">announced</a> on Dec 9, 2005 and the new site finally went live a little over two and a half years later on July 31, 2008. So why did it take them so long?</p>
<p>A key change as a result of the Yahoo! acquisition was their decision to <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&#038;printTitle=The_Wages_of_Pointless_Rewrites&#038;entry=3394981268">rewrite the whole thing</a> <a href="http://www.symfony-project.org/blog/2007/10/02/delicious-preview-built-with-symfony">in PHP</a> using the <a href="http://www.symfony-project.org/">Symfony framework</a>, for no other reason than that it&#8217;s the current <a href="http://developers.slashdot.org/article.pl?sid=02/10/29/2052239">corporate standard at Yahoo!</a>. Oh, and, coincidentally, <a href="http://bookmarks.yahoo.com/">Yahoo! Bookmarks</a> was also built on PHP+Symfony. </p>
<p>So now it starts to make a bit of sense: you take a system being actively used by millions of users around the world and you start over from scratch with the goal of building it bigger and better, toss in a couple of hot buzzwords to meet Web 2.0 compliance guidelines, and before you know it 2 years have gone by. </p>
<p>I find it very hard to believe that with all the talent and the thousands of man years combined software development experience over there, that no one understands the pros and cons of rewriting vs refactoring a code base, especially given the enormous success of the service and the relatively trouble-free history as compared to, say, Twitter. </p>
<p>At the same time, I understand it all too well. From where I sit, and having been involved in a similar situation in the past as well as with my current employer, the decision to move to PHP was clearly not based on a <a href="http://www.1729.com/blog/EconomicsOfTestingUglyCode.html">cost/benefit analysis</a> of maintaing the current system. In fact, I wonder if they even understood what the real problems, if any, were with the existing system before deciding to not just rewrite it, but write it in another language. </p>
<p>Moving to <a href="http://www.codinghorror.com/blog/archives/001119.html">another language</a> is a pretty drastic step to take and will <a href="http://www.alleyinsider.com/2008/5/why_can_t_twitter_scale_blaine_cook_tries_to_explain">rarely</a> <a href="http://romeda.org/blog/2008/05/scalability.html">solve</a> your problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chetanislazy.com/blog/2008/08/06/pointless-rewrite-probably/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>If you&#8217;re not outraged, you&#8217;re not paying attention</title>
		<link>http://www.chetanislazy.com/blog/2008/02/14/if-youre-not-outraged-youre-not-paying-attention/</link>
		<comments>http://www.chetanislazy.com/blog/2008/02/14/if-youre-not-outraged-youre-not-paying-attention/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 20:13:48 +0000</pubDate>
		<dc:creator>chetan</dc:creator>
				<category><![CDATA[philosophy]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.chetanislazy.com/blog/2008/02/14/if-youre-not-outraged-youre-not-paying-attention/</guid>
		<description><![CDATA[Is just getting the job done always enough? One of my personal philosophies is that if you&#8217;re not learning, you&#8217;re not improving. If you&#8217;re not improving, then what have you really accomplished? In fact, there&#8217;s a pretty good chance that you&#8217;ve even gotten worse, if only because everyone else has gotten better. It&#8217;s like a [...]]]></description>
			<content:encoded><![CDATA[<p>Is just getting the job done always enough? One of my personal philosophies is that if you&#8217;re not learning, you&#8217;re not improving. If you&#8217;re not improving, then what have you really accomplished? In fact, there&#8217;s a pretty good chance that you&#8217;ve even gotten worse, if only because everyone else has gotten better. It&#8217;s like a television or movie series that comes back year after with the same old, tired formula. No better than previous iterations, and doesn&#8217;t even meet the expectations set by its predecessors. Think Bond, James Bond.</p>
<p><span id="more-61"></span></p>
<h4>So how do we learn?</h4>
<p>Let&#8217;s suppose that you wanted to learn how to survive a volcanic eruption. You have two basic options: go and find someone who&#8217;s done it before (<a href="http://imdb.com/title/tt0120461/">Tommy Lee Jones?</a>) and learn directly from them, or, find a book or other <a href="http://www.wikihow.com/Survive-a-Volcanic-Eruption">information source</a> and learn it on your own.</p>
<p>Where I work, both options are impractical, for different reasons, within our product, development and quality assurance groups. As part of the dev team, I&#8217;ll only speak to what I&#8217;ve observed here but I think it applies just as well to the other groups.</p>
<h4>Learning through the sharing of experience</h4>
<p>In our core team, we currently have 31 developers (excluding myself): 5 leads, 7 senior developers, and 19 junior. Ranks are strictly based on years of experience, which has no bearing at all on quality of experience. In essence, the knowledge gap between our junior and senior developers is small, and even smaller between our seniors and our leads. After a certain amount of time in the team, a developer sort of plateaus &#8212; this is how we do things, and, well, that&#8217;s that. The mentality is, &#8220;this is how I was taught by the guy before me and it seems to work well enough, so why change?&#8221;</p>
<h4>Self learning</h4>
<p>We&#8217;ve got some bright people on the team, there&#8217;s no question of that. If given the opportunity, they&#8217;re capable of doing good work. The problem we face is that they just haven&#8217;t been given the opportunity. Not once, in three years. Our schedules are the most aggressive I&#8217;ve ever seen, without any break between releases. The schedule simply does not allow for any amount of experimentation with new techniques or technologies. We tried introducing some change in to one of our current projects and we&#8217;ve been burned pretty badly by it; we slipped on a date for the first time since I&#8217;ve been around, and the repercussions have been swift in the making. More on that later, but first&#8230;</p>
<h4>Some history</h4>
<p>The software division started out as many software stories do: a couple of smart people with lots of domain knowledge, but no technical expertise, and no product, went out and sold an idea. Through sheer force of will, and the help of one very sharp developer, they managed to build and deliver on their promises in a matter of months. As the deals rolled in, and with them, requests for more features, the engineering team grew slowly but things quickly boiled over, causing that first developer, who started it all, to leave abruptly [1].</p>
<p>From there, it was a long, slow descent to the present day. The developer wasn&#8217;t replaced quickly and the decision was made to move core development offshore, at a much lower cost. No one back at headquarters really understood what was going on in development, just that things seemed to be working smoothly. Dates were hit, features were delivered, customers were happy, and their numbers were growing. What more could you want?</p>
<p>Well, at some point it was decided that an entirely new platform was required for the company to continue on it&#8217;s current growth path. A &#8220;forklift&#8221; project that would be developed in parallel and eventually replace the existing system, which would continue to be developed as demand was still strong and new customers were being signed on. New talent was finally brought in but the existing resources never benefited from them, as they worked in isolation. The goals for the new project were technologically lofty, to put it mildly. Time passed and milestones were missed, dates slipped further and further, and eventually the project was scrapped in favor of the existing platform which continued to enjoy success, in that it was always on schedule.</p>
<h4>Everybody panic</h4>
<p>Cut to the present. We&#8217;ve had a few production outages, with some lasting for more than a single business day. The type of business we&#8217;re in, and the money at stake, not to mention the promises we&#8217;ve made, this is totally unacceptable. We&#8217;ve had dates slip. The platform we&#8217;re building on top of is unstable to the point where every release only compounds the performance problems we see in production. Our customers aren&#8217;t stupid &#8212; they&#8217;ve noticed the consistent performance degradation and have been complaining pretty steadily, so far to deaf ears.</p>
<p>The reaction? Knee jerk. I&#8217;m told a consultant is being brought in, and a project manager hired and set to start in a week&#8217;s time. I&#8217;ve no idea how they came to this, as no one in my team, now numbering 42 developers at last count, was interviewed or consulted before any decision was made. In fact, I&#8217;m not even sure my boss was.</p>
<p>I think it might be a small step in the general vicinity of something vaguely trying to resemble the appearance of being in the right direction, but, given past performance, I don&#8217;t think it&#8217;s going to work. There is a tendency to stop short of solving the real problems, and in doing so, generally causing more harm than good. I&#8217;ve some thoughts on a real solution, but I&#8217;ll leave that to another post.</p>
<p>[1] &#8220;Sure, I&#8217;ve been there, getting the wrong answers from the boss. Some business people just aren&#8217;t good at making informed decisions even when you&#8217;ve patiently explained all the tradeoffs and benefits. I think we, as programmers, need to be sure we&#8217;re holding up our end of the bargain &#8211; delivering all the data the business-people need to make good decisions. When they make bad ones anyway then it may be time to find a new job. Until then it&#8217;s our job to follow orders, and to make the best use of the time we&#8217;re given.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chetanislazy.com/blog/2008/02/14/if-youre-not-outraged-youre-not-paying-attention/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And you may find yourself in another part of the world</title>
		<link>http://www.chetanislazy.com/blog/2007/12/16/and-you-may-find-yourself-in-another-part-of-the-world/</link>
		<comments>http://www.chetanislazy.com/blog/2007/12/16/and-you-may-find-yourself-in-another-part-of-the-world/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 18:16:32 +0000</pubDate>
		<dc:creator>chetan</dc:creator>
				<category><![CDATA[bombay]]></category>
		<category><![CDATA[madras]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.chetanislazy.com/blog/2007/12/16/and-you-may-find-yourself-in-another-part-of-the-world/</guid>
		<description><![CDATA[Ever have a moment where you suddenly stop and ask yourself: how did I get here, to this exact moment in time? For me it&#8217;s almost an out of body experience where I look [down] at myself in a particular instant and I try to work backwards to the events that led up to it. [...]]]></description>
			<content:encoded><![CDATA[<p>Ever have a moment where you suddenly stop and ask yourself: how did I get here, to this exact moment in time? </p>
<p>For me it&#8217;s almost an out of body experience where I look [down] at myself in a particular instant and I try to work backwards to the events that led up to it. It seems to be happening a lot, of late, and it always comes back to the same question. Two weeks ago, I was sitting in the domestic terminal at the Bombay airport, reading a book of no consequence and listening to my iPod while waiting for my flight to Pune when I suddenly looked up and thought to myself, &#8220;what the fuck am I doing here? How the hell did I get here?&#8221;</p>
<p>It happened again yesterday. I was sitting in my hotel room, eating a fabulous lunch (brunch, really, but it was 3pm; scrambled eggs, french toast, hash browns, chicken sausage, and hot chocolate) and looking out the window, out over the gloomy sprawl of Chennai before me, when it came up again: &#8220;what the fuck am I doing here? How the hell did I get here?&#8221;</p>
<p>There&#8217;s an obvious answer (I&#8217;m here for Operative as their resident software ninja, blah, blah) but that&#8217;s not good enough. It doesn&#8217;t really answer the question as to <em>why</em> I&#8217;m here, in the here and now. Even more, I can think of lots of reasons that I <em>shouldn&#8217;t</em> be here; why I should <em>be</em> somewhere else, <em>doing</em> something else. And only a few reasons (e.g., conscious decisions I&#8217;ve made) for being here. </p>
<p>And yet here I am. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.chetanislazy.com/blog/2007/12/16/and-you-may-find-yourself-in-another-part-of-the-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice shoes, but I still think you&#8217;re stupid</title>
		<link>http://www.chetanislazy.com/blog/2007/12/16/nice-shoes-but-i-still-think-youre-stupid/</link>
		<comments>http://www.chetanislazy.com/blog/2007/12/16/nice-shoes-but-i-still-think-youre-stupid/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 16:47:53 +0000</pubDate>
		<dc:creator>chetan</dc:creator>
				<category><![CDATA[madras]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.chetanislazy.com/blog/2007/12/16/nice-shoes-but-i-still-think-youre-stupid/</guid>
		<description><![CDATA[My boss asked me a question recently, which really got me thinking: would it make any difference if I [my boss] wore slacks and a shirt every day? That is, do outward appearances at the office really matter that much? Could dressing a little better mean being taken more seriously? It took me a really [...]]]></description>
			<content:encoded><![CDATA[<p>My boss asked me a question recently, which really got me thinking: would it make any difference if I [my boss] wore slacks and a shirt every day? That is, do outward appearances at the office really matter that much? Could dressing a little better mean being taken more seriously? </p>
<p>It took me a really long time to answer the question, because to me it doesn&#8217;t affect how I judge a person&#8217;s performance, and it was difficult for me to look at the question objectively and realize that not everyone thinks the way I do. Everyone has their own criteria for judging performance or value. Which got me thinking about <a href="http://en.wikipedia.org/wiki/Meritocracy">meritocracies</a> and why they don&#8217;t work in business.</p>
<p>Many large, successful Open Source projects are, or appear to be (I&#8217;ll get to this later), meritocracies. The <a href="http://www.apache.org/foundation/how-it-works.html#meritocracy">Apache Software Foundation</a> (ASF) is a popular example. So what&#8217;s so different about open source software projects that a meritocracy not only works but seems to come so naturally? </p>
<p>Clearly much of it has to do with the voluntary nature of open source; when faced with an adverse situation in the management of a project you have two clear options when all else fails: stop contributing or <a href="http://en.wikipedia.org/wiki/Fork_(software_development)">fork</a>. Both options carry an equally low risk, from an individual standpoint. The same two options are available in the business world, however the risks are much greater when one&#8217;s career and livelihood lie in the balance but the rewards are potentially much greater for forking &#8212; e.g., quit and start a competing product or service. </p>
<p>Even in the latter case, can a meritocracy really work in the long run? The incubation phase of almost any startup is entirely merit-based &#8212; from acquiring funding to competing in the marketplace, both will be judged on the merits of the ideas and the products or services the business is able to produce. But how long can this be sustained? Once a company grows out of it&#8217;s core group of people into a full-fledged business, it becomes increasingly difficult to keep the same level of excellence and far more costly to replace people at the upper levels. The stakes are also much higher for everyone involved, as <a href="http://www.apache.org/foundation/how-it-works.html#meritocracy">noted by the ASF</a>:</p>
<blockquote><p>&#8220;What is interesting to note is that the process scaled very well without creating friction, because unlike in other situations where power is a scarce and conservative resource, in the apache group newcomers were seen as volunteers that wanted to help, rather than people that wanted to steal a position.&#8221;</p></blockquote>
<p>So it becomes an issue of power and the ability to wield it. Bill Gates commented on a <a href="http://news.zdnet.com/2100-9595_22-6222828.html">recent survey</a>, saying: &#8220;Communication skills and the ability to work well with different types of people are very important too,&#8221; he said. &#8220;Software innovation, like almost every other kind of innovation, requires the ability to collaborate and share ideas with other people, and to sit down and talk with customers and get their feedback and understand their needs.&#8221; In other words, to innovate you need more than just technical ability and great ideas. You need the ability to communicate those ideas and work with people who may not always be as strong technically. </p>
<p>And that&#8217;s where strong leadership comes in. The problem with any large organization is that it&#8217;s almost impossible for everyone to be in complete agreement all the time. Even in a merit based organization like the ASF, consensus is not a given and people have found ways to <a href="http://blog.generationjava.com/roller/bayard/entry/apache_meritocracy_consensus_and_despotism">game the system</a>. Without strong leadership at the top you&#8217;ll have a constant power struggle to fill that void at every level in the organization, as different groups vie for control. (See also: IRAQ)</p>
<p>The best ideas can win out, but sometimes it takes a dictator.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chetanislazy.com/blog/2007/12/16/nice-shoes-but-i-still-think-youre-stupid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

