I don't code every day. Even when my only job was running my little company, I never had enough work in the pipeline to keep me busy in Xcode five days a week. The actual programming part of my job comes in fits and spurts as I work on new features and bug fixes.

The only area of running my company that is consistent (other than the administrative overhead) is customer service.

Simply due to the fact that I sell my software worldwide, I have customers in every time zone and in countries with vastly different holiday schedules than my own. That means support emails, tweets, and phone calls can arrive at any time of day and any day of the year.

I'd wager half of the work I do for Click On Tyler involves interacting with my customers. Support emails, feature requests, bug reports. Over the seven years I've been selling my software, I've talked with literally thousands of my users. Some of the most frequent ones are now on a first-name basis. A select few have even become friends.

It's a part of the job I truly enjoy.

Helping a customer get started with one of my apps or troubleshooting a bug and delivering a fix never gets old. For days when I'm feeling down, or after one of those fortunately rare times when a customer yells at me, I keep a folder in my email full of letters from people simply saying "thank you".

I really do thrive on all that interaction. It's an amazing feeling knowing not only are people willing to pay money for something you built, but that something you built has had a measurable, positive impact on someone's life.

And that's why I think I've never 100% ever loved any of my "real" jobs. I've built websites and apps for many different companies. But I've never once been given the opportunity to interact with customers or see the work I've done in the hands of users. Whether due to bureaucracy, company policy, or simply logistics, I've always been kept separate from the people using the code I spend eight hours a day writing.

It leaves me without the connection I've grown so accustomed to with my own software business. And that connection is vital. It keeps you grounded, honest, and empathetic towards your customers. It seeps into your brain and imparts a bit of humanity into the code you're writing.

So don't dread the time you spend talking with your customers. Relish it. It keeps you connected and provides the fuel you need to keep your software operating at a human level.