5 Great Project Ideas You Could Do While Learning To Code
Tags: Learning To Code, Inspiration, Professional Development, Programming Languages, Projects

Photo by Danial RiCaRoS on Unsplash

We can all hit mental blocks while learning code, where we just lose all motivation and nothing interests you for a while. Studies have shown that learning is less powerful when the individual doesn’t find a real interest in what they’re learning to motivate themselves.

Whether you’re teaching yourself how to code with Pluralsight, watching YouTube tutorials, or learning in some kind of classroom, putting a custom spin on what you’re learning has a ton of benefits when learning to code, particularly for people who are more hands on. Putting the concepts you’re learning to practical use solidifies our understanding of those concepts much more than just idly following along.

With that in mind, here are 5 great projects you could do while learning how to code.

1. Create A Resume/Portfolio Site

Photo by Anete Lūsiņa on Unsplash

Creating a website to act as your portfolio or resume can certainly impress a lot of employers. Not only are you breaking the traditional mold of boring black and white paper resumes, but you’re also proving through a very concrete example that you have the skills that you are advertising to a prospective employer. (This doesn’t mean to ditch the .pdf/.docx resume altogether as some job applications require you to upload them in these formats, but you can tell a prospective employer during the interview to visit your website.) Having this website allows you to easily link your interviewer to previous projects you have done, whether that is other websites, or just a link to your Github.

This project idea works best when trying to learn front end development technology such as HTML/CSS/Javascript or React.

There are plenty of good resources on creating portfolios while learning a new technology. For example. here is a video series for learning React while building a portfolio website.

2. Create a Website For A Local Small Business That You Like

Photo by Dan Burton on Unsplash

Creating websites for a small business is a great way to practice your web development skills. It can make you think about a lot of things that you normally wouldn’t think about if you were just making a website for yourself. On top of this, if the business doesn’t have a website of their own, this is a great way to support them while also adding to your professional portfolio.

Just like the first idea, this works best when learning front end technologies.

3. Create a Small Game

Photo by Sean Do on Unsplash

Whether it is a text based game or a full on game with graphics, creating a game is a great way to learn programming and have fun doing so. This is also a great way to involve family and friends with your learning as who doesn’t love a little game or two?

There are many guides out there on how to make simple games and a lot of technologies that can help you with creating simple two-dimensional games with free graphics and assets.

This is also ideal for most programming languages as you can make a game out of just about anything. For example, here’s a text based game that you can make while learning Python. Additionally, if you want to create a game with graphics, you could use Unity. Unity allows you to use a programming language of your choosing and takes care of a lot of the rest behind the scenes. If you want to learn more about creating games with Unity while learning C#, check out this tutorial.

4. Automate something that you find repetitive

Photo by Alex Knight on Unsplash

Finding ways to ease our day to day lives is not only practical but very motivating. Whether it’s organizing tons of files or automating the submission of your timesheets on a website, there is a lot to be learned when it comes to automating something we all find a little repetitive or bothersome.

For instance, I had thousands of pictures just sitting in my “My Pictures” folder and I liked to have them sorted with my most recently saved image at the very top. Windows however, when first navigating to folders, will have things in alphanumerical order by default. The re-sorting of these files is normally lightning quick as no one really has thousands of pictures just sitting in a folder (I think) but since there are thousands, all with thumbnail previews, the computer can take quite a while to re-sort them from alphanumerical order to most recently saved.

That’s when I had the idea to just rename all the files in a way that tricks the system into giving them to me in the order I want them even if they are in “alphanumeric order.” Doing this for thousands of pictures would be a very long and grueling task, but with the power of C#, it took 20 minutes of coding and 2 seconds later, my files were organized in the way I wanted them to be.

This project idea works best when learning programming languages like C#, Java, or Python.

File organization is not incredibly difficult as most of it is just getting comfortable with the idea of using the IO and File System libraries that your programming language of choice gives you. I also touched on automating websites so here’s a tutorial on automating the navigation of websites using C#/Selenium Webdriver. (Selenium Webdriver is normally used to automate the testing of websites but you can also use it to just automate annoying repetitive things to do on websites).

5. Make An Application That Revolves Around Your Interests

Photo by Pakata Goh on Unsplash

This point might seem a little more vague, almost as if it’s an “insert your idea here” point, but I placed it at the bottom for that reason. We all have interests, and sometimes we can blend them into our learning as an extra bit of motivation. If you’re a gamer, maybe you can make a game for yourself. If you like photography, you can write a website for yourself to show off your gallery. If you like cars then maybe you could create a maintenance tracker for your car.

I could give you all the ideas in the world, but in the end, I am biased because those are MY interests. Ultimately, what is gonna spark your learning the hardest is following your personal interests. The sky is the limit with this one and it really comes down to what you want to do.

I personally love writing Discord bots so when I am learning a new language, I like to create a Discord bot in that language. This resulted in me having bots written in C#/.NET, Java, Python, Ruby, and Typescript that I have used as experience when in interviews.