3 Main Reasons Why Most Developers Struggle in Their Journey

Samuel Martins
Geek Culture
Published in
6 min readFeb 20, 2021
Photo by Clemens van Lay on Unsplash

One of the most humbling experiences you can and will have when learning to code on your own is when reality kicks in. The point when impostor syndrome gets to you. Have you ever reached a point where you are trying to build some application or learn something new, and it is just not working? Have you ever struggled with something for two or three days in a row or longer? Have you ever felt like your dream of being a good programmer is a joke? Yes, that point. That point when you realize that becoming a developer is not as easy as you thought it was going to be. That point when you realize there is a lot of hard work involved in learning to code to get to be any type of developer. Well, the truth is it is not easy at all, and you will not get there without putting in the work and the hours. In this piece, I wanted to write about why you struggle to learn to code and give the strategies I have used to make the process easier.

I have worked with different people, and in that time, I have seen consistent things that people do wrong that make the process a lot more difficult or take longer. I want to make it abundantly clear here that the journey will not be all rainbows and sunshine. There are going to be some struggles along the way. It is inevitable as you are learning to code, which is a good thing because becoming a developer requires a refined skill set. It takes a lot of practice, which is where you will experience a lot of the struggles. If you are not struggling at all, you should be concerned because it is an indication that you are not out of your comfort zone yet. By that, I mean you are not pushing yourself to build applications that challenge your skills.

Now, I know that kills my argument, but stay with me a little longer. Yes, struggling is inevitable, but it should not be to the point where you build up a lot of anxiety and stress around the idea of coding. Stress and anxiety are the two things that are going to make you less motivated to code. It means that you are going to avoid the activity and eventually quit. Whenever I see somebody struggling with this, three things come to mind that they could probably improve.

1. Personal Management

The most important thing everyone needs to know about learning to code, to the point where they can get a job or start bringing in clients, is that it is all about consistency. It means showing up every single day and putting in the time consistently over a long enough time. Not days. Not weeks. I am talking months, and if you want to be exceptional at this, then show up for years and years. There is no other way around it. There is no shortcut to it.

There are two types of people under which every beginner falls. The first type of person, who struggles a lot, wakes up every single day and thinks of, hopefully, getting 1, 2, or 3 hours of study and practice in. This type of person works on their skills only when there is an opening in their schedule. There is nothing wrong with that, except life happens either way. This type of person struggles because they do not get the extra time to get to work on it.

The second type of person schedules their time. They allocate time for studying and practicing code. I know most beginners usually have a full-time job or are committed elsewhere, but squeezing in one or two hours frequently goes a long way. The more you can get this scheduling down, to where you can have your management beyond “on point”, the more likely you will be doing this for a long time. The ability to manage yourself and schedule your time creates a compound effect, where all these little actions, taken over a long enough period, produce tremendous results and eventually get to where you are a lot better at this.

2. Lack of a Clear Plan

Planning is one of the fundamental skills any programmer should have. It does not matter whether you are just starting or have been in the game for a while. The problem I see with many beginners out there is going at full speed without an actual plan. It usually happens to self-taught programmers. What do I mean by this? You go out and buy like four or five books, a couple of courses, a couple of tutorials, and expect magic. That is the only plan most beginners have. They never really think about the exact steps to take that will lead them towards applying for jobs. They never realize that it goes beyond that.

The end goal for every beginner who wants to get hired as a developer should be a portfolio. Get a minimum of four projects. There is no shortage of ideas for projects on the internet. The point is, it is good to sit down and write out, not just think in your head, a plan. I know most people are anxious about this because of their inability to put forward a good plan. Here is the thing, a terrible plan is 100 times better than none at all because you will have something to improve on along the way. If it makes you feel any better, it is hard to find a beginner with a perfect plan. Like I mentioned above, the people who struggle the most are self-taught coders. That means they go through a lot of research trying to piece everything together. A plan will give you structure.

3. Lack of Checkpoints

Before I go dive into why this is important, I will tell you what it affects most. Motivation. Drive. Zeal. Whatever you call it, that. Imagine you are working out in a gym. I am not sure this is the best example to go with, but follow me for a sec. Most of the time, you have a specific number of reps you are supposed to do in a set. For example, if you are to do 30 reps total in one set, you would divide them into subsets of 10 with rests in between. When you are at 20, you will know exactly how many reps you have left before you finish the entire set. Now, suppose you did not record your reps. You will not know how many you have done nor how many you have left. You will notice something else kicking in, Fatigue.

The same thing happens when you are learning to code. If you have not given yourself a roadmap for what you need to do to get to the point where you can start applying for jobs, you will get tired. Eventually, you will lose the motivation to continue learning. Many people who get very far into this end up quitting because they do not know how much further they have to go. Even worse, they do not have anything to look back on and see how far they have come.

One thing that most beginners do not appreciate is the progress they make in a short period. They get hung up on some concept that they do not quite get, and they quit. That is just sad. I mean, it took Eric Thomas ( the motivational speaker ) 12 years to get a 4-year degree, and you are giving up after 3 days of trying to understand and apply gradient descent? To all beginners out there, you should learn to look at how much progress you have made, which you can see in all the projects you build, and let that motivate you to move further ahead. Your psychology needs to create some checkpoints on your journey so you can see how far you have come and how far you have to go.

This article speaks more about beginners than any level, but it is not just for beginners. I have seen professionals also struggling, trying to move ahead without a plan, and end up running circles around one subject. I hope this will provide some form of a nudge for you to get your head in the game and keep going with a clear plan, allocated time, and progress checkpoints until you get to where you want to be.

--

--

Samuel Martins
Geek Culture

I am a full-stack developer. I love sharing my knowledge of development technologies and programming in general. Subscribe to get an alert anytime I publish.