Most of us in the software profession agree that it is probably one of the few honest professions that will pay you a decent monthly allowance for doing something you love to do. But have you wondered why software development is such fun?
Well, as you expected, I have a theory. I think the reason development is such fun is because of the recurring, never-decreasing highs that one gets. Created a cool, extensible design? You have a high. Found a cool way to randomize a list with just one line of LINQ code? You have a high. Debugged a crazy bug that has haunted you for days? You have a high. Positive customer feedback? Another high. Why, even seeing a “all-green” status on your unit test run – even that can give you a high.
And the best thing about the highs is that their intensity is not dulled by repetition – something a good alcoholic smoker friend of mine certified :)
This is probably a key factor that keeps developers glued to their IDEs.
Putting on my trench man hat, I think this is another aspect that differentiates developers from researchers. Researcher highs are fewer and far-inbetween. You publish maybe 3-5 papers every year. Generating new, workable, and innovative ideas that are different from those in the ‘market’ is gut-wrenching work, and new leads probably occur a few times a year. The situation is even worse for managers who have to wait for a product to ship to feel the high.
There is a flip-side to this. It is easy for developers to fall into the addiction trap – sometimes sacrificing long term health of true innovation at the altar of the regular dosage of customer appreciation highs. Managers and researchers can keep their sights on the bigger prize for longer because their work and training (particularly for the researchers) trains them to think longer-term.
Again, let me add my usual disclaimers about this being a generalization and like all generalizations, not applicable to all people and situations! :)
What do you think?