Over on 43 Folders, Merlin Mann has posted a thought provoking article Attention & Ambiguity: The Non-Paradox of Creative Work

Go read it. I’ll wait here.

Merlin has written about a important distinction, one that is critical to all creative endeavours - and I include Software Development as a profoundly creative endeavour.

On the one hand, a software developer needs to be able to come up with good ideas in order to develop good software. Many times, the most obvious solution - the one most easily reached - has critical flaws.

A good example of this would be the Bubble Sort, a simple way to order a list of items. Unfortunately, the Bubble Sort has poor performance as the number of items in the list grows.

On the other hand, a software developer needs the discipline to objectively weed out the poorer ideas, and to to turn the best ideas into excellent code.

Both the QuickSort and HeapSort algorithms are good examples of this - once the inventors had the critical (creative) insight, getting the implementation right takes many kinds of attention to detail.

All good software developers I’ve known and worked with exhibit both of these qualities - a great deal of creativity and insight coupled with great attention to the details.

The distinction between these guys and the truly great - those I aspire to emulate - is that the great know when each skill is needed, and how to bring the right skills to bear at the right time.

I guess that’s the real challenge, isn’t it.


blog comments powered by Disqus
Next Post
On Thresholds  05 Oct 2008
Prior Post
Fail Loudly  23 Sep 2008
Related Posts
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
When are you done?  18 Apr 2022
Fixing GitHub Authentication  28 Nov 2021
September 2008