3 min read

Observing the growth in a junior engineer

What are the key aspects to keep in mind when observing the growth of a junior engineer? What should you keep in mind as a junior engineer to assess your growth in a team?

As an experienced developer in the past, and an engineering manager afterward, I have met many junior developers throughout the years.

Therefore, it’s pretty straightforward for me to determine, after a couple of weeks or months, whether a developer is going to experience significant growth and, consequently, have the potential for a successful career in the technical field.

Don't be in a rush to grow up quickly (XKCD 974)

It’s a matter of identifying recurring patterns and signals in people’s behavior. Generally, the presence of a good number of these behaviors represents, with good approximation, the observable growth career trajectory in a developer.

Let's see them together then.

They solve problems

Problem-solving is probably one of the most important skill for any great developer. As an engineer, you'll face problems every single day in your career.
Approaching problems from multiple perspectives, think outside the box, and always try new things.

If your mood when facing a new problem is "OMG, not again…", then you are doing it wrong.

Considering that you were hired to prevent, identify, and solve problems, people in the company will also turn to you for this.
Your approach to these situations is fundamental for your growth.

The aim for autonomy

The best engineers can work independently and take the initiative.
They read, search, try and fail often before asking for help.

They should be able to be self-motivated to complete tasks without constant supervision.
This doesn’t mean avoiding discussing with your colleagues, but quite the opposite.

They manage their time

An engineer must be able to balance multiple tasks, meet deadlines, and create high-quality output.

In a fast-paced environment, it means being able to: prioritize, maintain focus, manage your energy levels (and avoid burnout).

They communicate well

Believe me; no team needs a person who, no matter how skilled, is not capable of communicating and working together with others.
If you want to become an engineering manager or a tech architect, you need to be great a communicating; it means: explaining topics to non-technical staff, presenting solutions to stakeholders, and providing clear feedback.

It also means you can accept constructive feedback, recognize your limitations, and learns from others.

A good spirit of teamwork makes it easy and improves on many processes towards product delivery.

Communication is key when working as a team.

It is not just communication, but on-time communication.
Late communication sometimes is as good as no communication at all. If having a problem, communicate to the team on time.
If overseeing a problem, let the team know on time.
Good communication removes a lot of overheads in teamwork and should be prioritized.
A growth mindset values effort, persistence, and learning from mistakes.

They're team players

No company needs a ninja developer who cannot work in a team.
It's no secret that teamwork and collaboration are good for business.
They can increase productivity, boost creativity, and make the company more competitive.

To be a ninja developer but not be able to communicate with others not only impoverishes the team you work with but also diminishes the value of your work.

They challenge other people

A developer needs to challenge one's ideas constantly.
Challenging boost innovation, increase code quality, and improve risk management skills.
Healthy conflicts in teams should be encouraged since they always improve the output.

They're resilient

If a developer wants to set up for long-term success in this career, he need to be able to maintain his motivation in the face of adversity, be able to bounce back from setbacks, and adapt to changes.

“It is not the strongest of the species that survives, nor the most intelligent; it is the one most adaptable to change.”

Software engineering is a very dynamic field; you should be able to handle and embrace changes every day.

A little unfair in a few weeks, don't you?

Obviously, not all of these signals can be observed within a few weeks.
However, if you are mentoring a new hire, there is one aspect that needs to be monitored very closely.

How he collaborate with the rest of the team

Every person is unique. Differences in personalities, habits, and tendencies are common in any organization. It is also true that every person - extroverted or introverted - adds something valuable to the organization through their unique traits.
Avoid making early judgments based on your own bias.
Observe how people act and how they help the growth of the team effectively.

It's your goal to help a new hire to:

  • Ask the right questions
  • Recognize what’s working and what’s not
  • Listen and empower
  • Understand the other person’s perspective
  • Become confortable with failure

Growth is a never-ending journey. And as a leader, you can only support growth if there is a strong conviction to take action on the other side. If this is lacking, the best thing you can do is to communicate clearly.