Learning while being on the job as a Developer

There are countless topics to study in web development. At times you feel engulfed by the sheer number of things you have to learn. With new frameworks being announced every other day, it may look like an activity with no end in sight.

In this post, I will share an easy and practical way to learning a new skill for web developers. This will reduce the hardships and wasted efforts that developers put in.

Have Clear Goals

The more specific you are about what you want to learn, the easier it is for you to achieve success. Choose a topic that you want to become good at doing and start moving in that direction.

Working with a clear goal will help you know exactly how much progress you’ve made, and you’ll figure out what skills are lacking along the way. You will synchronously learn umpteen lessons in programming beyond your original task, that will be forever useful in the future.

Create an Action Plan

You have to have well thought out steps in first place so you don’t lose your way during the practice. If you’re confused about taking the steps, simply create an action plan.

Suppose you’re getting your feet wet around ReactJS; Step one is to start building a solid foundation in JavaScript/ES6/Browser’s DOM. Step two is setting up the development environment and reading a code snippet. In Step three, you touch on rendering elements and write custom components. In step four you learn the difference between functional & class components, and using props and state. In step Five, you create a small application. Finally, you can move on to Browser specific Client side.

Once you have followed above steps sincerely, you will know the basics of react.

To know the way ahead, Ask those coming back

Find some good mentors. Try to understand their coding patterns. Have them examine your code, and do Pair Programming with them.

Everybody is a starter at some point so don’t hesitate to reach out and ask questions. The people around you are your greatest advantage. Those having the skills that you want to master, can provide you essential insights into the subject. Try asking different people instead of just one to get an all round view.

Get the main idea, skip the Details

It is easy to lose yourself in details of a new skill you want to learn. This is where most people give up and never get going with learning a new technique.

For instance, when you’re beginning with reactjs, some questions might preoccupy you like, “Should I learn Redux along with reactjs? The first tutorial says using Mobx and the second one says using CerebralJs? Am I supposed to have experience with other technologies like JQuery or Angularjs? Which one is right?”

Take a deep breath! Deal with one aspect at a time.

You’ll have plenty of time to figure out whether to use CerebralJs or MobX. When you’re beginning to learn a new technology, focus on the main idea. Once you get started, stick to the action plan and other details will fall into place. In the beginning, the only goal is to make it as simple as possible to get started.

Take Deliberate Steps

When you decide on learning a new skill, it’s often because of the motivation. There is nothing wrong with having motivation, but a momentary feeling can fool you into biting off more than you can chew.

In the programming world, everyone has a different way of doing things. You’ve heard stories of people who managed to learn Java, Ruby and Python, etc. in a matter of few months. While for some, it took years to master these and they wonder where they went wrong. The bottom line is, everyone learns differently and even if you put in the time now, it’ll eventually reward in the future that is full of surprises, opportunities, as well as challenges :).

In the beginning, you want to start slow. Remember, Rome wasn’t built in a day. The goal is to acquire a new skill step by step. Performance doesn’t matter at this stage. This is exactly the reverse of what’s most people do. The typical approach is to go from lying on your sofa to developing products six days a week. With a transition like that, there’s no wonder why most people give up after a week or a few weeks.

Keep your Hands in

Any senior developer would summarize their years of training to these three words: Don’t miss practice. You’ll learn much more by practicing for few hours daily rather than spending several hours coding in a single day. If you do dedicated practice but give it up from time to time, you will not make much progress. Prolonged and steady practice is the secret of success in all such undertakings.

There’s nothing wrong with your action plan changing or if you’re taking vacation. You simply need to bounce back after these gaps. The individual impact of each practice will be very small. But the collective impact of sticking to your action plan will help you get the hang of skill you want to learn. And it all comes down to “NOT” missing the practice.

Pick a Task and Get Started

Start with W3Schools.com and explore different tutorials and quizzes. Take up a difficult task which is well beyond your capabilities and stick to it until you complete it. Doesn’t matter if it takes time.

Try solving real-life problems such as Programming challenges offered by different websites like codecup, techiedelight, etc. By the end of 5 to 6 such exercises, you will find yourself a better coder with a holistic understanding of the skill that sounded daunting to you when you started the journey.

As a mentor to over 1000 bubbling energetic young graduates and coders, I can with authority state that this method has worked one hundred percent with everyone. People who practiced these methodologies are placed as pivots in companies like Amazon, Google, Apple, Sony, to name a few. I hope this helps you improve as a developer and gives wings to your journey.