From my childhood, I always wanted to be an engineer. The reason was the computer from my uncle’s house. The moment when I first see the computer instantly I fall in love with it. I started using a computer for games at first, my first game was Virtua Cop 2. I was very bad using the mouse at that time, so I never finished the first boss in my childhood. So this where everything started.
In my teenage time, I was crazy about technology. So I choose Computer Science & Engineering in my bachelor’s degree & tried to make myself better in programming. I was programming a lot when I started but one day I found that I didn’t progress much as I should be. So what I was doing wrong?
Of course, I was doing so many things in the wrong way! So I decided to write my story and tell the beginner programming mistakes. I listed down a total of 17 mistakes I made while I was programming. So this is going to be a long post. Stay with me please or just see the recap part(scroll to bottom).
I think you can just imagine what happened from the heading. Yeah, I was sucked by the tutorials. Every day I was watching so many tutorials.
After sometimes it felt like all I know is when a question comes to my mind I’ll search in google and just watch a tutorial to do that. I was doing well at my university because at university you don’t need to build something amazing. But when I came for the job I understand that those beginner levels tutorials are not enough so it just broke my entire belief. But I was good at university, my grades are awesome, I thought that I knew to code but honestly recently I understand that I was so bad at that time. But I unconsciously I was saved by myself, how? Because my brain was creative, when I watched a tutorial, I also tried to do some new things that usually beginners never do. Like if I give you an example –
When I was working on finding the prime numbers 1 – 100, then everyone was just doing that exact thing and they didn’t take it any further, also the teachers never told us to do more. I was working something more than that because my brain wanted to do it. When everyone was busy to find prime numbers between 1-100, I tried a lot of things like
- Getting the limit from users
- Count the prime numbers
- Finding a large prime numbers
- Playing with the time of searching prime numbers
If you are stuck with the tutorials, then just stop watching those and try to build something. This is my advice to peoples who are just starting. But I am interested to know what anyone can do to get out of this tutorial hell? What advice you are going to give for the programming beginners?
Oh no! I don’t want to talk much about it, because when I think about my old codes and I feel like I am a shitty person to write those. I never give attention to writing clean codes when I was a beginner.
Even I didn’t know what clean codes mean at that time. There were many reasons because my university teachers never told me that my codes are messy and I should not code like this. They never teach an IDE can help me write better codes. Maybe I was thinking that they could have taught us in a better way. But leave that because I knew how to google and I didn’t search about clean coding, because I never thought it was that important. I understand it when I finally worked with a project in my last semester. There were a lot of web pages I coded and when I reopened them after one week I was like – Holy shit! Who wrote these codes ?! Another thing I forgot to tell that the coding tutorials I watched they also wrote some bad codes too. I learn the importance of writing clean code and learn about the coding properly when I finally take some courses from Udemy because the instructors were great and they explained a lot about it. My advice to beginners is to learn about it when you are doing starting because it is important as learning to code. Because if you just practice bad codes then it will be changed into your habit before you know about it. The people who already know about writing clean codes what your advice for the beginners?
Honestly, when I was in university I felt like I can do great with just memorizing some things because teachers asked questions for some specific things. So I memorized some part of coding which I didn’t understand properly. But this is a really bad thing to do. Because the moment you are starting to memorize the coding, you are going to fall now or in the future for sure. Nobody can save you from it. It’s okay to learn slow but understanding it is the best thing. You can just write code by memorizing like HTML can be done with memorizing. But you don’t need that, because you can use cheat-sheet also you can understand the tag. Like
<ol> <li></li> <li></li> </ol>
Do you even know what
li means? when I first memorized this I only knew that this is going to create an ordered list and I kept forgetting it because I tried to memorize it.
But after some time, I understand what
li means then I never forget this one. So never memorize coding because if you understand programming you can easily guess what to write. Sounds hard? Just try it, you’ll be amazed by your powers.
By the way
ordered list and
listed item. Easy right?
- learn how it works
- learn how you can make better codes on this language
- how you can be more efficient when writing codes on the language
- learn more deepen your knowledge on the topics
If you do these stuff then you can say you are an expert, if your knowledge is not deep enough then you are not an expert and I know the people who currently reading this want to be expert (most of them, some are already expert and I know they are checking out this post).
In my last semester at my university, I understand that I need to find a job, so I looked into our local job and find out that LARAVEL has a good salary in my area and it’s easy for me because I knew PHP Back then. But I wasn’t that good in the PHP but I created around 3 projects on PHP with some of my knowledge, so I rushed into the LARAVEL. The moment when I jumped into the LARAVEL, I feel like I don’t know a lot of things about LARAVEL, but all code was written by PHP and I was like “What language I am Looking at?”
LARAVEL was easy, but getting the grasp of it properly was hard for me because I didn’t know about a lot of things that I can do this with PHP. I was early to get into LARAVEL, if I just learned about PHP well then moved into LARAVEL then I am sure that I would do much better at that time. I took more time to understand LARAVEL. But when I learned it they realized another version and I need to look at the new features and spend time with it because I don’t even know some basics of it. I thought LARAVEL is hard but now I know my approach was wrong, All I did jumping into a framework. But I should’ve to spend more time to sharpen my skills. Now I think before learning a framework anyone should learn
- The programming language well
- Find out the strengths of that programming language
- OOP with that programming language
- Learn the ways to connect databases with it
- Make some good projects where you can gain a lot of experience
- Clean, re-factor & scale code with that language
If you rushed into a framework, share your experience in the comment.
When I learned about ‘A web developer should have a great portfolio’ then I thought about making some projects. From my first bad habit, I choose to follow a YouTuber to make a project. I made some good projects, but honestly, they are all basics. When I show someone about those project their reaction is like – oh! Good one! But I understand after some interviews they are not a good one. If you are not going to build your product in the coding universe then you should spend time to make some interesting and good projects where you can show your skills. Making a simple blog is not going to give you the job, at least the one you desired. Building good projects is the process of getting a good job. If you need a good job then you need some good experience with coding problems and solving them. If you are just building a simple project then you’ll never run into some bad problems, normally the project we made by watching YouTube tutorials, they are really easy. When you are going to make a big project / real-life project you’ll find out the knowledge is not good enough.
Because there are many things you never touch. Like did you ever code with sockets? Did you ever make a website where you integrated multiple payment methods or did you ever make a website where you give the user to drag and drop and make something creative? Also, I can say most of the web developers never made a full web app. I made my first API after 1 year of my professional life. In the meantime, I was working for a company and all they made was PHP websites. I also did the same while I was a full-stack web developer. When I changed the job and search the job details of other full stacks, I learned about API, mobile apps, and some different things. So my opinion will be building some really good projects and add them to the portfolio, this will increase the chances of getting a job into higher than you can think. Also, this will help you to talk about your project in front of the interviewer, most people can’t talk about anything they build in front of the interviewer.
So to pass that test solving programming problem is needed. There is a lot of programming sites where you can work on your algorithm knowledge, do it for at least 3-4 months when you are actively applying for the job interviews! This is the one beginner mistake that every programmer does! If you are working on your algorithm knowledge then eventually you can’t pass the test and it will be really hard to get a decent job in programming.
Every programmer knows Stack Overflow and most of the people spending time on this website. But honestly how many people read the official document before going on the Stack Overflow? For the best knowledge about specific programming is reading their official documentation. If you are not spending time on their official work and instead you spend time on the stack overflow then you’ll get more info and in the Stack Overflow but there is so much misleading info also. This is what I learned recently. In my case, I learned it in one Es-lint issue. I searched about the issue in the stack overflow and most of the people were saying close the rule of Es-lint, but I needed the answer to why that was happening in my code. How to solve that Es-lint error message in my code, but people were just saying that just comment out the thing, just disable the rule. Finally, I understand the Stack Overflow is not good always. So it’s better to run the official documentation first then go to Stack Overflow or somewhere else to find about it. This is one mistake I see every beginner do, maybe some seniors developers do this too. My advice will be just read the whole documentation first if you can’t read the whole then at least have a look at the total documentation then finally look into other sites. This is the best way to know a better and correct thing!
Also sometimes people choose frameworks and they didn’t even know why they choose it. Like there are three popular frameworks in js now – React, Vue & Angular. Do I need to use any of these? I can just choose Svelte instead of all 3. Now it depends on many things but one thing is common everywhere. That is why! A beginner must ask why! Why I am using this framework or why I should use this framework. Knowing why is important instead of just choosing and work blindly!
I am not sure that every programmer does this or not. But from my experience, I saw most programmers don’t read other codes that much. At least in university, I saw this. I saw a lot of programmers just write codes and build things, but they don’t read other programmer codes. I think we should read the good codes from any open source project or any good/successful programmer git account. Reading those can help us to think about how we can do the same work in a better way. Because sometimes we are in a dead-end, we only see one road to go, but if you proper knowledge then you can see the hints of other doors. I think reading other codes will help to write better codes. Also, this will help to make a mental model, where you get the output of code on your head or you can think about the code without running it. This is how anyone can improve their coding skills. This is a simple coding hack that most of the beginners never do!
“If you can’t explain it to a six-year-old, you don’t understand it yourself.”
― Albert Einstein
I think this is a problem with beginners. At first, it was with me too. I just learned to code myself, but when it times to teach someone I was like- “oh shit! How I can make understand the programming to them?”
- Conditional Statement
- Object, etc.
You need to learn about all to go to the next level. This is how you can make easier your thoughts and designed for others. I’ll never forget about this post because I’m writing it. I am planning it. So sharing will help to remember things better, understand things better. This is the mistake most beginners do and I also did this before.
Planning has a lot of impact on coding, especially when you are doing a medium or big project. You can start from any feature, but you can plan it for better efficiency. Then sometimes beginners never pay any attention to scaling codes. They just write code for some sample cases, but they can’t extend the codes. I think this part I was also missing when I started, I was like I open a new file and working new feature by coping other file codes. Also, I was missing the folder structures too.
When I started to React I didn’t give much thought about folder structure, I just make a components folder and put everything on that. But honestly, is it a good way to do things? Nope. I didn’t notice because when I started I had around 10 files so I don’t bother, but think if the component folder has 300 files then? This is a bad practice, so I think beginners should know how to structure the project, plan before writing codes also think about the scaling from the beginning at the code. If you don’t plan your code then it can happen that you are re-writing your codes. Nobody wants that, so better plan your codes from first.
Recently I start to maintain a journal but I’m too lazy to do it every day, but I try to keep up with my journal every day. Sometimes I just keep tracking things after 2/3 days. But I keep a journal, write about my progress, goals & backlogs. I found that beginners don’t keep a journal most of the time when they started. I also did the same, I didn’t keep a journal, I didn’t track my progress but honestly, this helps. The moment you start tracking your time also measuring what you are doing, you can improve much better within a short time. Because it will be clear for you what you are doing. Also, I’ll suggest everyone use a time tracker software to track the time because then we can easily track our time what we are doing.
We can understand how much time we need to build a feature or how much time we waste. Setting realistic goals and accomplished that will be much easier if we start keeping a journal and time tracking.
I am an introvert, so it is hard for me to communicate with people. I try to communicate with people through blogs, Instagram posts and by following great programmers on twitter. I know for some people communicating and being active in a community hard. But honestly this mistake most beginners do! Because they don’t know the importance of being active or following a community. Every day new things are coming, some are a blessing and some are worst. But a programmer should know what going on his tech stack. Because things can change two first, before node js nobody ever thought about we’ll get this much of npm packages with 10 years(npm initial release: 12 January 2010). It is really hard to track everything by ourselves. Like we can’t try everything in the programming world, we can try the best things from the programming world. So how can we pick the best things? From a community, we can see what packages are doing good, what people are using. It is a good way to get the data from them and use it. Also, it’s a way to share a new thing with everyone. I think communication and active in a community are needed for a programmer and beginners don’t do it that much!
“If you don’t go after what you want, you’ll never have it. If you don’t ask, the answer is always no. If you don’t step forward, you’re always in the same place.” ― Nora Roberts
I saw this fear with so many people. They fear to ask a question, I can say this is a problem for any beginners, not just for the programming beginners. But sometimes beginners just ask so some questions which are no brainer. Now we have Google so I’ll suggest everyone for asking Google before asking anyone else. Because now we have a lot of data online, there is a huge chance that the same problem you are facing, someone already faced that and somewhere you can find the right answer before going to anybody. You can Google anything, really anything you like!
Some beginners rush into tutorials and building things. They forgot to take enough breaks. Breaks are important for the brain. A programmer should focus on the efficiency and best use of the time.
I think like a programmer we should focus on hacking the time and get the best from it. If anyone is not taking enough break then he/she will not productive like the people who take breaks. So I’ll say to get enough break while working on something. Also, you can follow POMODORO TECHNIQUE to be more productive. The last thing is about sleep, I think everyone should sleep as much for their body. Staying on a healthy diet will also increase anyone’s productivity. I think this is the part most beginners ignore because they don’t work on their productivity. If you work on your productivity perfectly then it will be very easy for you to get more things done in a short amount of time. Now it’s your choice to do it or not.
Oh finally you read the whole thing, but some people don’t want to read the whole thing so I’ll make a little recap for them.
I’ve listed a total of 17 mistakes that beginner programmers do! They are –
- Stuck in Tutorial Hell
- Not Giving Importance to Clean Codes
- Trying to Memorize Everything
- Trying to Learn All & Less Focus on Advance Topics
- Rushing to Frameworks
- Not Building Good Projects
- Not Doing Any Algorithm Coding
- Reading Stack Overflow Instead of Reading the Official Documentation
- Forget to Ask Why
- Don’t Read Other Codes
- Not Sharing Journey
- Missing Planning About Codes
- Don’t Know How to Use the Debugger
- Use A Journal & Time Tracking
- Not Active in A Programming Community
- Afraid To Ask Questions
- Missing Productivity & Efficiency
Everyone does mistakes, so there is nothing to ashamed about it. But learning from mistakes is important. Every senior programmer was once a beginner. Everything starts from zero, so if you don’t give exact time on a skill you can’t build it. Don’t rush on things, take is slow & smoothly because “slow and steady always wins the race”. But try to be efficient, don’t waste your time on learning something which has no value on your path. Time is limited in our world so try to get the best from it.
From this tutorial I want all beginners who are doing this mistake, they will try to find their way to not do it again. Everyone has a different journey in this world so the problems and solutions will be different. But there are some same problems we face. There are some same mistakes we do. I tried to list down some mistakes that I did when I was starting in the programming world. I try my best to avoid mistakes now but I also do a lot of mistakes. But I try to learn more every day and share more with the community so that if I can’t find my mistakes in myself then someone else can help me to find out.
Thanks for your time in reading this long mistake journey! Let me know what topics you want to learn from me next?
I've two free PDF for you