Developing good software is hard. Not only is it difficult to create elegant solutions to complex problems, there is no shortage of grumpy users, red-tape, and office politics to wade through.
When I was in SQA, I looked up to software developers. They were doing things I could only dream about. I never thought I would actually make it as a full-fledged software developer, but with a lot of work and determination, I achieved that dream. I’m definitely not the best developer out there, but hopefully one day I will be.
It wasn’t until I became a software developer that I learned how abrasive and, sometimes, hateful, users humans could be. I’m a very sensitive person that, according to one test at least, also avoids confrontation. Those are two qualities that do not bode well for me when it comes to writing software for a living. People can be very mean and egotistical!
Lately I have been thinking, “Why in the world do I want to do this? There are no rewards or trophies. There is simply complaint on top of complaint on top of complaint no matter how good my software is.” That prompted me to think back to when I was in college. My data structures teacher used to ask us, “What’s your motivation?” and would follow up with what his was.
Back when I was in college, I didn’t have a family. I didn’t have kids. Most importantly, I didn’t have a mortgage!
My motivation was simply to survive my chosen major’s coursework. Computer Science was not my first choice, and I frequently felt like a fish out of water. Several of my teachers would tell me to go back into music. Through sheer grit and determination, I graduated with a decent GPA and eventually got my foot in the door in QA.
Now that I do have a family and a mortgage, I have to say that I put up with the grumpy users, red-tape, and office politics because of them. If it wasn’t for my wife and my two kids, I probably would be doing something completely different right now.
That’s my motivation. What’s yours?