As I ramp up my job search, I've recently become more introspective about why I like programming. It's not uncommon during an initial phone screen to be asked some variation of the following “soft” interview question:
What are you passionate about?
Why do you like software development?
As simple and possibly over-used as these questions are, they're still good ones. So am I really passionate about software development? Hell yes. But that's not the answer to the underlying question of why—why am I passionate about it?
It's this line of thinking that has led me to do some introspection recently, and I've come to the conclusion that what it really boils down to is solving problems.
When you solve a problem for yourself it feels great. Not only that, but you then have one less problem. The satisfaction of solving problems certainly isn't exclusive to programming, but programming is one of the best tools to solve an extremely wide array of problems, which is why I love it.
But as satisfying as solving one's own problems can be, the biggest win in my mind is to ...
This realization really solidified in my mind a number of months ago as I was combing through my GitHub profile to clean out old repositories I no longer use. It was when I first saw one of my repos getting starred by other people 😀.
Other people were using something I created, and apparently they liked it. The level of satisfaction I got from that project remains very high to this day.
The best part is, solving other people's problems is not only valuable but it's also motivating.
Alfred Maestro (my most-starred repo) is a project I wrote over a year ago, using my least favorite language (PHP) but I've still maintained it and responded to any user issues throughout because other people were using it. It's that motivation that has kept that little project going. That motivation is really powerful.
In this way solving someone's problem can become a positive feedback loop: The more positive feedback you get about your project and the way it's solving problems, the more you're motivated to continue to solve that problem.
It's a beautiful thing.