5 Common Mistakes Every Junior Developer Makes (And How to Avoid Them)
Tags: softwareengineering, softwaredevelopment, programming, beginners
Published: 2024-02-25 15:24:15

We all make mistakes, and these are the mistakes that elevate us to the position of senior developer, and **overcoming these mistakes elevates us to the level of experienced developer**.

Also, throughout my early days, I made numerous mistakes, and as a result, if my junior makes a mistake, I will not turn down his or her potential or skills since I understand that it's normal. 
However, **making mistakes repeatedly and failing to learn from them is a huge red flag.**🚩

So now I'm going to share my top 5 mistakes that I wish someone had pointed out to me during my initial days of software development. 💻🔍

## Ignoring Feedback :
 
We have provided feedback in a variety of formats, _like code reviews, in group meetings, and individual conversations_ etc., but we developers will deny it, claiming that it is all garbage, they are jealous of me,  they are exaggerating, or **we took it too personally.**

> Please never fall into this trap. Put your ego aside for a few minutes and write down your notes, focusing on the ones you believe are most significant.Whenever you receive unfavourable criticism, take a step back and think about how these changes will help you advance as a software developer.
 
![Feedback](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/62bkkka3a3znabc6gsyf.jpg)


## Learning Too Many Programming Languages:

> Keeping up with the latest information is beneficial, but studying too much can cause problems. 

**This was the worst mistake I have made in my life**.
Back then, I learned `React, React-Native, Flutter, Android, Vuejs, Nodejs, Mongodb, Cordova, Electronjs, Machine Learning(Numpy, Pandas, Scikit learn, Pytorch) Django,Flask and a variety of other tools`, and **70% of these technologies aren't even required for my job**. 

Instead of focusing solely on coding, I believe it is beneficial to collaborate with other developers, mentor others, improve communication skills, build a network, learn a musical instrument, participate in sports, and pursue other interests.

> Our lives are not solely about code.Create stories and memories that you will remember in your old age.


![Learning too much](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ozzdp6o5so3rne6djnx.jpg)


## Not vocalising your work

Personally, I've found that a person who is **an average developer** but is really **good at vocalising** their **work** in front of others is **more effective** **than** a **person who is very intelligent coder** _but_ expects their managers and team leaders already know that he/she is talented.

I'll use the **example of my two colleagues**, `Kim` and `Jeon`. 
Kim is a type of person who begins working on the task that the team lead or manager assigned to it, whereas Jeon is a type of person who first discusses the scope of that task, then discusses how much time it takes by explaining why it takes that much time (he always adds 2 hours extra for his safety), then discusses the approach, starts working, and hands over before time sometimes because he added an extra 2 hours and sometimes on time.

![Vocalize work](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dypmg64fhjqoyqazqzeg.jpg)


Now consider **who is going to rise more in that firm ?**

**According to me,** it's certainly `Jeon` since he pretends to be intellectual despite the fact that he's an average software developer, but Kim, who is quite intelligent, just becomes an average person in front of their team leader or project manager.

## Don't depend on QA or tester's:

`I hate testers`, literally!!
They don't even test the point I uploaded to the staging server; instead, they make their own speculative assumptions, such as:
- What if I click this button 100 times ? 
- Why my payment is deducted from dummy card and not reflected on project when I refresh the page in between payment processing.
- It's not working on my computer? (Removing the cache is straightforward, but they have the audacity to wonder why it isn't functioning.)

So, if I finish my task before the time, I will make sure to test all of the scenarios so that it has minimal impact on live users.

![Test your code first](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tpphakwvoqvu5vdwstmu.jpg)


## Lack of Defining our Future Goals : 

Instead of relying solely on your company, set future goals such as :
- Determining the finest technologies for your future needs.
- How long would I stay with this company? (I believe staying in a single firm might lead to boredom and a lack of new experiences. Instead, choose a company with intelligent employees  than you.) 
- Should you start your own business?
- What areas do I need to improve?
Going into your software career blindly and without a plan can impede your professional development. You may be unsure about where you are heading or what your future aspirations are.

![Set your goals](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2zwmrnc0596p2qnsx251.jpg)



> Without formulating your own plan, you may end up stuck in the same junior-level position for years.
> So start working on it. Invest a minimum of 5-10% of your everyday time in this.

That's it for this blog. I hope my experiences may help others, and please share your thoughts, which will undoubtedly help me or others to improve. 💭✨🌟📝🙏