3 Good Attitudes For Junior Developers

Delvin Low
5 min readNov 16, 2021

--

Junior developers are usually fresh out of college or mid-career switchers who are new to the software industry. In this post, I share some common problems faced by junior developers and some suggestions for them to grow quicker.

Photo by Cookie the Pom on Unsplash

Becoming independent to solve problems

As a junior developer, you are naturally not expected to BE independent yet given the lack of real-world experience. Senior developers understand that you may need their support or inputs to deliver the tasks that you have been assigned and many are more than willing and happy to help you. However, you can seek help in a better way to start BECOMING independent.

When encountering problems, many junior developers typically tend to pose back the exact same problem to the senior. For example, this test has failed, what should I do? This algorithm is not giving the right output, what can I do? The CI pipeline has broken, how should I fix them? They lean entirely onto the senior developers for problem-solving and expect to be told what they need to do.

A better way may be to try to identify and solve the problem yourself independently first. This helps you to learn. For example, you can try to:

  1. Perhaps look at the logs or debug the issue first using a debugger. Many young developers do not know how to read logs, stack traces, or use a debugger with breakpoints. It is a good time to learn the basics of debugging to step over, step into functions now as it will be immensely useful throughout your career.
  2. If more help is required, try to look up the documentation or search online to see if anyone has faced the same issue before. More often than not, the problem you are facing is not new. Try to understand the problem then collate the different hypotheses of the problems from your readings.
  3. When you are ready, discuss the findings with the seniors from your team. At this point, you should have at least a problem statement ready and know what are some likely solutions suggested by others to run through with the seniors.
  4. An even better junior developer will evaluate the potential solutions that YOU think are best for this problem. The aim of the discussion becomes merely to confirm the best solution with the more experienced developers on your team.

A common strategy that I have since started is to ask the junior developers on my team what do they think the problem is and what have they tried whenever they ask for help. This helps them to start thinking about problems and solutions by themselves. Many of them turn out more capable than they think and these have helped them to become independent and grow to the next level quickly.

Be open-minded to stretch

Sometimes as software engineers, our responsibilities may not always be clear-cut, depending on our workplace culture and work allocation. One tip here for junior developers is to be open to stepping up and learning something that is beyond your immediate expertise.

I have encountered narrow-minded juniors who only want to work on features that are related to emerging technologies such as AI or Machine Learning that are trending. Another told me that he only wants to work on the Java stack and not other languages in the project because of his familiarity with Java from school. Another told me that they want to leave the cloud infrastructure to other team members.

It is fine to have preferences to specialize in a particular niche once you have gotten the fundamentals right. However, it is also important to learn the basics without settling on something too quickly, especially at the early stages of your career. There are two reasons. Firstly, confining yourself to repeatedly do the same things that you already know does not help you to gain experience or grow. Secondly, these filter bubbles that you set for yourself may lead to serious gaps in your knowledge further down the road. Imagine if you have 10 years of experience, but you still need help from others to understand or set up cloud components, write tests, or modify the build pipelines for you.

Instead of being fixed to a job scope or technology, a better attitude may be to consider taking on some intermediate tasks as stretch goals as well. These can be simple tasks to learn to do such as:

  • Refactoring the codebase using a better design pattern
  • Modifying the build pipelines
  • Learning a different programming language

Sometimes, it could also be to support unplanned but necessary work for the team:

  • Reviewing and fixing new security vulnerabilities in dependencies
  • Investigating bugs or regressions in production

Being open to working on other technical tasks and solving problems beyond developing features can expand your horizons as a developer. If they are difficult, at least try to say that you will be willing to give something new a try but may need some support.

Be proactive and take charge

As an introvert, I can understand that many introverted people do not like to talk sometimes. However, you should absolutely speak up when there is a need to.

In some of my previous encounters, there were new junior developers who were shy and did not like to talk during team meetings. The problem was they do not speak up even when there were problems. For example, one of them was not signed up for any card for a week but did not raise it during the daily standups. Another was working on a card that they did not fully understand, but failed to check the requirements with the Business Analyst.

For junior developers, it is good to take some initiative and proactively ask questions if anything is unclear to you. If a requirement is not clear to you during a story kickoff, you can clear your doubts with the Business Analyst or Product Owner. If someone used technical jargon that you did not understand, ask to clarify it. If you are not working or anything, you can voice out and sign up for a new feature during standup. If you need help with anything technical, please raise it with a senior developer.

These are some behaviors of some exceptional junior developers that really impressed me:

  • On one occasion, a junior developer passed by me while I was debugging a problem on my workstation. He asked whether he can join in to observe so that he can learn how to solve it. I was surprised by his eagerness to learn and was more than happy for him to join.
  • Another example is when another junior developer requested to drive during a pair programming session on Terraform since he recently learned Terraform. This kind of reminded me of some medical dramas where the interns will actively seek opportunities to join and participate in surgeries to get hands-on experience.
  • Another good example is when a junior developer offers to host a sharing session over a lunch-and-learns to other team members to share about some new tool that he has been learning about.

To grow, you should practice more, and taking initiative to drive, code, or even teach others is definitely an effective way to do that.

Conclusion

In conclusion, the above are three strategies to help junior developers grow. Hopefully, they will be useful to you.

--

--

Delvin Low
Delvin Low

Written by Delvin Low

Data Engineer | Technical Writer | Productivity Addict

No responses yet