Mistakes to avoid as a Self-taught programmer

Photo by NeONBRAND on Unsplash

Mistakes to avoid as a Self-taught programmer

Mistakes to avoid as a Self-taught programmer


Intro

Hello everyone, my name is Noel, I’m a self-taught software engineer currently at Microsoft through the leap program. Self-taught can be the most difficult way to go about learning programming because unlike boot camps or colleges, you don’t have someone telling you what to study or even teaching you it. As self-taught programmers it’s our obligation to choose how we’re going to learn something and when. In the process it can be hard to stay on track, know what to study, talking to others and many other things. In this blog I will talk about some of the mistakes I made so that you don’t make them. I wish I didn’t make these mistakes but I am also grateful because now I can help other people.


1 - Not creating a study plan

Not creating a study plan is the first mistake I made. Think about it, when you go to a college or a boot camp they tell you what you’ll be learning/doing during the next few weeks or months and they follow that plan/schedule. When you are learning by yourself you’re the one that needs to create that study plan and I did not do it. I remember just jumping right into learning without even knowing what I was going to learn or why. If I had thought about what I wanted to learn first, and made a plan on how to do it, I would’ve saved so much time and I would’ve had something to guide me. Do not make this mistake, think about what you’re interested in about programming, create a study plan and then follow it. If you don’t really know what to learn because you’re new to the programming world, YouTube can be a good friend to you, just look up how to learn programming and watch a few videos, then go with the one that you like the most or the one with better comments/reviews.

2 - Not networking early on

I remember when I was learning programming I would always see people everywhere (LinkedIn, Twitter, Instagram, YT) talk about networking and how important it was. Although I heard it so many times I just didn’t really pay attention to it and well... I didn’t network at all for a while. All NOT networking did for me was hurt my career. Networking is all about getting to know others and creating relationships that will help you in your career. Talk to people that you have things in common with, people who you find something to talk about to, people that are maybe doing the same thing you’re doing and create relationships with them, this will open up doors for you in the future. If the other person gets a job they could recommend you, you could also do the same for them. Not only that, you can always learn from others and help others learn, that is the beauty of networking and I just wish I knew it early on. Please network, I know it can be difficult at first since it’s weird talking to someone you’ve never met before but we got to do what we got to do, so do it. Send a short message asking them for something directly that will take them a few seconds to read, that will make the other person want to reply more than if you sent a long message that is difficult for them to read. Something like this is perfect: “Hey [name of the person] my name is [your name] I’m learning programming at the moment I’m going at it the self-taught route and I saw you did the same, would you mind telling me how you learned X technology? Thank you so much!”. Then keep the conversation going, message them once in a while and that’s how you start creating relationships.

3 - Losing focus by getting distracted with other technologies/things in tech

This is another big mistake I made. Once I had a study-plan everything I had to do was to follow it, sometimes though, for some reason I got distracted by other things like for example Hacking, Machine Learning, AI etc... I would start reading about them, watching videos and then trying to start learning them. This isn’t that bad if you’re trying to decide what you want to do in tech but if you are trying to break into tech fast (like I did) then it’s better to just focus on one thing so that you can get that first job fast. If you do what I did you’re just going to be wasting time on things that won’t help you get that first job. Create a study-plan or a guide, and follow it, do not get distracted like I did. Once you get your first job and you’re working with other people you can start looking into other things if you find them interesting. You can always make the switch from Web Developer to Mobile Developer, but do it when you’re already in tech getting that experience which it what counts.

4 - Wasting time applying to jobs without a good plan/structure

This mistake made me waste a lot of time. Let me explain... When I was learning programming I heard people say “apply to jobs early on, even if you don’t feel ready” the reason behind that is that you could get lucky and get hired as a Jr programmer, but if not it won’t help you. I’m not against doing that, you should! My mistake was that I would stop studying for a few days or even a week or two, just to apply for a bunch of jobs, which is not good because if you’re still learning then you’re putting that aside. The way to go should be to apply for a few jobs (1-3 in my opinion) every other day. That way you’re still studying and practicing and at the same time applying for jobs. Prioritize learning at first since that’s what will allow you make better projects and show off what you know. Once you have good projects to show then prioritize applying. I recommend looking for apprenticeships since they can be better for self-taught programmers because they’re easier to get than jobs (if you don’t have a degree).

5 - Not practicing DSA early on

DSA stands for Data Structures & Algorithms. This is something that college students study a lot. Bootcamps don’t really teach them and as self-taught programmers it is our obligation to learn them. A lot of people like to say that tech companies should not interview candidates with coding problems but I think it’s good. It separates the people who can study/learn them and those who don’t. DSA is important because when creating software that people will use they will care if it’s slow or fast, if it uses a lot of memory or not. All of this is related to algorithms and data structures. What you use in your programs matters, that is why you should learn them. I didn’t know all of that when I first started learning programming and so I didn’t really care for DSA. I only started learning later on when I started applying for jobs. Do not do that. After you learn some of the basics stuff of programming you should do a course on DSA. Once you finish the course start practicing coding questions (I recommend LeetCode) one problem a day will get you far. At first it will be difficult but it becomes easier overtime and when you get to interviews with tech companies, you won’t have a hard time. DSA will only make you a better programmer in general. If you get lucky and you get hired without being asked a coding question, great for you! But knowing data structures will still benefit you in your job.


Outro

This blog was about mistakes I made while learning programming as a self-taught so that you don’t make them in your journey. If you need help sort of deciding what to learn or how to create a plan I have another blog where I talk about my story and what I studied you can check it out here and use it as a guide for yourself if you’re interested.

Connect with me through my socials!

Did you find this article valuable?

Support Noel Covarrubias by becoming a sponsor. Any amount is appreciated!