Advice, Software Engineer

Common Learning Mistakes That Developers Make And How to Avoid Them

Learning, upskilling and staying in touch with latest technology and trends are a part of any software developer’s life. They are not optional extras, but are vital to the successful achievement of your career goals. However, there are some common learning mistakes that developers often make regardless of where they are currently in their career. Let’s take a look at them today, and I hope you will pick up a tip or two that will help you become a more efficient learner in no time.

Not having a learning plan

There is a saying that if you fail to plan, you plan to fail and this applies to learning too. Sometimes, developers get impatient and plunge straight into active learning without any preparation. For example, a developer might say she wants to learn a Javascript framework, React, and started reading tutorials about that React without any outline on what areas she wants to focus on, or how to get to her end goal, being able to write React applications. The better way of learning, in this case, will be looking at the official documentation, going through the step-by-step approach from main concepts to advanced guides and API reference, creating a sample application in React, looking at and learning from other examples out there and setting SMART goals for each stage of your learning. S.M.A.R.T. goals are good goals because they’re specific, measurable, achievable, realistic, and time-bound.

No clear end goal

There are so many new technologies and new ways of doing things in the software development industry. Don’t get me wrong; I believe continuous learning is a good thing. You can only grow our skill set and knowledge if you are open to learn. However, if a developer is too FOMO (Fear of Missing Out) about learning every new thing that she hears about, then there will be no time left for actually being productive and putting her knowledge and skills into good use. Before you learn something, I’d encourage you to think about why you’re learning it and where and how you’ll use your newly learned knowledge or skill. For example, if you’re a backend developer, and you’re leaning Javascript, you’re doing so because your goal is to move to a full-stack development. Or if you’re a DevOps and learning AWS, you might be doing so to increase your chance of a new employment opportunity at a company that uses AWS.

Choosing too broad a topic

Every heard of the saying, everything but the kitchen sink? Sometimes, developers get too greedy with wanting to know everything about a topic that they fail to narrow down and set a very broad learning objective. How board is too broad, I hear you ask. In my opinion, a topic is too broad if you can’t articulate your learning outcomes in a few words to another developer. Learning outcomes are statements about knowledge or skill a developer should acquire by the end of her learning journey on a specific topic. Sure, you can be learning about a particular topic forever, but there must be a point when you decide for yourself that it is enough, for now. Enough for you to feel confident in working toward and achieving your end goal. For example, some learning outcomes for learning React Javascript framework are:

Learning outcomes
By the end of my learning program, I should be:
- Able to create a new React app from scratch that can
-- Consume JSON payload in a REST API
-- Refresh the content of the app every x mins
-- Navigate to different screens
-- Remember the last screen I visited before (if any)
-- Be Unit-tested

Note that the above learning outcomes are not too specific or detailed (like creating a component in JSX syntax, for example) because you don’t know about the ins-and-outs of the React framework yet. They are not too broad either; there is a clear outcome for each statement instead of just a broad, generic one, like “Create a React app”.

Reading and watching too many books, videos or tutorials

Tutorials fatigue — it’s real. If you think you’re learning something by going through endless books, videos and tutorials then you’re simply wasting your time. Pick a few options, be it books, videos or any other format and stick with them. Chances are what you learn in a video will be very similar to another tutorial that you’re reading on the same topic. To give you another example, I did a quick search on Amazon about React Javascript framework and there were about 700 books on the topic, a few of them even have the exact same book title, Learning React. There is no way you can get through all the books, and even if you did, it is no guarantee that you’ll become an expert at React or is it a good use of your time.

Not keeping track of progress

Having a clear plan and a definite goal are good but they serve a little purpose if you’re not keeping track of how you’re progressing and if you’re reaching your goals. Review your progress every fortnight or at least every month and ask yourself whether you are heading in the right direction. I recommend setting up a reminder in your calendar to review your progress at a regular interval at the start of your learning journey so you don’t forget about it. If you’re not achieving your goals timely, it’s a chance for you to understand where you may be struggling and revise your plan. On the other hand, if you’re achieving your goals, celebrate them to keep your momentum and motivation going.

Be an efficient learner

In this day and age, being an efficient learner gives you an edge and set you up for your career success. I’m a firm believer that you can get better at anything in life if you take the time to understand the process and have the willingness to improve. Learning is no exception. It is a skill that can be improved with practice. And knowing what not to do is sometimes as important as knowing what to do when it comes to learning. Just like what Confucius, a Chinese social philosopher, once said:

Learning without thought is labor lost; thought without learning is perilous. — Confucius