When I talk to fellow side project enthusiasts, I often hear them say, “I wish I could get more done.” It isn’t surprising. When you’re working on a side project — constrained by your day job, friends, family, and more — even the smallest productivity gain can make a huge difference in your overall output. If you only have an hour each morning to push your project forward, every minute counts.
One mistake developers make — myself included — is trying to get as much done as possible, rather than focusing on doing work that matters. We plug away at what’s easy, instead of what’s important; the tasks that truly move the needle on our projects.
Here are some thoughts on how you can consistently identify what’s important and make progress on your side projects.
Clear Your Mind
I used to hate using a calendar, to-do apps, or a planner; I didn't think I needed them. I was wrong. So very wrong.
When you have 100 different tasks, events, and ideas bouncing around in your head, it’s easy to get overwhelmed and start procrastinating. To gain the clarity needed to do useful work, you need to get that clutter out of your head and into an external system.
It’s like remembering phone numbers. When I was growing up, it was important to recognize a variety of phone numbers. Today, every number I could ever need is stored on my phone, or easily found online. Heck, most of the time I just need to tap on a person’s face, and I’m connected to them instantly. The phone number itself doesn’t matter. Thanks to technology, I’m able to free up the part of my brain that used to remember phone numbers.
You need to do the same thing for your to-do list. It’s almost impossible to get anything organized until it’s out of your head. Once you clear your mind, you can more quickly focus on the work that matters.
Learn from Eisenhower
You need to realize most tasks fall into one of two categories; important or urgent. They’re rarely the same thing. Dwight Eisenhower once said:
“I have two kinds of problems; the urgent and the important. The urgent are not important, and the important are never urgent.”
The “Eisenhower Method,” described in First Things First, categorizes tasks into one of four quadrants:
- Important/Urgent: Do it now.
- Important/Not Urgent: Plan when you’ll do it.
- Unimportant/Urgent: Delegate it.
- Unimportant/Not Urgent: Don’t do it at all.
For each task on your to-do list, take a page from Dwight Eisenhower and ask yourself if it’s important, urgent, or neither.
Break it Down
There’s one significant benefit to moving your to-do list from out of your head and into an external system; it becomes much easier to break tasks down into smaller pieces and start to schedule them.
When you’re working on a project, it’s easy to imagine the end product and get overwhelmed. If I pointed at a fancy SUV and asked you to build me one, there’s a good chance you’d get stuck and procrastinate. That’s because “build me an SUV” is a terrible request. Where would you even begin?
The project starts to look a lot more manageable when you break it down into smaller tasks. Instead of “make a car,” you might start with “learn how a car engine works.” Once you’re through that, you might move on to finding the parts you need, ordering them, then finally building the motor.
After that, maybe you’d move on to the wheels. Or the chassis. Eventually, one small piece after another, you’d have an entire car.
Now, that’s a silly example. Most of us aren’t learning to build an entire car from scratch. But the same approach can be applied to your work. One of the biggest secrets to my productivity is making tasks as small as humanly possible. If I only have time to get through one 30-minute task in a day, and I finish it, I consider it a successful day.
By breaking my tasks down into ever-smaller pieces, it’s harder for me to lose track of progress. And I’m always crossing things off my to-do list — which feels great.
Deadlines, Deadlines, Deadlines
I’m a huge fan of setting public deadlines for my projects. I often remind myself of Parkinson’s Law, which states:
“Work expands to fill the time available for its completion.”
There’s never enough time in the day. Or week. Or month. By setting a deadline, you’re forced to cut your project’s scope down to a manageable size. It pushes you to be realistic about how much you’ll be able to get done.
Take a Break, Once in a While
We’re all familiar with the culture of HUSTLE pervading the programming & startup communities these days. I’m as guilty of buying into it as anyone; I constantly feel like I’m falling behind and should be doing more. But, as good as it can feel — temporarily — to forgo sleep and crank out code like there’s no tomorrow, you’ll eventually pay the price.
You shouldn’t try to push yourself to the limit during every waking moment. It’s unsustainable. Eventually, you’ll burn out. Hard.
Instead, your goal should be to do good work over the long haul. To do work you’re proud to show off. To do it at a pace you can sustain over time. Your career is a marathon, not a sprint.
It’s easy to push off exercise, relaxation, and eating well. I’ve done it before, many times. But as I’ve gotten a bit older, I’ve realized those are the very things your body most needs to do your best work. If I spend too many days at my desk without exercise, I start to feel awful pretty quickly.
I’m willing to bet your best ideas don’t come to you when you’re at your desk, slaving away. No, I’d bet they come to you when you’re relaxing, in the shower, or riding your bike.
You have a finite amount of energy, each week. When you work at 110% capacity every day, it disappears pretty quickly. Your brain needs time to relax before it can produce good, creative ideas. Respect your limits, and your productivity will skyrocket.