If there was a list of the most typical problems the majority of programming learners face at one point or another, feeling lost in the scope of all the information to learn would probably be at the top or somewhere very close to it.
“I feel lost in what to learn” or “I feel lost while learning how to code” is quite a common question-complaint across message boards and other websites about programming. Today we would like to address this problem with some information.
John Travolta as Vincent Vega at Pulp Fiction (1994)
Here are 5 key recommendations on how not to feel lost while learning programming.
1. Accept that you will never be able to learn everything and focus on the most important.
This is probably true for any broad field of study, but for programming especially. Even if you stick to the specific software development niche of your choice, such as Java for example, you will probably never be able to learn everything. This is why they say that to be a good programmer you need to learn all the time throughout your career. So one basic key not to get lost in the learning process is to accept that there will always be something you don’t know. Focus on the things you really need to learn to move forward instead.
2. Don’t just read programming theory without trying to write your own code.
Focusing on theory without supporting it with practice, such as writing your own code and solving programming challenges, is a very common mistake. It is easy to get lost in reading theory, because there’s a lot of it and there always will be a lot no matter how much you read. This is why CodeGym’s Java course, for instance, is focused on practical tasks that follow every bit of theoretical knowledge you learn. Adopting such a practice-first approach helps you to stay focused and tell the difference between the knowledge that you really need to learn and other irrelevant information.
3. Focus on the bigger picture instead of trying to memorize the details.
Another rather common and probably not articulated enough problem when it comes to learning in general is approaching the process from the wrong side mentally. Don’t try to memorize all the information. Instead, focus on understanding the bigger picture: how the processes work together, what is the idea behind each one of them, etc. You will always be able to access the precise information that you need by googling. Understanding the approach and technologies used to make pieces of software work is the knowledge you really want to get out of learning.
4. Do not learn in isolation, communicate with other learners.
Not utilizing the social factor and community would be another mistake, which could easily lead to you being lost. Use online programming communities and message boards such as StackOverflow and Reddit. Attending real-life events such as meetups and seminars is also a good idea. Communicate and share your experience with other learners. CodeGym embraces the power of community and social interactions
for its users in a number of features, including Help section, Forum, Chats, and comments.
5. Don’t use too many learning resources at the same time.
The abundance of learning resources in various forms is what makes programming-related knowledge more accessible but difficult to structure and confusing at the same time. As there are so many courses, lectures, guides, and tutorials on programming languages and technologies available online, with often the same information provided there in different order, it is really easy to get lost if you don’t rely on just one or two main resources as the foundation of your learning. It is better if at least one of these resources can provide you with a proper learning structure, which would serve you as a map of what to learn next.
Opinions and tips
Here are some thoughts on the problem of feeling lost when learning how to code from experienced software developers.
“I’m a professional software engineer writing C++ code everyday, but there are still parts of the language I am unfamiliar with. I think it would be much stranger not to feel lost as you start out. Today, I started learning Rust in my free time, and even with a decent understanding of computer science and programming, I found myself feeling lost with all of the new syntax, explicit lifetimes, and the borrow checker. I’m really having to adjust to it. By now, though, I am used to feeling a bit lost. I’ve essentially never stopped feeling a bit lost, so I won’t let it discourage me and I’ll keep on trying. If you want to know how to program, you should do the same. It is very rewarding, even if it seems impossible to master (and it may well be),” recommends
Patrick Aupperle, an experienced software developer.
“Have you ever been dropped off in a strange city where you know where you are and where you want to go but all of the roads and sites are unfamiliar? After you have been in that situation many times it becomes normal. You learn that you are able to find your way, even though you may need to ask for directions, and you will always prevail, despite some stumbles. Good programmers are constantly learning new tools, using the latest libraries, encountering new languages, and solving brand new challenges. This is a good thing - it keeps it from getting boring. That’s what makes it fun!” says
James Barton, a former software architect.
Don’t forget to practice, reminds
us Kevin Price, another programming veteran: “Programming is a skill. Skills have to be practiced. Many people who have mastered the skill of programming have forgotten their struggles at the very beginning and make it look so easy. Truth is, no one is born being a good programmer, and while some things may predispose you to learn it quicker than others might - they all had to practice. I have an engineering degree, and was a good programmer out of school. It wasn’t till I had put thousands of hours into it that I had an ah-ha moment that made everything snap together in such a way that I felt like I could tackle any programming project. That was when I was 28 - six years after I graduated engineering school. Keep at it, keep practicing, don’t get discouraged. It’s going to take practice in how to put the simple pieces together to make complicated programs.”