Building projects is a great way to learn and grow as a developer. There are always new skills to learn and we also need to maintain the skills we already have. Project building is a great way to do that.
We recently got to chat with Charlie Gerard, senior front end developer of Netlify, about project building on the CodeSandbox Podcast and it got me thinking. Many of us probably have a long running list of projects we want to start or have started and never finished. It’s pretty common for developers to have several domain names without any finished project to use them on. How can you start to tackle this problem? How do you actually start and finish projects?
This article will answer those very questions. If you want to know what steps you can take to successfully start and finish projects, keep reading!
Now that you have your project goal in place, you have to make a plan.
" Once I have my question and I know what I want to prove, then I can break down the project into small chunks that are doable in my schedule."
Break your project down into small, actionable steps. Again, try to be as specific as possible.
I typically create a Notion document for each project I build. I create a checklist of all the steps I think I need to take to complete my project. Of course, the scope of your project may change over time. So adjust your game plan as needed.
Having a clear cut plan in place will make project building go smoothly for you.
The size of your project will depend on what your main objective is. After creating your project plan, you might realize that your project will be a big undertaking. This can be intimidating. To overcome this, you should try starting small and iterating over time.
Think about what your MVP or minimum viable product is. What is the most basic form of your project? Aim to create your MVP first and iterate on your project over time. You can include possible iterations and improvements in your project game plan.
Progress can sometimes feel slow, especially with larger projects. At this point, you should have small actionable steps in place to help move things along. Each step that you complete is worthy of celebration!
Try sharing your progress with others. Twitter is a great place for this. When you complete a step in your game plan, take time to reflect on what you’ve learned and how you’ve improved. You can take this and write articles, Twitter threads, or even make video content to share with others.
This was a point Charlie made in her podcast episode and I think this is a step we often overlook.
"Maybe I pause that project and then I know that I'll get back to it later when I have more knowledge or when I re-frame the question in a way that it can actually be achieved. So to me, that's my way of finishing things."
It's okay to adjust the scope of your project. Learning that your project goal was too ambitious or having a busy schedule that doesn't allow for lots of project building is completely normal. It's an inevitable part of being a developer who builds side projects.
If you run into an issue like this, your first inclination may be to just abandon your project. But that isn't always necessary. This might be an opportunity for you to adjust the scope of your project. Go back to your plan and see where you can make some changes. Making project goals smaller or cutting your plan short can be helpful at this stage. This can be upsetting at first but there will always be time and opportunities in the future. Time and more experience may be what you need to move your project ahead so adjusting your project scope to allow for this isn't a failure by any means.
Project based learning is one of the best ways to keep sharp as a developer. But it's also important to know how to finish the projects that you start. So remember these 5 points:
- Establish a goal
- Make a game plan
- Start small and iterate over time
- Celebrate small wins
- Adjust project scope if needed
This is just a portion of the helpful insights Charlie shared on the CodeSandbox Podcast. Make sure to give her interview a listen and learn more about the awesome work she does.