I got into programming because I wanted a platform to express my ideas creatively and give them life. Just like every programmer, I wanted to work on cutting edge technologies and crack difficult problems. I strove to find the best solutions for the problems I came across and I did. When someone asked what I did for a living, I proudly said "I build cool products using latest cutting edge technologies."
I felt invincible but neither satisfied nor content, I knew there was something missing.
It took me four years to discover it is not about working on cutting edge technologies or coming up with creative solutions for hard problems. It is all about having an impact. I find joy and satisfaction when I contribute to projects such as OpenMRS and RapidFTR. The feeling you get when you know that every single comma, space, character you type has huge impact on lives you will never get to meet. I feel more human and alive when I write code that touches human lives.
Now, when someone asks what do I do for living, I proudly say "I code to improve human lives" and that brings me the joy.