The developer's stance

Posted on November 9, 2013 by Nadir Sampaoli

This is a memorandum for my approach to the developer’s profession.

Art, Science and Craft

Software development is quite more similar to a craftsman’s work than to art or science.

A problem can be solved not as much by demanding its solution to dogmatic principles or to a random creative approach (although creativity is often helpful when you’re stuck in a pursuit for a solution to a problem), but rather by resorting to experience. This is not to be intended in terms of years 1, but rather as a result of iterating over the problem proposing ever different solutions, getting rid of the less effective ones as you go on.

1 There’s an adagio that goes: «Try not to confuse 20 years of experience with one year repeated 20 times.» (cit. Unknown)

Focus on The Problem™

The actual reason we develop software is solving a Problem™. You should worry whether your purpose is using your tools to an end in itself, rather than actually using the best tool for the job.

Extend your Tool Box

Nonetheless try as hard as you can on adding many tools to your professional toolbox, as well as freeing yourself from the limits of a specific paradigm or philosophy. Also, each new technology acquired and lesson learned can (and should) be not only another tool in your partitioned box but possibly another wire in your knowledge circuit.
So you might gain the ability to accomplish some result in a shorter form, or solve a previously messy problem in a clearer way.

Conclusions

It might sound as a cheap pun, but it makes sense: as a developer you should try to develop yourself as much as you find healthy, so you can develop better solutions in your coding tasks.