Published on

Developer mindset thoughts N1: Do not get stuck for too long

Authors
programmer-bored

This is a story of a junior software engineer, let's call him Mohamed, who was afraid to ask for help

Setting

The story happens in a small startup of about 12 people.

Characters

  • Mohamed : A junior developer, 22 years old, who just graduated from university. His primary struggle is with self-doubt and a deep fear of being perceived as incompetent. Despite being hardworking and talented, he often isolates himself when he runs into problems, convinced that asking for help will make him look weak.

  • Youssef : Tech lead, 20 years of experience in Software engineering.

  • Yassine : A mid level software engineer working at this startup

Story

The startup dev team was maintaining a web application they made for an insurance company. Mohamed was hired as a junior software developer.

The first problem faced by our main character was that he didn't have any experience in the web framework, which was Django, that the company was using, which in fact is a very usual situation. Mohamed already had some Python experience and therefore, learning Django wasn't a big deal, but he didn't ask his manager for enough time to learn it properly. First mistake.

After a first very quick onboarding period, and at the beginning of the second week, the startup tech lead called Mohamed to explain to him his first assignment : The web app was relying on a legacy code written in JavaScript to perform a business logic, and the assignment was to rewrite this legacy code in Python and integrate that into their new Django API.

In no less than 10 min after this discussion, Mohamed grabbed his IDE. No planning, no thoughts, no questions asked to his teammates to try to understand the business logic more further. Second mistake. Mohamed didn't ask for the deadline for when this assignment should be done. Third mistake. He also didn't emphasize that he didn't have time to properly learn the web framework and needed more time for that.

Despite some small explanations one day from his coworker Yassine, Mohamed still had a very hard time in understanding the business need and still needed further explanations but he was afraid to be seen as incompetent. Fourth very big mistake. Due to his inexperience, Mohamed had a very hard time in trying to understand what the legacy code was doing. In addition to that, there wasn't any automated test in the legacy code which made understanding it much harder.

One week later, seeing that he was stuck, the tech lead called our main character and offered more explanations and guidance to make this assignment go forward. This was an important task that needed to be done as fast as possible. Despite having many questions to ask, Mohamed didn't ask any questions and promised that the job will be done quickly.

3 weeks later, the assignment is still at point zero. On the last day of the third week, the tech lead called our main character Mohamed to announce to him that his trial period will be terminated 🙁

Mistakes and lessons

  • If you are hired somewhere, it means that you have the skills needed to do the job. Try as much as you can to overcome imposter syndrome. Nobody knows everything.
  • In business, people only care about the job being done, nothing more. Nobody cares about how stupid a question might sound. Do not be afraid to ask questions and especially in the first weeks in a new job. If asking questions is seen as a bad thing, you should question yourself if this is a good company culture to stay in.
  • Asking for help is completely normal, no matter how much experience you have in the field. If you don't ask for help, your coworker will assume that the job is being done. If it's not, be prepared for some very bad consequences.