I believe we all entered the field of programming for various reasons. It could be to earn a living, pursue a sought-after career, or simply because we love building stuff. Whatever the reason, we're here.
However, if I'm being perfectly honest, while all these are good reasons, none would provide me with more than the bare minimum level of happiness at what I do almost every day for many hours.
Yet, while I had my fair share of miserable days on the job like everyone else, more often than not, I am truly eager to do my thing at work.
So today, while I was running, I found myself in a bit of an introspective mood and wondered what is my personal Why? Why do I still love programming so much after all these years.
I always knew it had something to do with people. Seeing someone using something I wrote and maybe even liking it never ceases to give me a kick. But I felt there was a deeper desire.
After a little back and forth with myself I reduced it to something that felt really true for me: to reduce the suffering of someone else. Okay, I know it sounds a bit overly dramatic, but hear me out here for a minute.
Our profession is riddled with sharp objects we all occasionally bump into. People much smarter than myself say that it takes a very long time to even begin to master it, there is formidable math and sophisticated algorithms lurking at every corner, then there are new languages, tools, frameworks and paradigms jumping on us every other day that threaten to undermine everything we've learned for the past however many years.
So when I get to brighten someone's day through my work in even the smallest way, damn it it feels good.
It could be a user that with the help of something I wrote suddenly feels much more productive, or it could be as "small" as assisting a colleague by showing them how to use some tool that I take for granted, but is life-changing for them.
That's why I relish at the opportunity to spend that extra hour at making my API just a tiny bit simpler, or clean up and refactor some messy code, or write that extra page of documentation or test. Because someone (including myself) will experience just a tiny bit less frustration and pain down the road when they try to use it.
And whenever I get to see it first hand it gives me the energy to wake up the next day and do it all over again.
So now I'd like to invite you to find your personal Why, and to please share it with us.