Friday, September 12, 2008

Dynamics of Being Late to the Game

Isn't it funny that the first thing I've found while researching material for this article is the article on McNamara's Syndrome? Oh, and that being a relatively fresh (August 2008) meme at that?

Admit it, you're always late to the game. Unless you've invented the game and set the rules yourself. Which is pretty damn hard to do - the prerequisite is that you know very well what you're talking about, otherwise you're going to be ignored at least and ridiculed at worst.

There's been a lot of games in software engineering during our professional lifetime, so being late to the game kind of becomes a second nature - it is simply not possible to be aware of everything at the same time.

Then there's a separation between those who become jack of all trades, master of none, and those who tend to investigate one problem until they grok it and then move on to the next.

The first kind gets to become astronomical architects. They can easily talk about anything without actually realizing that they don't know what they are talking about. What makes matters worse, they're usually at the position of authority, and can present information believably enough so that it becomes difficult to penetrate the boundary of non-knowledge they distribute.

Meanwhile, the second kind is stuck in a deep niche 'cause they're busy solving the problem of the century. Which the humanity most probably doesn't even know about, and cares even less.

Being the second kind, though, gives you an advantage - while arriving late, you see all the mistakes that the present players have already done, and have the luxury of standing on the shoulders of giants, and can (provided you have enough brains to recognize it in the first place) generalize and streamline whatever's been done, cut the extra fat off (using your favorite tool, Occam's Razor, and remembering immortal Antoine de Saint-Exupery's saying - "Perfection is achieved, not when there's nothing more to add, but when there's nothing left to take away"), and achieve the perfection.

Or at least take a stab at it.

There's another take on it, too. Can't seem to find the quotation's origin now, just remember that it was in one of Ursula Le Guin's books, but my recollection of it sounds like this:

When you're young, you're weak, but all the roads are open to you, and there are endless possibilities. As you grow stronger, you can achieve more, but your choices narrow. An when you achieve the absolute power, you can do anything. But the wisdom you're acquired along the way makes you only do things you absolutely have to.

And there's the paradox. It's been expressed many years ago by Yuri Lesiuk, my lifetime guru, and it goes like this:

In order to know what you're doing, you have to know just a little. But in order to know what you have to know, you have to know everything.

And the question that started this rant? Simple, how do I make sure I don't have to repeat the architecture, design and coding for all currently available mobile platforms, major being (in no particular order, some may be omitted due to ignorance) BlackBerry, iPhone, Android, WinCE, Palm and Symbian. That's hell of a lot of overhead to have when you're trying to do something useful.

No comments:

Post a Comment