Quick note: I'm creating a brand new community for developers focusing on building programming skills through a welcoming online collaboration environment. We need developers like you so consider joining us!
Like most things, practice makes perfect. And no differently, if you want to improve your coding skills the best thing to do is practice coding more. But what are the various ways you can practice coding?
I’m putting in a more conscious effort to practice coding and gathered some information on the various ways I can practice. Not surprisingly, there’s an abundance of information and resources on the web that can help anyone practice coding.
Here are 5 useful methods you can use to help you practice coding and in turn develop your skills.
I’m mentioning this first as I believe it’s quite an important factor. Unless you have a solid reason for wanting to spend time coding you may lose motivation very quickly. To stay focused on the task at hand and be consistent in your practice, make sure to think about your motivations for pushing you to practice coding.
Maybe you’re practising because you want to land a job as a developer eventually. Or you have a project in mind you want to accomplish, but first you need to develop your skills in a particular programming language.
Having a motivation for why you want to regularly practice coding and using that as a driving factor is a great starting point in your goal to develop your skills.
As we all know, the internet is an amazing place (most of the time). There are so many resources available to help you learn about anything, and FREE at that. Of course this includes resources on learning how to code.
So there’s really no excuse to say there’s nothing available to help you practice coding! There are many coding tutorial sites that can teach you how to program using a language from beginner to advanced level topics.
One I’ve used myself is learnpython.org, for refreshing my knowledge of Python. I’ve also heard good things about freecodecamp and gone through some of their tutorials myself. They have a structured set of tutorials suitable for complete beginners with no background knowledge of coding needed. I’m really impressed with the amount of content they have given they are completely free!
Completing quizzes can be quite a fun way to test your knowledge on a programming language. There are also quizzes centred around coding interviews which is a great way to practice for potential interviews if your goal is getting a job as a developer.
A warning here not to get stuck in what is often known as ‘tutorial purgatory’. This is when you spend all your time on tutorials but don’t actually apply what you’re learning. And similar to learning a foreign language, a lack of using the language will eventually lead to you forgetting what you've learned. To avoid this happening, pay attention to the next point!
This is probably my favourite way to practice coding because it reminds me of why I enjoy coding.
Having the ability to create something with code is what being a developer is all about. You can do all the tutorials in the world, but the real fun is in making real life applications or finding solutions to your own problems or other people’s problems.
So why not practice coding by coming up with a project you’re interested in and a problem you want to solve. Maybe there’s an everyday task you perform on your PC that you want to automate? Or do you want to develop a mobile app for something you haven’t come across before? Or you can have fun developing a game and share it with your friends.
Completing a project that’s of use, no matter how big or small is extremely satisfying. When you reach the stage of seeing projects become a reality you’ll understand why learning to code is such a powerful skill to have.
Not to mention while completing your projects you’re gaining a huge amount of coding practice and experience.
Open source is used to describe software with the source code freely available for anyone to view. And not just to view, you can actually contribute by making modifications to the source code and submitting your changes!
Open source software is typically managed on GitHub. The Linux kernel for example is open source and it’s entire source is viewable on its GitHub repository.
By making an active effort to be involved in open source software you’re not only being helpful but also learning to make contributions to code written by other people. Adding to code written by other people can be frustrating but it’s part of a developers life.. There WILL be times you need to edit someone’s code if you do this for a living. Or in cases like contributing to open source, you’re editing code written by possibly hundreds of contributors.
If your end goal is to get a job coding then this is a great way to get used to working with other developers. Although working on your own personal projects is great, working with others is crucial in developing large scale applications.
So what better way to practice coding, develop your skills and learn to understand existing code by contributing to open source projects. If you read source code for open source software that’s known for its quality and efficiency, you’re gaining knowledge from other developers. You can take what you learn and apply it to your own coding practices.
Joining a community of like minded developers is not only good for motivation, but it will push you to practice coding more. This also links in with the previous point of contributing to open source projects. If you join open source communities and become active in them you’re more inclined to contribute. And by working on projects with others, you’re practising coding and also developing your collaboration skills.
Some communities you may consider joining include stackoverflow, which you’re probably aware of as a question and answer hub for developers. If you’re interested in Linux you may join communities centred around the Linux distribution you use, for example, the Ubuntu community. You can also find open source projects on GitHub by exploring GitHub repositories.
Joining a community is a great way to meet like-minded developers, scale up your projects and build up your ability to work in a team.
The fact that you're here on codenewbie and reading this is a start!
We’ve talked about ways that can help you practice coding. You can achieve this by having the drive to want to learn, actually doing the work by learning, completing personal projects, contributing to open source and joining communities.
Learning to code is an endless journey. Even as someone experienced, I’m always looking for ways to continuously practice coding. Through these methods I can scale up my knowledge and improve my efficiency in how I do things as a programmer.
I would love to hear your thoughts on this topic in the comments below. Perhaps you can share your tips on how you practice coding?
If you enjoyed reading this check out more posts on developer tips and coding productivity on my blog :)