Regardless of how proficient of a programmer you are, it’s always a good idea to keep yourself from stagnating. In this post, I outline a couple of practical steps you can follow to improve your programming skills.

1. Hit the books!

This can literally mean books if you want to. There are plenty of great books for programmers out there, despite the oft-heard sentiment that programming is too fast-paced for written publications to be relevant.

However, this step also doesn’t have to apply to just books either. There are a plethora of resources available that are dedicated to teaching you programming skills. Consider the following free and paid resources to improve your knowledge:

These are but a few, so if none of them strike your fancy, there are many more to choose from.

2. Practice makes the programmer

All the theoretical knowledge in the world would only do you so much good if you never put it into practice. If you want to become a better programmer, you need to write code and lots of it!

This is where sites like LeetCode and HackerRank come in handy. They are chock-full of interesting problems to solve that will get your gears turning. They can be a great way to hone your craft and have fun while you’re doing it!

I recently discovered and I’ve been having a blast solving these interesting little problems. It’s challenging me in ways that I don’t often get challenged in my day job which is sure to make me a more well-rounded programmer. You should try it out.

3. Work on a real-world side project

While coding challenges can be interesting, they’re ultimately very different from real-world projects and can only teach you so much. Do you perhaps have an idea for a project that you’d like to tackle?

Working on a side project for yourself has plenty of advantages, here are but a couple:

  • Working on something you’re passionate about will give you a boost of motivation, kickstarting your passion for the project.
  • A side project can be a great opportunity to work with tools & technologies you might not be familiar with. This counts for new developers but also experienced developers that are stuck using the same tools at work every day.
  • Side projects allow you to work (relatively) without constraints. This can encourage you to be more creative.
  • Side projects can get you noticed in the industry and with hard work and a bit of luck, can make you some money on the side too!

4. Contribute to open source

Don’t have an idea for a project you want to work on right now? You can always find an open-source project that excites you and help contribute towards it!

Contributing to open source is a great way to learn to code because you have to read and understand other people’s code. Also, when you make pull requests, you get feedback on your code from other professionals.


Most of the steps outlined above build nicely on each other. If you feel like you want to level up a bit, you can go through the steps sequentially. Start with learning the theory, practice your new skills and when you get comfortable, get a project out into the world.

At the end of the day, there are a bunch of different things you can do to develop your skills, way more than I listed above. The worst thing you can do to better your skills is to do nothing, as long as you do something, you’re heading in the right direction.