Last week I announced Finish Your Damn Side Project, a new book I’m self-publishing this summer. The reaction has been nothing short of amazing. I knew people were struggling with shipping their side projects — it’s part of the reason I write the Monday Mailer — but it’s obvious developers are hungry for a resource that goes deeper than a weekly newsletter.
I’ve wrapped up planning and outlining the book, so I thought it would be a good time to pause and share what’s happened so far.
I’ve wanted to write a book for a long time. But I don’t want to write one just for the sake of writing it. Over the last eight months, I’ve had the opportunity to chat one-on-one with many of the 1,200+ people subscribed to the Monday Mailer. Like me, they see the potential for side projects to improve a developer’s skills and level up their career. But, when I ask about the challenges they’re facing, I hear the same issues over and over again:
- “I don’t have time.”
- “I’m feeling burnt out.”
- “I don’t know how to get motivated.”
- “I have trouble coming up with ideas.”
- “I’m not sure how to get started.”
- “I have trouble maintaining focus.”
- “I keep procrastinating.”
- “I think too much, instead of taking action.”
- “I don’t know how to build an audience.”
- “I’m not sure how to promote my work.”
I see the same concerns pop up in my conversations with other developers, and on sites like Reddit, Hacker News, Designer News, and more. I don’t claim to be an expert when it comes to this stuff. But I’ve managed to consistently ship side projects, throughout my career, while working full-time. I’ve learned some useful techniques along the way, and I think I can help.
Once I decided to pursue writing the book, I sat down and started brainstorming potential topics. I opened a new document in Ulysses and added a new bullet point for every idea that popped into my head. No editing, no critique. Just opening the flood gates and letting ideas pour out.
I initially tried to do this in MindNode, but quickly realized it wasn’t the right tool for the job. Using MindNode, I felt tempted to try and organize my ideas prematurely. I don’t know about you but, for me, nothing puts the brakes on brainstorming faster than trying to generate ideas and organize them simultaneously.
This process produced somewhere in the neighborhood of 80 different ideas for topics.
I knew I didn’t want to start writing until I had some idea of the overall structure. So, I wrote every possible topic down on a Post-It Note and stuck them to the wall.
It looks like pure madness, I know. But it was a fantastic way to see the big picture and start organizing my ideas into distinct sections. Patterns began to emerge, and I knew, if I couldn’t find a section to slot a topic into, I needed to consider cutting it. In the end, I managed to lose 10–15 bad ideas this way.
My next step was to fire up Trello and create a new board. On it, I created 12 new columns:
- Writing First Draft
- First Draft
- Writing Second Draft
- Second Draft
- Writing Third Draft
- Third Draft
- Being Edited
I filled the “Topics” column with a card for every topic that made the cut during the outlining step. As I work, I move each card along the conveyor belt of columns. It might seem like a lot of steps, but it means I’ll never lose track of my progress or what I need to do next.
On Friday, I started writing in earnest. My goal is to write at least 500 words per day. I’ve already completed a 2,000-word first draft for one of the essays. I know the importance of maintaining a daily habit when it comes to side projects. So, I’ll be working hard to try and stick to my daily word count.