Why Software

For me working in software engineering is like the first time I opened tinker toy logs when I was a kid. I knew what I wanted to build. I had the tools to build it and I had an almost unlimited number of ways I could combine the logs while building. My only limitations where whether the basic pieces would fit in the way I wanted to use than and if I had enough pieces. Designing and building software is even better. You get to go out and talk to customers about their problems. Then you create a vision of something that could solve or alleviate those problems. Then you get to choose your logs (languages, tools) and then assemble them together in to a structure that delivers your original vision. You even get to invent new kinds of tools (tinker toys) when the current ones don't fit the job. Then you get to interact with people who are tickled pink to have their problems solved. It is especially rewarding when customers are able to attack a new business opportunity because of your work. The amazing thing is that we actually get paid to express our creativity.

I have played several musical instruments, carved wood by hand and many other artistic things but the creativity I am able to unleash doing those pales in comparison to the creativity we get to express as software engineers. I have many times wondered about the ignorance of the buffoons who say that software people are not creative or cultured. These are obviously the people who can not understand what software people do so they try to put them down. If DE VINCHE was alive today he would be a software engineer probably inventing the next VRML browser.

One of the things we get to do in software is something you can't do in most artistic pursuits and that is that once we get things build and working we can tear small pieces out and improve them without destroying the hole.

The real problem with software is that we have to build things that other people want. So sometimes we have to sacrifice our creativity in order to get paid. That is why someday I will either retire and work on only what I am interested in or I will go to work in a lab that where I gets to follow my interests rather than a current market opportunity. A few times I got to build what I wanted and then convinced my customer that they wanted it but so I guess every rule has it's exceptions.