Skip to main content

The best way to be good at anything is to practice regularly, that includes programming. Doing exercises here and there on a practice site leetcode is good to learn programming concepts, but meshing them all together to create something is the part that needs lots and lots of practice. This can be done by tinkering with a personal project.

How do I come up with one, you may ask.

Before settling on one, you need to first know what exactly you are looking to do and learn. Projects are solved differently depending on what you intend to learn. If it’s a framework like Django or Vuejs then you won’t be able to work on the same project the same way you would in Python or Javascript. Some solutions are engineered to be solved best either a framework or the vanilla language itself.

 

What to look for

1. Fun

Building a project doesn’t just take a day. If it does, then find another one. This means that you need to have something that excites you every time you go back to it. Your interest needs to stay high if you’re going to learn from it. Have fun with it. Boring redundant projects never get to see the light of day. Been there.

 

2. Simple

When you begin, start simple. I try not to get complicated projects especially when I’m on new territory. A new language or concept for instance. It makes the process frustrating and difficult, more than it has to be therefore less enjoyable. With a simple project, it’s even easier to get help online because chances are someone else has already done it.

 

3. Learn from it

Will the project teach you something? Will you learn the skill you are missing by working on it? Don’t waste time on a project that only focuses on parts where you’re good at. If your CSS and HTML skills are polished, then work on a project that will include javascript, or other backend languages. Even if it’s a simple website.

 

Where to look

Now that you know what to look for, where would you find them?

1. Online

The internet is a source of many project ideas. Articles exist on the best projects to work on for a particular language, concept, framework etc. Many professional programmers are expert googlers so don’t feel any less for searching through the internet to find a project idea.

 

2. Learning materials

Many programming books I’ve come across have projects for the reader to work on. For instance in Head First C# begins by creating a simple matching game. Articles and videos also teach while coding a project side by side. You can always choose to work on this project on your own to test how far you’ve come.

 

3. Your favourite app

It doesn’t have to be perfect. The apps we have on our phones are built by teams of many developers, but you can get inspiration by trying to build something close or just a small module of the app.

 

4. A problem

Another way to find an idea of what to build is to identify a problem that exists and solve that problem. Could be automating a process that already exists or building a completely new application.

 

5. A game

Games are another common source of programming projects. Simple games like tic-tac-toe, matching games, minesweeper, sudoku may be simple to play but not as simple to build. They cover many concepts in programming behind the scenes and are a good way to practice your skills. They’re also fun to build.

 

6. Ideas from a mentor

We all know or have a programmer or two in our circles who is ahead of us. Sometimes asking them for tips on what to build helps. “Older and wiser”.

 

Feel free to share other ways you come up with your project ideas.

Happy coding!