Not Stopping

So, you're a programmer?
Well, yeah ...
Some corporate drone, sitting in a sad, dark cube?
Um, no, well, it's not like that ...
What, you don't sit in a cube?
I do when I am in the office. But I have this idea, I am working on at home ...
An idea?
Yeah yeah, and let me tell you, this is gonna be big. Real big. Seriously man, check it out...

And then it's all over. He had to get me started and now he has to listen to it all. His cool composure, the fresh tan and the overall contempt was too much to bear. I want to insist that there's something cool happening in my life, too. My wife tells me later that I had that wild look in my eyes again, as I was explaining myself, gesturing like crazy.

Absolutely yeah. It's gonna be big. Huge! I really believe it'll be the next big thing. It'll turn the industry around!

Inexplicably, the conversation didn't last long.

Later on, I find myself at the computer in my home office. It's dark out and I am tired. My dreams are my dreams, but the reality of the issue remains: It can be hard and extremely frustrating to start your own thing, while you're working full time to bring in the cash to pay rent.

All visions of greatness aside, it is true and really cannot be ignored: Execution Matters. Just as true however: My dayjob is pretty good at keeping me busy. So much so really that sometimes it does take a tad convincing to turn on the machine again, when I get home. A vicious cycle.

Here are some of the things that I have identified as being helpful in this quest:

  • Make progress each day. This is absolutely crucial for me. I must be able to see progress in my projects. I hardly matters how much progress, every little bit counts.
  • Use solid time management. As said previously, I like David Allan's Getting Things Done. It works. It motivates me.
  • Take a break. Take time for a nap, dinner or just play right after coming up from work, before starting up again on your own project(s).
  • Work before work. That's right. Get some work on your projects done, before leaving for the office. It can be tremendously motivating, when you go to work, well knowing you already made progress on your own thing.
  • Surround yourself with like-minded people. Maybe they understand the pain, maybe they understand the rewards. Maybe they simply get it. Codesnipers is one such place and our blogroll leads to many other related places. Another good location is that cheap restaurant where you bounce ideas off your friends or acquaintances.
  • Read the relevant literature. Just for sake of example, you can find the Personal MBA manifesto here. Someone also create a convenient list on Amazon that includes all the book recommended for the Personal MBA. Ongoing education is important and motivating. There are many other resources worth reading. You know what they are.
  • Hold on to that vision. I am not saying that you cannot change it. What I am saying is: Don't forget what you are trying to accomplish as you sit hunched over your keyboard on a late Friday night. Don't forget what the future might bring as your projects take off. This is especially important, when a full load of destructive office politics, recycled air and disappearing staplers are trying to bear down on you on a rainy Monday morning.

It's still tough. If you have other advice, please share it.

Supporting your own product helps keep you going

Somehow I managed to release a small piece of software 4 years ago that has an active customer base. The customers create a positive feedback loop that keeps the energy rolling along. I recommend doing something very small -- I mean very very small -- hack off a tiny piece of your overall dream that might be doable and might get you a customer base to feed off of and help you hold onto that vision.

And v0.1 can lead to v0.2

Even if you don't have the money/time to develop the full idea, developing a piece of it can create some revenue, get feedback, and smooth the way for the next version.

Besides, if you have happy customers asking for new features, some will be willing to pay for it to happen. This is the logic behind my MS Project to dotProject Importer and the Mantis / dotProject Integration.

Really work before work

I am often discouraged on my own projects because when I am home from my day job I find that I've used up all of my mental energy for the day. I may have 4 hours of time to spend on my own project, but the quality is low because my head will be cloudy after a day in the office. I then feel resentful of work for taking the best hours of my day; they say I only work there 8 hours of the day, but there should really be a quality coefficient in that equation. I think it would reveal that I burn 90% of my effective time in a day during the 60% of my waking day spent at the office.

What if you could either rearrange your work schedule, or less effectively due to circadian rhythms, your sleep schedule and always put in those 4 hours on your own project right when you wake up when your mind is freshest? Then you can go to your day job half-spent already and stick it to them!

25 Ways to Distinguish

25 Ways to Distinguish Yourself. Worth reading. Thanks Andy.