Software development seems to be an odd thing to be passionate about. We developers don’t exactly have a reputation for being passionate sorts of people – we’re in sort of the same category as accountants. Yes, it’s a good job, and sometimes interesting, but something to be passionate about?
I am passionate about software because coding is an inherently creative thing to do. More than almost any other profession, we can create ex nihilo. We’re really alone among the engineering and science disciplines in our power to create – engineers are at least constrained by such mundane factors as the laws of physics. We aren’t, in general. As Frederick Brooks observed
“The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.”
Only writers and artists can approach our ability to create. This is exciting to me. When I start coding, nothing existed there before. Then I work, and I change the world, even if just a very small piece.
Closely related to this, coding gives us an opportunity to perfect and demonstrate our craftsmanship, without being bothered with annoyances such as the physical world. Make a mistake while carving and you’ll have a tough time fixing it. Make a mistake while coding, and you can undo it. Nothing to paint over, nothing to sand out.
Creativity and crafstmanship are things to value, things even to be passionate about.