In her Starting Out In Tech series, WorkingNation Associate Producer & Project Manager Jaimie Stevens shares her insight on what it takes to succeed in learning computer programming skills.
The best quote from one of my favorite people, Michael Jordan, is “I’ve missed more than 9,000 shots in my career. I’ve lost more than 300 games. 26 times I’ve been trusted to take the game-winning shot and missed. I’ve failed over and over again in my life. And that is why I succeed.”
The same is true with coding. The more times you put yourself in a situation where you have to think outside the box and develop a system to solve a problem, the better you will get. Accept these programming challenges when they come your way. When faced with new problems, you want to be able to draw from past experiences, so it’s time to put some of those past experiences into your pocket.
Here’s my strategy to improve coding skills outside of class and work:
Practice online. Check out CodeAcademy, an education startup with an interactive website where you can build your code projects. A more challenging program you could use is Project Euler, which provides a platform for a curious mind to try out the unknown and learn new concepts in a recreational context, and help professionals who want to keep their problem solving and mathematics at hand. TopCoder, Coderbyte, Codility, Scratch, and HackerEarth are also sites that will challenge you.
Read code written by someone else. Following what more experienced programmers have done can be a great way to add to your skills and teach you how to simplify your code. It can give you ideas on what frameworks, libraries, tools, best practices and methods to use.
Try out different ways to do the same thing. There are usually more ways to solve one thing. Once you’ve conquered the problem, step outside the box, re-examine and then try it again some other way. This tip will make you a more versatile programmer.
Put your code through a debugger. There is a famous computer scientist, Donald Knuth, who used to mail checks to anybody who could find a bug in the computer software he’d written. Don’t have the spare change for that? Go through your code. It will give you a better idea of what’s happening, strengthen your programming way of thinking and prepare you for next time.
Take an online course. There are tons of great teachers putting excellent material out on the internet now. If you’re not getting what you need out of your regular classes or job, check out a free or low-cost class by Coursera, edX or Udacity. These massive open online courses are commonly known as MOOCs.
Use open source software. You can learn from what other programmers have done. You can add what you want to the projects, you can be involved in testing or reviewing software. And it’s all for free. If you’re going to become involved in the Open Source community, get yourself an account on GitHub, a code collaboration and management tool, and use Stack Overflow for any questions you might have. Hiring managers and recruiters will use these sites when they’re looking for people who are interested in coding.
Join a team. Teams fail or succeed together in programming and it is essential to understand how to function within one. You can join a team and learn how to collaborate at CodeChef.
Study the fundamental and core concepts of your chosen coding language. This includes variables, control structures, data structures, syntax and tools. The better you understand these items, the better you will do.
RELATED ARTICLE: Why you should pick up Python coding skills first
Participate in Online Coding Communities. These communities might be a bit ahead of you when you join, but you’ll catch up. Through these platforms, you can learn about newly developed tools and get feedback from other humans. Github, Project Euler, and CodeAcademy mentioned above are all considered coding communities, as are Geeks for Geeks, CodeChef, and the programming subreddit of Reddit.
An important thing to recognize before jumping into any of these options is knowing which learning method works best for you. Does it help to read? Does it help to practice? Do you learn best from videos?
Knowing yourself is the key to improving your skills. A lot of coding is jumping into the unknown and leaving your comfort zone behind, but being self-aware can help guide you through that.
The key is just finding what works best for you and moving forward with that. It’s important to practice in advance so you’ll know what to do when it matters.
Join the Conversation: What are your best practices for learning how to code? Share your strategy on our Facebook page.
Coming Next Week: Jaimie helps you figure out which coding bootcamp is the right choice for your lifestyle and method of learning.