Steps to Proficiency in Any Programming Language
Seven steps to proficiency, from being an active learner to solving real problems
In the past, I have made the mistake of stopping at “Hello World”. I wish I could go into the history of Hello World but honestly, I am not interested.
Every programming language you learn will get you to print “Hello world” but, in the actual sense, that is not the beginning. I consider the real beginning to be when you are able to use every bit of the building blocks to build something meaningful.
Let’s jump right into the steps you will require to become proficient.
1. Be an Active Learner
Don’t just sit there watching a video tutorial while you assume you understand what is going on, however interesting it may seem to you.
It is important you replicate every line of code you come across and also test it to see if it produces an expected result. You can later modify the variables involved to see what happens, as it will help you to fully grasp how it works.
2. Find Real-Life Use Cases for Every Syntax
This means you have to go beyond knowing what the methods are or how to use them — you need to deploy them to solve real-life problems.
Array map() method, it will only make more sense to you when you explore the situation where you have an array you would like to iterate over and return a modified array based on the original one.
3. Plan and Build the Simple Things First
At this point, you feel you have an understanding of most of the basic building blocks required to begin writing meaningful applications.
Fight the temptation of rushing into writing a complex application. Don’t be a hero, start with the simplest stuff — a simple CRUD (Create, Read, Update, and Delete) application will come in handy, e.g. a simple to-do list.
You may choose to add more features after succeeding with the simple version. Then, you can proceed with a more complex task.
Truth is, even with the simple stuff, you will encounter challenges from typos to syntax errors and that is why you need to minimize your frustration by keeping it simple at first, monitoring your progress, and advancing to the next task.
4. Learn at Least a Framework
All that you have learned will be put to the test when you pick a framework to learn. This is because frameworks are a world of their own, implementing the programming language in a more structured way than you understand it.
The layer of complexity actually solves some problems that you have no idea exist as a beginner.
These days, there are more frameworks than there are programming languages, hence, you may need to research which one you should start with, based on what you wish to achieve with the language.
For example, my goal for learning React.js was that I wanted to create mobile apps with React-Native, so it was clear I needed to start with React. Do not forget to build simple stuff first as you explore.
5. Stay Up-to-Date With Best Practices and Conventions
The fantastic thing about programming is that there is always a better way to do what you are comfortable doing.
Subscribe to blogs and follow the big players in the game, explore open-source projects on GitHub. I assure you, from just glancing through another person’s code, you will learn new ways of doing stuff.
6. Solve Real Problems
It is time to face reality by doing the complex things. Life in its true sense is complicated.
Look around and you will find a problem you can solve and, in case you think someone else has done what you had in mind, I will say it’s an even bigger opportunity for you to reinvent the wheel by building something that takes care of all the flaws in the existing solutions.
7. Don’t Become a Pro in a Hurry
It’s a dynamic world we live in, things change fast. The trends of yesterday can fast become history tomorrow. Stay humble and be open to the new trends as they unfold.
I will not advise you to jump on every moving train, I will only say it won’t hurt to read up on the next new thing and even experiment a little. Then, you would know if you are interested or if it’s not time yet.
The idea is, you can not afford to be idle — keep up doing meaningful stuff.
I assure you, the more you give, the more you get.