Programming is kind of like playing an instrument; you have to practice constantly to keep your skills sharp and improve your techniques. If you want to practice programming on your own time, use the Internet to find coding exercises and challenges to practice as well as improve your knowledge by working on open source projects or taking online courses. To hone your programming skills in a real-world setting, work on programming projects.
Using Online Resources
Learn from open-source software projects.
Start by searching online for various open-source projects and just reading their code to learn how different frameworks work. Start contributing to open-source projects or create your own once you have learned how other open-source projects are built.
- Open source projects are projects where the code is completely open to the public to view. They are typically community-based and accept help from other programmers.
- For example, if you want to learn how the Rails framework works, look for Rails open source projects on GitHub and study the code to see how different programmers implement different features.
Take online courses to improve your knowledge and learn new techniques.
Search for cheap or free online programming courses on sites like Udemy or Coursera or look for Massive Open Online Courses (MOOCs). Sign up and take the courses to brush up on your programming skills.
- Courses like these are a great way to practice techniques that you want to work on at your own pace. You can also get helpful tips and feedback from teachers and other students.
- You can find MOOCs here: https://www.mooc.org/.
Solve coding challenges and puzzles on different sites to practice.
Search for coding challenge websites and find some that appeal to you. Attempt a variety of challenges to practice editing code to solve problems and improve your programming techniques.
- Some examples of top code challenge websites are HackerRank, TopCoder, Coderbyte, Project Euler, CodeChef, Codewars, and CodinGame.
Do code kata exercises to learn by repetition.
Visit the CodeKata website and create code based around the requirements for different kata exercises. Do each exercise repeatedly, improving the code each time, to improve your programming techniques.
- The term code kata comes from the Japanese concept of a kata in martial arts, which is an exercise you repeat over and over again, continuously improving as you go. Code katas apply this concept to programming by providing small exercises designed to take 30-60 minutes that are meant to be repeated.
- Some code katas don’t even require any coding, but they will help you practice skills that are fundamental to programming, such as experimental modeling.
- You can also find some katas on coding challenge websites, such as Codewars, which you can visit here: https://www.codewars.com/.
Working on Programming Projects
Plan a software project of your own.
Determine a business problem that needs solving and come up with a solution. Break the solution into smaller programming tasks that you can complete in a specific order to implement the solution and solve the problem.
- Practice good self-management by staying focused on each programming task as you work through it and keeping track of how long it is taking you. If a particular task is taking too long, ask other programmers for help.
Practice your debugging skills on any programming project you work on.
Identify the causes of programming bugs and try implementing different solutions to fix them or work around them. Ask questions about why a bug is occurring and try different coding techniques to debug them.
- When you successfully debug something, pay attention to the questions and techniques you used to do it. Keep asking these questions and applying these techniques to future bugs.
Engage in pair programming to learn from others.
Work together with another programmer on a single computer to solve a particular programming problem or work on a programming project together. Make sure to choose a good partner who you will learn from, such as an experienced senior developer.
- If you work as a programmer, you could try to choose a partner who is equal to you in seniority, but more experienced than you in a different programming language. For example, if you are most confident in your Python programming abilities, you could choose someone who is skilled in Ruby.
Keep track of mistakes you make and learn from them.
Do your best to notice coding mistakes you make when working on programming projects. Determine why the mistake occurred and what you need to do differently in the future to avoid making the same mistakes.
- If you made a mistake, but aren’t sure exactly what you did wrong, you can ask other programmers to help you figure it out, read a book on the subject, or search online for information related to the issue. This way, you’ll learn new skills and models you can apply to your work to avoid making the same mistakes.