Getting out there and finding your first job as a software developer can be daunting and scary. I wanted to share some common mistakes of junior developers from my experience to make you less anxious and more prepared.
1 – Asking wrong questions
This does not necessarily mean that you ask wrong questions, but that you do not ask the correct questions. I cannot stress enough how important it is to be able to formulate your exact problem before solving it. A good question already has 50% of the solution in it, and when you master this technique, nothing will be able to stop you. There is even a debugging strategy that is based on asking questions, the rubber duck debugging.
Another problem with questions is that junior software developers tend to ask a lot of them. This does not sound like a bad thing, but a developer should have a degree of independence and responsibility. If this is a minor issue, like naming a variable or deciding which CSS attribute to use, it is best to make a judgment call and bear the responsibility for it, as it is the only way to really learn.
2 – Poor time management
Another issue with junior developers is poor time management skills. While working on a project with tight deadlines, it is more important to decide what not to do, that what to do. Some bugs are more important than others, and if you spend too much time working on a minor UI issue, you will not spend that time getting your app to actually work.
Of course, every project has different requirements and objectives. A good developer should be able to spot them and optimize his time for maximum output. A good technique for facing bugs or important architecture decisions is to stop working when you notice you spend too much time on an issue and work on something else. Then come back to it the next day and a solution will manifest itself. It is called sleeping on it and often helps when solving a difficult problem.
3 – Not learning enough
This is a problem most frequently present in overconfident developers, but not limited to them. While you can start working with a bare knowledge of HTML and React, you should expect to learn new stuff for as long as you are a software developer. Not only there are design patterns, algorithms, and libraries that every developer should now, new ones manifest themselves every day.
If you want to keep your value on the labor market, you should continuously self-educate, which includes but not limited to: reading books/articles/blogs/news, trying new things in side projects, contributing to OSS or at least reading through the source code of your favorite libraries, going to conferences, and connect with your fellow developers.
4 – Learning too much
This seems contradictory to my last argument, but just hear me out. As I said, new stuff comes out every day. But that does not mean you have to learn everything. While you can master React, or Vue, or Angular, it will be very hard to master and be a professional in all of them. Choosing what not to learn is as important as choosing what to learn.
Specialization is powerful in terms of your market value. The more narrow your specialization is, the less competition you will have and more demand. I understand it is hard and scary to choose your specialization early in your career, but it is inevitable.
5 – Avoiding responsibility
As a junior developer, no one expects much from you. Your supervisors understand that you need time to grow and learn at your pace and will not give you critical tasks that will ruin the product if you fail (hopefully). But you should start taking responsibility for minor issues, as well as code ownership.
Senior developers and project managers like it when they do not have to micro-manage junior developers and when they have a certain degree of independence. You will never learn and become responsible unless you are willing to take risks and fully dive in.
Thank you for reading, I hope you enjoyed this compilation. Let me know in the comments what other mistakes did you make as a junior developer that I missed!