Having side projects is a great way to further develop your skills in coding and it allows you to play around with your language of choice. Most importantly though, it’s also fun.
What to work on?
First step is having ideas for personal projects. I suggest having a list or post notes where you can write down every idea you get. Always always write down ideas even if you don’t think you’ll get to it immediately, but you might forget and that would be a shame.
Another place to find projects could be in the back of programming textbooks or even university assignments you can find online.
If you have no clue what to work on next the internet is your best friend, here’s a few project idea websites for inspiration. Remember you can always customize any project you find to your own needs.
Ideally the project should be something meaningful, either to you or someone else, but it is most important to just have something to work on. Quantity over quality is the name of the game when it comes to personal projects, remember you’re doing this to learn.
If you have grand plans for selling or publishing your project you can always go back later and refactor.
Pick a project you feel excited about working on. When you’re excited about your project you’re more likely to complete it. Pick something where you cannot wait to see the finished product.
Also pick a project that will teach you something new about the language you’re learning or a component you haven’t tried before. Life (and learning) begins at the end of your comfort zone.
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
This is so important, don’t just jump right in. It will save you loads of time in the end if you have an idea of where you want to take your project.
Start by asking yourself questions like these:
- What are the main features of your project?
- How should you interact with it?
- What languages/technologies are you going to be working with?
Write all of your answers out, brain dump it all onto a few pieces of paper and feel the project take shape in your head. Do some rough sketches if you have a user interface . Also try to figure out which file structure you’re going to need.
This is by no means final, but it just gives you an opportunity to organize your ideas and thoughts. It will also help you with starting.
If you want to dive a bit deeper, try making a mini class diagram with the main functionality methods listed.
This is also a good time to write down the general things you might need to learn. Start looking into those topics so you have an idea about them when you get to the actual coding. By no means should you let this stop you from getting started though!
Now all you have to do is start and remember your piece of paper. You can always add to it as you go along. If you get stuck you can go back to it and find another way.
If all else fails then never underestimate the power of a clean slate.
Thank you for reading, hope you enjoyed it ❤️
Please comment with feedback and thoughts. You can also reach me on Twitter! 😄