How to Finish a Side Project
Tags: sideprojects, tips
Published: 2020-08-10 11:47:08

#####It's a huge joke in the tech world that we love starting new side projects, but can't ever find the motivation to finish any of them. The new project always feels like it'll be more fun than finishing something you're already doing. We've all been there! Here are a few tips that I have to complete your side projects. 

## Don't start a new side project if you know you'll be busy.
It may seem obvious, but it's worth noting! Take a look at any deadlines or events that you have coming up. If you're delivering a project for work in the next couple of weeks, maybe it's not a great idea to start a new project.

## Know what you want before you start.
Just like at work, you shouldn't start on a project that has no clearly defined goal. Have a good idea of what you want to accomplish by the end of this project before you even start and stick with it. It's, of course, completely okay to change direction while you're working on it if you realize it's not what you want, but try not to add a ton of functionality while you're working on your "phase 1."

## Set a deadline.
The only person you're hurting by dragging on a side project is yourself. If you don't have an end in sight, you may be less likely to finish. Make an estimate of how long it'll take you to complete the project and add at least 20% more time. If you finish early, it'll give you a confidence boost. But if something comes up, you run into more bugs or issues than expected, you'll be covered.

## Tell people about it.
{% twitter 1286694184158724096 %}
Tell all of your Twitter or DEV followers what you're going to do. If you have a deadline, tell them when you expect to have it done! Let the angry mob take you if you don't finish.

As a bonus, you're prepping people for some TDD ([Twitter-Driven Development](https://www.youtube.com/watch?v=Qkc8p4D6JM0&t=18570s), shout out to [Justin Samuels](https://twitter.com/ThugDebugger)) in case you run into problems. 

## Or if deadlines and peer-pressure are too overwhelming, just don't!
I know I said you're hurting yourself by letting a project drag on, but sticking to a deadline is not always possible or easy. Life happens. Sometimes life gets really hard. If something comes up or it just becomes too much to devote any energy to a side project, don't feel bad about letting it take longer than expected!

## Start by making it work, then gradually make it better.
I think [Jeremy Keith's idea of Progressive Enhancement from Responsive Field Day](https://www.youtube.com/watch?v=-yIbKaA3wCo) in 2015 has a lot of carry-over here. He says he likes to work using these steps: 
1. Identify the core functionality of your project.
2. Do what you can to make that functionality happen with the simplest technologies.
3. Then, enhance! Make it better! Add styles, functionality, whatever you want!

This ensures that you'll, by all accounts, finish your project. The implementation of the core functionality alone means you've completed the project. 

Making enhancements should be considered just that: enhancements! Don't get too bogged down in the details and working on things that don't directly contribute to the core functionality. Take a step back, look at the bigger picture, and make something work. As long as that happens, you've completed the project. 

Now onto making it better!

## Say you won't start another project until you finish this one... and mean it!
![Bart Simpson writing "I must finish one side project before starting another" over and over again on a chalk board.](https://dev-to-uploads.s3.amazonaws.com/i/ax84vuuhlawqyulsguvx.jpg)
New projects always seem like more fun than whatever you're currently working on. The grass is always greener on the other side of the fence. 

I know that it's not fun, but if you set out to getting the core of your project done, you'll be able to move onto other projects faster! 😉

## Take breaks. Don't let a side project burn you out.
Don't be afraid to take breaks from your side project. These could be short breaks to go take a walk, grab some water or a snack, or meditate. But they could be longer breaks of weeks or even months. Do whatever you need to make you feel refreshed enough to work on it. Even side projects can require a lot of energy.

## Don't feel obligated to always be working on a side project.
You don't have to stay busy all the time with side projects. You don't have to code all day every day. You can have periods of your life where you go to work, come home, and chill. You can have periods where there are just other ways you'd rather spend your free time. 

What if I told you, you don't need side projects at all? You can progress in your career just fine without doing side projects. I think this is a lukewarm take at best, but some folks are very passionate about the need for side projects and disagree.

![A gif of Jeff Bridges in the Big Lebowski saying "Yeah, well, that's just, like, your opinion man."](https://media.giphy.com/media/26BRrSvJUa0crqw4E/giphy.gif)

In my opinion, they're not necessary. *Do side projects if you want to. Don't let anyone tell you what you have to do.*

📣 **Sound off** 📣 Do you have any tips for completing side projects? Let me know!