Getting things done – DDG style

Posted by chetan on February 17, 2011

I have no idea how Gabriel ever gets anything done, considering that he’s constantly responding to emails, tweets, forum posts, comments on various sites and IRC — just to name a few!

Here’s a typical exchange from earlier today when I reported a poorly performing query on DDG:

I used to be like that when I was at Operative but I don’t think I was anywhere near as productive as him.

Pointless rewrite? Probably.

Posted by chetan on August 06, 2008 (sorry, it’s just plain old “Delicious” 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’s time to think about just how we got here and if it was really worth all the trouble.

According to the official blog post, the new and improved Delicious brings us speed, usability, and oh so good looks among other features and it was a long time in the making. The Yahoo acquisition was announced 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?

A key change as a result of the Yahoo! acquisition was their decision to rewrite the whole thing in PHP using the Symfony framework, for no other reason than that it’s the current corporate standard at Yahoo!. Oh, and, coincidentally, Yahoo! Bookmarks was also built on PHP+Symfony.

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.

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.

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 cost/benefit analysis 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.

Moving to another language is a pretty drastic step to take and will rarely solve your problem.

If you’re not outraged, you’re not paying attention

Posted by chetan on February 14, 2008

Is just getting the job done always enough? One of my personal philosophies is that if you’re not learning, you’re not improving. If you’re not improving, then what have you really accomplished? In fact, there’s a pretty good chance that you’ve even gotten worse, if only because everyone else has gotten better. It’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’t even meet the expectations set by its predecessors. Think Bond, James Bond.

Continue reading…

And you may find yourself in another part of the world

Posted by chetan on December 16, 2007

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’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, “what the fuck am I doing here? How the hell did I get here?”

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: “what the fuck am I doing here? How the hell did I get here?”

There’s an obvious answer (I’m here for Operative as their resident software ninja, blah, blah) but that’s not good enough. It doesn’t really answer the question as to why I’m here, in the here and now. Even more, I can think of lots of reasons that I shouldn’t be here; why I should be somewhere else, doing something else. And only a few reasons (e.g., conscious decisions I’ve made) for being here.

And yet here I am.

Nice shoes, but I still think you’re stupid

Posted by chetan on December 16, 2007

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 long time to answer the question, because to me it doesn’t affect how I judge a person’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 meritocracies and why they don’t work in business.

Many large, successful Open Source projects are, or appear to be (I’ll get to this later), meritocracies. The Apache Software Foundation (ASF) is a popular example. So what’s so different about open source software projects that a meritocracy not only works but seems to come so naturally?

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 fork. 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’s career and livelihood lie in the balance but the rewards are potentially much greater for forking — e.g., quit and start a competing product or service.

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 — 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’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 noted by the ASF:

“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.”

So it becomes an issue of power and the ability to wield it. Bill Gates commented on a recent survey, saying: “Communication skills and the ability to work well with different types of people are very important too,” he said. “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.” 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.

And that’s where strong leadership comes in. The problem with any large organization is that it’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 game the system. Without strong leadership at the top you’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)

The best ideas can win out, but sometimes it takes a dictator.