Jack has been having a hard time in his personal life. Its been days since he been able to ship anything. I am worried. Not because of the fact that we would miss out on a timeline or because the project would slip.
None of that worries me.
The project is fully covered either ways.
Yet there is something about Jack not shipping for a long time that bothers me.
I decide to leave Jack alone for a while, waiting to see when he would be fully back instead of rushing to take his band-aids off.
A week later Jack approaches me. He wants to take over a new module and start working on it.
What makes my day is the fact that Jack is thinking of shipping again. He is back to doing what he is most known, liked and respected for doing in the organization. Soon he is shipping again. He is picking up the hardest of the problems and then getting them done.
But there is still a small gripe that is bothering me deep down inside as I monitor the check-ins on a pet open source project Jack had been working on for two years.
A couple of weeks later however, I see a new post on Jack's blog and a new check-ins on his open source project.
Jack is his usual self again.
I heave a sigh of relief.
Not because Jack is doing his job again or because he is contributing towards the project again, but because smack in the middle of work and personal problems Jack did not give up his commitment to his pet project or or his blog which was making him the kick-ass programmer he was. He is back in no time. He is participating and contributing, again.
While Jack's story has a happy ending, every once in a while, I see programmers, budding entrepreneurs and even bloggers go down the path of a personal or professional tangent so much so that they switch to a do-my-job-and-nothing-more mode for weeks, sometimes even months at a stretch.
The problem with pet projects, blogs, talks that you do at developer conferences and training sessions that you conduct in your organization or your local developer community, is that these are things you do not get paid for. Your immediate life, does not depend on these things and because you see no direct impact of stopping these things, they are the first to get impacted every time you get the smallest hit on your personal or professional life.
You have a really difficult project at work which is keeping you busy for ten hours a day. Why not just stop working on your pet project and focus on work?
You are having a small fight with your girl-friend. You don't feel like blogging about software development right now, do you?
Going on a holiday this weekend. Your blog can wait till next week, can't it?
What most developers around the world fail to realize however, is that as a developer, you are not just shipping within your organization. There is a different category of work and shipping which you do that ultimately defines who you are or who you become. These are those concrete, tiny, small deliverables that you ship to your people. Your tiny community. People who hang around in the same third place as you do.
These are those deliverables that rest on nothing more than a thin string of personal commitment. Deliverables that ultimately help you form your weak ties, deliverables that land you with job offers and most importantly deliverables that help you learn from the best of people out there, overcome your insecurities and become a better programmer, even in your work life.
The next time you have a minor digression, in your work life or professional life and you feel like stopping work on your open source project or not sticking to your blogging schedule, remember that these activities are just as important as your going to work every morning.
If you can go to office and work, your digressions or your problems are probably not big enough for you to stop shipping outside of your work life.
Whether it is work connected to your work life or outside your work life, as far as you can, always be shipping.
We know you because you ship. The day you stop shipping for long enough, we might stop caring about you, your blog or your product.
Yes, of course we know your cat is sick and you need to take it to the vet this weekend, but we are still expecting you to stay up a little late and do that blog-post or that check-in to your pet project. Now, go pick a schedule for blogging or a schedule for checking-in to your pet project and be honest to yourself about trying really hard to stick to it.
I wish you good luck.