"A mind stretched to a new idea can never go back to its original dimension"

The best are up to 28 times better than the worst – And how to be one of the best

with one comment

It’s not just about programmers, but about excellence and mastery:

The apprentice learns the rules, the master, well, masters the rules, but the artist bends them. And in order to bend the rules, he needs to delve into their core, their source of freedomisation. (I know, yet another barbarism :)

softwarebyrob.com: Personality Traits of the Best Software Developers

[…] Someone who fixes a problem but doesn’t take the time to find out what caused it is doomed to never become an expert in their field. Experience is not years on the job, it’s learning to recognize a problem before it occurs, which can only be done by knowing what causes it in the first place.

[…] e.g. An image-manipulation script is hogging processor power for minutes at a time when it should run in under 10 seconds. You could make the script run at 2am when no one will notice, or you can take the time to step through the code and figure out where the real problem is.

Developers who don’t take the time to find the source often create sloppy solutions.

[…] Due to the life and death nature of their products, NASA designs zero-defect software systems using a process that has nearly eliminated the possibility for human error. They’ve added layer after layer of checks and balances that have resulted from years of finding mistakes and figuring out the best way to eliminate them. NASA is the poster child for discovering the source of a mistake and modifying their process to eliminate the possibility of that mistake ever happening again. And it works. A quote from this Fast Company article on NASA’s development process says:

“What makes it remarkable is how well the software works. This software never crashes. It never needs to be re-booted. This software is bug-free. It is perfect, as perfect as human beings have achieved. Consider these stats: the last three versions of the program — each 420,000 lines long-had just one error each. The last 11 versions of this software had a total of 17 errors. Commercial programs of equivalent complexity would have 5,000 errors.”

[…] We know from Facts and Fallacies of Software Engineering that the best programmers are up to 28 times better than the worst programmers, making them the best bargains in software. Take these four traits and go find a bargain (or better yet, make yourself into one).


Written by flowingly

December 22, 2006 at 15:43

One Response

Subscribe to comments with RSS.

  1. Read about Preventing Errors, it’s the new (old) buzz. Every time you find an error in the code, you check out what caused it and design a system that will detect and/or prevent programmers repeating the mistake.

    This is easy to say, but difficult to implement. One single tool would never do, as it should ckeck out the source code and/or compiled programs in every language one uses, and it won’t do much good unless it can check the way these different languages interact.

    But as a general concept… it’s gold :)


    January 6, 2007 at 16:07

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s