loading...
Cover image for 17 Beginner Programming Mistakes (Help Guide)

17 Beginner Programming Mistakes (Help Guide)

nerdjfpb profile image Muhammad Ali (Nerdjfpb) Originally published at blog.nerdjfpb.com ・19 min read

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.

Alt Text

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).

um so funny

Stuck in Tutorial Hell

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.

tutorial hell be like
Tutorial hell be like

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?

Not Giving Importance to Clean Codes

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.

when I see my old codes
when I see my old codes

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?

Trying to Memorize Everything

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 ol, 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.

I forgot html again
I forgot html again

But after some time, I understand what ol and 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 ol means ordered list and li means listed item. Easy right?

Trying to Learn All & Less Focus on Advance Topics

When I started I started with the C programming. But I was so hungry that I wanted to learn more and more so I kept jumping from C, I learned C++ then tried C# a little bit. Then our university Object-Oriented Programming course forced us to work with JAVA. So I learned JAVA too. Then for some courses, I learned about Assembly programming, Matlab, Python, HTML, CSS, JavaScript, PHP, etc. But if at that time if you told me to choose one, I can’t because I wasn’t better at any one of them, I just knew them and did a little code on them. I liked python but I didn’t know how to do a string reverse on the python or how to do the algorithms with python. Because I wrote my all algorithms using C before, so I wasn’t good at using python my algorithms or data structures. The best-case scenario can happen in my life that I worked with python from zero and in 4 years I can be so good in python so that I know almost everything I need to know to have a great start in a career. This didn’t happen with me because nobody told me that sticks with one language and needs were different in the university so I needed to work with so many programming languages. Recently I found out how JavaScript works under the hood. I learned about the V8 engine and some other stuff going inside JavaScript. Most of the tutorials are not made for understanding the language, most of them are just a way so that you can build something without understanding the things. Yeah, you can build amazing things by watching tutorials, but this is not going to make a good programmer. You’ll just be going to rely on your bad codes, because when you whats going under hood then you can write better-optimized code. I wasn’t just focusing on the advance programming topics, I was just focusing on conquering programming languages, this was a bad decision. We should learn deeply about a topic, not just know everything! So my suggestion will be to choose a language and stick with it. Also

  • 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).

Rushing to Frameworks

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?”

damn! it’s hard
damn! it’s hard

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.

Not Building Good Projects

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.

Just building websites is not enough
Just building websites is not 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.

Not Doing Any Algorithm Coding

I understand this was a mistake after giving some interviews in good companies. Actually, In my country, anyone can get a job without knowing much about algorithms. I gave a lot of interviews for getting experience in interviews and companies, most of the people hire someone who asks for a low salary this is why most companies can’t survive in my region. In my first job, I was the only developer there(it was a Digital Agency). They asked me to make a 3 step Form in HTML work for their current website and I did that and then they selected me. In my second local job, they asked me for writing e-commerce in PHP using pen and paper. After doing the 2nd job for 4 months I decided that it is not a good choice for me to work as a PHP developer so I switch myself into JavaScript and start working online and tried some remote jobs. This is where I learned that I should have practiced algorithms all the way! Because algorithms are needed for the interviews. In good companies, there will have an algorithm test for sure.

Need to write an algorithm for getting friends
Need to write an algorithm for getting friends

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.

Reading Stack Overflow Instead of Reading the Official Documentation

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!

Forget to Ask Why

When I was driving into new and new programming language I forgot to ask myself why! Why I am doing this? Why I am using python instead of MatLab or why I am working with java instead of another programming language. I think this is a huge mistake a beginner does. Like, ask some beginners why they code in python/javascript/java/c# or anything else. Most of them will be silent, some of them are good and they know about a little bit what they are doing and why. I didn’t understand this for a while and suffer a lot for this. Learning PHP was a bad choice when I started, I could’ve chosen JavaScript instead of that. But learned it 2018 that node js is way faster than LARAVEL when it comes to API request of backend. Find More - https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3

express vs laravel
express vs laravel

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!

Don’t Read Other Codes

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!

Not Sharing Journey

“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?”

Sharing is caring
Sharing is caring

But with time I learned how to explain it to others. For me, I start thinking programming is like a game. There are so many levels and to pass one level to another you need to earn some skills. Like if I make a game for javaScript language then levels will be

  • What is JavaScript?
  • JavaScript Types?
  • Javascript Comparisons
  • Javascript Variables
  • Conditional Statement
  • Loops
  • Functions
  • Array
  • 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.

Missing Planning About Codes

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 someone asked about coding plan
When someone asked about coding plan

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.

Don’t Know How to Use the Debugger

I see this mistake with a lot of developers. I’ve seen some senior developer who doesn’t use the debugger. But debugger helps a lot. You can set up a debugger easily with vscode now. Especially when I am debugging someone else code then the debugger helps a lot. It’s way easier to find the details about the code without using console.log(I am giving JavaScript examples because I code JavaScript now most). As a freelancer, I need to work with multiple projects and different types of code bases. Debugger helps to find the details of the values fast and I work faster than before. For now, I think I should’ve learned the debugger before in my beginner level of coding.

Use A Journal & Time Tracking

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.

Keep journal everyday will help
Keep journal everyday will help

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.

Not Active in A Programming Community

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!

Afraid To Ask Questions

“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!

Missing Productivity & Efficiency

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.

My everyday
My everyday

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.

Recap

I’ve listed a total of 17 mistakes that beginner programmers do! They are –

  1. Stuck in Tutorial Hell
  2. Not Giving Importance to Clean Codes
  3. Trying to Memorize Everything
  4. Trying to Learn All & Less Focus on Advance Topics
  5. Rushing to Frameworks
  6. Not Building Good Projects
  7. Not Doing Any Algorithm Coding
  8. Reading Stack Overflow Instead of Reading the Official Documentation
  9. Forget to Ask Why
  10. Don’t Read Other Codes
  11. Not Sharing Journey
  12. Missing Planning About Codes
  13. Don’t Know How to Use the Debugger
  14. Use A Journal & Time Tracking
  15. Not Active in A Programming Community
  16. Afraid To Ask Questions
  17. 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.

learned from it
learned 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

Originally it published on nerdjfpbblog.
You can connect with me in twitter or linkedin or instagram !

Discussion

pic
Editor guide
Collapse
nerdjfpb profile image
Muhammad Ali (Nerdjfpb) Author

Thanks man! I am so glad that this post helped. I took a lot of time to listed down the points and tell my story! When I was writing this I was a little bit afraid to share all my mistakes on public, but I am really glad that it is helping you!

Collapse
harper0478 profile image
harper0478

Wow! These tidbits are extremely valuable. And for someone like myself and many others who are self learning, this really puts in perspective the discipline needed as well as what really matters as to what we should focus on. Grateful for you wisdom!

Collapse
nerdjfpb profile image
Muhammad Ali (Nerdjfpb) Author

It's a pleasure to know this.

Collapse
_rokib21 profile image
Rokibul Hasan Rokib

Thanks for the post. Going through the same problem as you told , so many language syntax to learn in university in Bangladesh .

Collapse
nerdjfpb profile image
Muhammad Ali (Nerdjfpb) Author

Yaah that's true. But it's better to get more experience when we are not working. I think you should play with the languages, lot's of different things you'll know.

Collapse
fernandosolivas profile image
fernandosolivas

Very nice. I can't even explain how precise you was with this 17 points!! Nice article, Muhammad.

Collapse
nerdjfpb profile image
Muhammad Ali (Nerdjfpb) Author

I'm really glad that you understand!

Collapse
maxiqboy profile image
Thinh Nguyen

So Use A Journal & Time Tracking is a mistakes ?

I think it should be Not Use A Journal & Time Tracking :D

Collapse
nerdjfpb profile image
Muhammad Ali (Nerdjfpb) Author

Damn! I always did this type of mistake. Thanks for pointing out!

Collapse
einargudnig profile image
Einar Guðni Guðjónsson

Great post!
I would have loved to see it when I started.

Collapse
nerdjfpb profile image
Muhammad Ali (Nerdjfpb) Author

I got the same feeling too. Hope this will help someone new!