When you look at the tech job market — even in the current cold climate of ongoing layoffs — you notice one thing very clearly. The whole world is looking for seniors! Senior Engineers, Lead Engineers, Staff Engineers, Principal Engineers, Senior Consultants, Engineering Managers and so forth. It feels like a whole tsunami of senior positions.
Granted, this perception could be due to the fact that we notice senior openings more because those are the ones that are advertised. Rightly so. But whenever job seekers follow junior leads they end up nowhere, in the vast majority of cases.
Fix the mentor gap
So how do we fix this? By offering more junior positions? Many consulting firms do exactly that, because otherwise they would not fill up their talent pool at all. The caveat in this scenario: most new starters are expected to speak the local language, something that is no longer given considering the high rate of foreign graduates and expats among those with a basic technical skill set.
Yes, we do need more junior positions to be offered. Urgently. The bootcamps and unis will graduate more talents and with a lack of offers we will see a more exacerbated shortage of seniors in a couple of years.
For juniors to thrive it needs seniors to guide! A simple and yet so challenging formula.
We often lament the lack of willingness in this industry to hire junior folks. What comes on top is a wide-spread tendency to “just want to code” and that is that.
Don’t get me wrong: I have seen and developed lots of amazing engineers with a high willingness to mentor in my time! And I am profoundly happy about that. Nonetheless, due to high salaries and a competitive market for seniors (which won’t change until there are more juniors that will be seniors) the conscious choice to not mentor can be made. Easily so.
The upsides of mentoring
Mentoring provides more benefits than just educating the next generation. Mentors get a lot out of developing others. It adds to their professional growth, in considering needs, giving direction or shaping the tech strategy of a product.
In many companies, moreover, Engineering Managers are not very hands-on any longer. To share best approaches and techniques might already be beyond their remit.
Mentors take responsibility. Mentors learn how to ask the right questions. Mentors reflect about themselves and their impact.
I have variously found that lack of willingness happens not just because of lack of drive. The larger issue is that the majority of seniors think it a great avenue, but just don’t know how to start. Here is where companies can make the decisive difference.
Integrating mentoring into the mentor’s professional growth, tying it to goals or promotion and rewarding actions that don’t pay immediately into the product are good pathways (talking to you, managers and managers of managers!). Encapsulating mentoring into seniority criteria — if you design career ladders and the like — can be a useful measure.
Why is junior hiring so feared?
Resistance against the concept comes from various fears that are driven by our sense of safety. If the backlog is long and customers complain how can juniors be afforded? If there isn’t a high enough ratio of seniors who ensures that tech debt remains low? What if juniors break production and hot fixes become a common thing?
From the highest to the lowest rank, nobody is protected from this thinking of “just having seniors makes things easier to handle”. Being risk-prone requires a high level of trust.
Ways to mitigate the fear
This fear can be met, though. There are numerous offers — from high-end tailored programs to grass-roots initiatives by coaches in the company — that can prep future mentors for their task. I have personally found that even a minimal guidance and the belief in them makes an immense difference.
Mentoring luckily isn’t rocket science. My recommendation is to invest into good management and to be consistent. Your engineers will feel that they aren’t on their own in this, and translate this accordingly to their mentees.
Another way to lower or to eradicate fears is to set up onboarding and mentoring programs for juniors independently of their seniors. From a catalog of tech courses to in-house bootcamps to exchange groups, there are a lot of ways to support the new joiners.
Knowing that the juniors have a certain structure they can follow and fill in the blanks with hands-on practice that gives orientation to all parties, but particularly to the mentors. And/or to have juniors out of the team for a bit, to get new perspectives and pathways!
The different types of mentors
The anxiety about mentoring also revolves around the impression that there is only one kind of mentoring. This could not be further from the truth! In fact, what makes mentoring so good is that it can become versatile.
That shy, introverted programmer you always thought would be happy to “simply code”? Might just be the person who has the largest impact on juniors, as they are patient listeners who are fueled by a high sense of fairness.
Providing engineers with options is great, as that expands your set of highly engaged mentors and makes them realize it in a way that fits for them. Here is a selection of mentor types that engineers can explore:
This is usually the first explored form of mentorship. The engineer acts according to set standards and shows in their behavior how to effect solutions.
They might add some context through knowledge sharing or regular communication.
While pairing is an established practice for all seniorities, the senior engineer pairs specifically with the junior to show them approaches, solutions and challenges.
They might pre-select topics from the junior development catalog or product backlog to work on together for this. It can also happen that a specific topic is yet to be covered by the tickets chosen for the sprint.
There are a lot of learning opportunities in documentation, both from writing it as well as going through it. Here, the engineer documents their insights in a way that helps juniors to upskill.
They might assign specific reading material based on the junior development catalog or product needs.
Here, the engineer excels at teaching the theory to juniors (and/or peers).
Usually manifested in knowledge sharing sessions, they might also be good at recommending useful courses and/or designing them themselves.
The engineer could be particularly skilled in one area of software engineering and enable the junior in this topic.
This is very often observed in fields such as architecture, testing or infrastructure.
Practice or Functional Lead
The Practice or Functional Lead is an engineer who acts as the practical supervisor of the junior. They regularly pair with the junior, provide them with positive and constructive feedback, design their learning path (sometimes, together with the manager or other mentors) and assess the progress of their development.
The Practice or Functional Lead also ensures that the junior understands the tech strategy.
Future Engineering Manager
A future Engineering Manager is usually a senior engineer who is showing promise in the areas of coaching, decision-making and strategy.
Their manager might assign them the mentorship of a junior to foster and grow this skill set.
In all this, it should not be forgotten that juniors are Reverse Mentors!
If they learn or practice something that the team hasn’t yet acquired they share it and thus get a first understanding of how the other side is.
If juniors get the opportunity for reverse mentoring early on there is a high likelihood that they will develop into mentoring seniors themselves.
All in all, I advocate for engaging your seniors as mentors. You will see a lot of benefits, despite or maybe because of the investment! It is worthwhile and helps the overall industry to thrive.
What experiences have you made with mentorship? How is this practiced in your organization? Are you thinking about hiring juniors or are you already doing it?