Keeping your coding skills sharp, especially if your job doesn’t require you to code regularly, can be quite difficult. One of the things that surprises new coders the most is how fast they find their freshly learned knowledge slipping away.

Learning how to code is learning a new language. Only by coding regularly will you be able to keep your skills razor sharp. But this is easier said than done - it’s often hard to motivate yourself to code things just for the sake of getting some practice… So we’ve put together some of our favourite ways to stay sharp and keep learning.

Learn by teaching

If you aren’t coding as your day job, then it makes sense to find somewhere else outside your work hours where you’ll be able to utilise your skills.

It’s well known that one of the best ways to consolidate what you know is to teach. Voicing your knowledge out loud, going through the fundamentals slowly and breaking it down for beginners will often flick on many light bulbs for yourself and iron out any wrinkles in the knowledge you have.

One easy way to you can teach how to code is to talk your friends (or anyone else who will listen) through different concepts. For example, try explaining what CSS is or how you would put a particular site or element together. Doing so will allow you to simplify and draw together the knowledge you have rattling around in your head.

There is also an abundance of free coding schools where you can volunteer your time and skills. Whether it’s teaching children or perhaps the underprivileged, teaching basic coding in a stress-free environment is a good way to keep your skills up to scratch while helping out at within the community!

The best thing about teaching others is that it does so much more than just consolidate your knowledge. Teaching forces you to be objective. Sometimes it’s hard to enforce good habits by yourself but when you’re looking at someone else’s work it’s much easier to spot bad practices and reinforce to yourself why you need to things a certain way.

Having a different perspective can also sharpen your troubleshooting skills. As a teacher you will spend a fair amount of time helping students through their mistakes and challenges. That means you’ll likely be reading through hundreds of lines of code per session, diagnosing and fixing all kinds of problems. Regularly troubleshooting will help you get faster at understanding where to look first when a problem occurs, what the most common mistakes are, and how to fix them.

One of the easiest ways of finding great communities to be part of is by searching for coding meet ups on Meetup.com. On there, you should find a plethora of coding communities of all kinds of levels. Don’t see any meet ups? Then it’s not a bad idea to start your own!

Work for a not-for-profit or a charity

Not up for teaching, or wanting to do something more practical? That’s no problem either. Charities and non-for-profits are always looking for a helping hand. Volunteering and doing pro-bono work on small projects with an organisation you believe in is one of our favourite ways to give back to the community while getting some experience under our belts.

The great thing about working with a charity and social enterprises is it gives you experience working within a team - an experience that is invaluable to have, especially if you’re thinking of going into web development or coding seriously. You’ll likely be liaising with project managers, IT directors and other stakeholders within the organisation, which means not only will you be sharpening your coding skills, you’ll also be developing necessary soft-skills.

Finding charities to work for is easy - simply do a Google search for organisations that work in an area you’re interested in. There are also platforms that help link you up with charities needing volunteers - for example, in Australia, we have Pro-bono Australia, a search engine and job board for NFPs and social enterprises.

Don’t forget, if the organisation likes your work it’s not a bad idea to grab a quick testimonial from whoever worked with you closest - it’ll ensure you have something you can put on your resume at the end of it.

Pick up open source projects

Open source projects are programs whose original developers have published the original source code to allow public use and modification.

As collaboration and location-independent work become more viable than ever, it’s never been easier to be part of a team building a community project.

One of the easiest ways to find such projects is by using the Github Explore option. There, you’ll find hundreds of public code repositories you can dig through and be a part of.

Another way is to get involved with projects is to find tech startups that have public Slack channels or community Trello boards anyone can join. Usually, these transparent tech startups will display public roadmaps that outline all the features and technologies they want to build. Having this two-way communication with their community means they’ll often take open code-submissions, so if you feel like you have something to contribute, or you just want to see how engineers work, there are some great communities to be part of.

We love joining open source projects so much because they’re an excellent way to interact with other developers and get a feel for what it’s like to work with a technical team, especially if you haven’t had the experience before. It’s important to become familiar with working with other people’s code as well as committing to larger code repositories and projects, as they’re often skills that you might overlook in the early stages of your development.

Participate in Hackathons

The premise of a hackathon is simple - a bunch of people get together for a short, pre-allocated time (usually 24-48 hours), and compete against each other (usually in teams) to build a company, app, or idea extremely quickly. It’s a Red bull fuelled, panic-induced, sleepless period of hellish work that is designed to stretch your abilities. Primarily though, they’re meant to be fun.

There are two types of hackathons - sponsored hackathons, where a company will post a problem they have experienced, and teams work to solve that problem, with the best problem getting funded by the company, or open hackathons, where teams work around a set theme (i.e. solving public transport problems). Although teams can achieve a surprising amount in 48 hours, the goal usually is just to build a proof-of-concept.

While hackathons sound like they’re all about coding and programming, there are ample opportunities to show off your other skills too. Judges of hackathons usually look out for real-world feasibility and overall team functioning, so you’ll get a chance to bring your other skills to the table to flesh out the idea.

Look out for your next hackathon by keeping tabs on startup communities like Startup Grind or Angel Hack.

Pick up small freelance jobs

There’s no better way to keep your coding skills sharp than to keep using them, and there’s no better way to do it than to make a small side-hustle out of it. Picking up your first client might seem tough, but it’s often easier than it might look! A good place to start is on freelancing websites like Upwork and Freelancer. There you’ll find a wide variety of jobs from small site tweaks to large-scale ongoing contracts.

It’s a good idea to first start with small projects that will only take you a few hours before diving into the ones that might require a bit more commitment. That way you’ll at least be able to get a few easy ratings under your belt, as well as get a feel for managing your time juggling your day-job with freelancing.

If you’re not in it for the money, then bartering might be more of your jam! Many businesses will consider trading value-propositions - for example if you’re travelling, look up hotels which will provide you with accommodation in return for you maintaining their website. It’s often a mutually beneficial relationship that could then net you more work!

These are some of our favourite ways to keep your coding skills sharp, especially if you’re not using them daily. It can be startling to see how fast your new-found knowledge (and motivation to learn) slip away, so it’s important to engage your skills as early as possible.

What are some of your favourites on the list? Do you have any other ideas? Let us know!