I’ve often found most everything in life is a question of balance. From big things (choosing your life hobbies) to smaller things (what are you doing for the next hour?), maintaining balance in life is not only essential to self-contentment but required for technical excellence.
I love technology, software, and the communities that support them. While I try to keep a healthy separation between work and home, I’m too passionate about what I do to completely evict programming from my mind the moment the clock hits 5 p.m. I might merge pull-requests and read emails after a typical work day. I talk shop constantly on the weekends and speak at conferences. I check Twitter too often. I do all these things because I’m fortunate enough to make a living doing something that I really enjoy.
If I do nothing but these things for too long, I become a mess. It’s not something I even notice (which is the worst part). I just begin to become this zombie of a person, only caring about getting that low priority bugfix I wrote merged or some issue closed or some CFP submitted. Slowly but surely the road to burnout begins.
But disconnecting and concentrating on other things is my antidote. I’ve developed a huge affinity towards backpacking. I play organized hockey twice a week. I love burning fires and getting lost in the night sky. And as a former orchestral musician, I enjoy reading some old charts every now and then.
Balance means something different to everyone, and what you do to keep your balance will be different. If you sit at a computer for work all day, perhaps getting outside and enjoying nature is what you need to feel balanced — but it could be that a solid video gaming session is *your* antidote.
If you work in technology, go do something that uses your hands beyond touching keycaps. Pour yourself in to it. I think you’ll find that it will give you a balance that makes you all the more concentrated and effective as a technologist when you open up that text editor in the morning.