Edition 4

Escaping the Mid-Level Developer Trap

Today I’m going to show you how I got out of the mid-weight/mid-level developer prison and how you can do the same.

Being stuck in this limbo place of “mid-level” is incredibly frustrating and limiting in many ways. If you’re unable to escape this label you’ll find yourself being held back in your career in a number or ways including: missing promotions, getting less offers, a lower salary etc.

Most developers fail to escape for a number of reasons but mainly due to a lack of visibility of their work, a lack of impact and underdeveloped soft skills.

If you’re trapped in the mid-level developer prison then there’s definitely a reason why

In this newsletter we’ll cover:

If you want to finally break free and reach that promotion then keep reading.

You’ve got to be in it to win it!

The old phrase couldn’t be more true. As much as developers don’t like it the game is there and it doesn’t help your chances by ignoring it.

People might find it cringey or against their morals or something to play the game for promotions but the thing is, everyone else is and if you’re not then you can’t expect to progress.

I’m a big believer in “how you play the game matters more than winning the game”. I don’t like winning, whether it be in work or sport or in life, if I can’t win my way. A way that I deem honourable and acceptable for my values.

And the great thing is you don’t have to compromise your values in order to win this game. I didn’t. If you work at a good company that has promotion structures and values the progression of the people within, then here’s two things I would do next.

First thing

Talk to your manager

Your line manager should be the one who has the most control over your path to promotion. You’ll normally need their backing in order to get the process rolling in the first place.

I’d have a open and honest discussion with them about your aspirations to reach the next level and ask them:

“What do you see as my biggest strengths?”

This question gives you their perspective on your perceived strengths and highlights what work of yours is visible to them that is delivering value and impact for the team.

”What areas do I lack experience in or need strengthening in order to be a more senior contributor?”

Their feedback and comments on this question is very useful because it gives clear signals of what they and the company value in senior engineers. It might also highlight areas you are currently working in but aren’t visible to them.

”What are some of the most business critical projects I can be involved in that will impact the future of the company for the better?”

The last one stole from Chris Voss.

It’s not word for word but it’s essentially the same. It shows your interest in creating a better future for the company which in turn benefits your manager, the team and then you.

Second thing.

Make a plan

Take notes on the feedback given and pay attention to the specifics. Go away and draw up a plan of development using something like OKRs or SMART to have an actionable and measurable plan. Take it back to your manager to review and help.

From there they should be able to help you refine and invest in your plan. You need to be the one to execute it but they should be able to help with any potential blockers if management level is required for anything.

See how we play the game? We play to create value and to genuinely improve ourselves in way that also benefits those around us. Eddard Stark would be proud 😉

Communication is vital

Communication and soft skills is probably the number one thing most managers will highlight as the decider for most engineers not quite being ready for the senior role.

It’s vital to have great communication skills for a number of reasons.

Confidence

You have to be confident in order to have confidence bestowed upon you. This is a hard one for most because you it’s hard to fake confidence and I don’t think you should try to fake it.

But it’s so important because managers need a level of confidence in their seniors to avoid micromanagement and for the team to function properly.

Confidence comes from past experience. If you have experience and past successes to back you up then their should be no reason to lack confidence when talking about something.

I lacked confidence for a long time and tackled it by doing two things:

If you struggle to get diverse experience at work then develop some side projects that challenge you in new areas.

And if you don’t get opportunities to present to a group then consider attending a local meetup or online meetup for lightning talks or similar.

Seniors are conduits

Seniors should be the technical bridge for the development team to the engineering manager and beyond.

Most engineering managers will be technically experienced but they won’t be in the weeds of the code each and every day. They need seniors to explain simply and concisely what is happening and how things are being done at a high level.

They need to know roughly what the team is doing and how they’re approaching things technically without getting swept up in the fine grain details.

Same for product owners and stakeholders. They’ll turn to senior engineers when they have questions and seniors will need to adjust their communication according to the audience.

One thing I did to help with this was to write more. If I couldn’t write it in a way a 5 year old could understand then I couldn’t be sure that everyone would understand.

Not to demean 5 year olds, or co-workers 😅 it’s simply a good benchmark for writers

Persuasion and leadership

This is a big one and it’s also very difficult. There are time as a senior engineer where you’ll need to be persuasive. Whether it be with managers, stakeholders or other developers.

Your communication skill is vital because it will determine who will and won’t listen to you.

If you can’t persuade people and make them believe that your technical solution will work, that this tech debt ticket is valuable to do, that choosing this thing over that is a better trade.

Great leaders are ones that persuade you to give up on your dream to join theirs.

They’re able to sell you their vision and that’s what you need to be able to do in order to lead. Most people will respond to evidence when it’s brought to the table but some won’t and if there’s no evidence to show you’ll need another tool in your arsenal.

Here’s what I did to build my communication skills around persuasion.

I started to take more ownership of a project that was a shared thing and started to bring improvements to the table. I showed what it was I wanted to do and got people on board to help make the changes happen.

Try and find a project you can recruit people to. Sell them your vision and persuade them to aid you in creating value.

Seniors are leaders, and leaders take on ownership

We mentioned this briefly in the last section but taking ownership is a huge part of being a senior developer.

If you haven’t read it I’d highly recommend a book by Jocko Willink called Extreme Ownership.

He talks about his style of leadership and his very extreme position on ownership. For the most part I agree with him. I actually took most of my inspiration from this book and it was key in me making more progress than ever before.

Essentially if there was a problem with a project I was responsible for or even partly responsible for I would make it my duty to understand how I could have prevented it, how I will prevent the problem arising again in the future and what I will do next.

Seniors don’t finger point when things go wrong, they look at themselves and hold themselves accountable to make things right.

You have to be willing to fail and get the stick from time to time.

This will not only sharpen you as an individual but will build respect with the people around you. The team wins together and loses together but ultimately it is the leader who should take the responsibility and ownership when things go sideways.

This mindset difference made a world of difference to me and hopefully helped those around me.

High technical quality coupled high impact

This is the one everyone would expect. Of course if you’re a senior engineer then you need to be technically sound. But you need to be more than just sound. You need to be able to deliver high quality solutions that scale.

Those solutions need stand the test of time and deliver deep value to the business and those around you.

You need to produce solutions that moves the needle for the business but also solutions that enable, empower and enhance the experience of those your work with and across various teams.

You can’t keep delivering the same solutions every other developer can. You need to solve the hard problems that nobody else is willing to tackle.

Some examples of these types of projects are:

If you’ve spoke to your manage already you should know at least one major project you can start to contribute to.

Focus on one the one thing

I focused on one key area that I could both own and excel in. It was also very valuable to the rest of the product teams and delivered value to those who used it.

Focus is the key to generating outsizes returns in anything and software engineering is no different. The more focus and attention you give something the more you’re going to get out of it.

You can’t have your finger in all the pies and expect to have impact. You’re contributions will be minimal and not easily noticed if at all.

You want to become a go to person for something important and valuable.

Jeff Su, a Google Product Marketing manager who got promoted 4 times in 8 years agree on this:

But don’t be a gatekeeper. Don’t horde all your knowledge and experience in some vain hope of it providing security. What will happen instead is that everyone will blame you when things go wrong. People won’t want to help you and might even resent you for keeping them in the dark.

Instead you want to share, teach and document what you know so people will know to come to you but will want to collaborate with you. And if you document things well they’ll be able solve their own problems when they arise.

It takes the pressure off you for everything and stops you being a bottleneck to other teams and the business.

Make sure to find that one thing and put 110% into it.

Two steps you can take right now to breakout

Here’s two steps you can take right now to improve your chances of breaking out of the mid-weight jailhouse.

1. Setup a meeting with your manager

If you already have regular a 1-2-1 catchup with your manager then great, wait for that. But if it’s not in the next month then I’d advise setting up an adhoc meeting with them.

Use the following structure to flesh out the detail of the meeting:

**AGENDA:**
I'd like to discuss my current level as a software engineer and:
- What you see as my biggest strengths
- What areas I lack experience in or need strengthening in order to be a senior contributor
**OUTCOMES:**
- We agree on one mission critical area or project within the business that I can start or contribute to that will advance my skillset and the companies future
- We agree to reconvene in one week when I have drafted a plan for my personal development with appropriate SMART/OKR goals related to the agreed area/project

This create a clear picture of what the meeting will be about and what you both want to walk away with afterwards.

It makes it clear that you want to progress to the next level but from a position of value first.

First I live up to the expectations of a senior software engineer and deliver value then we’re able to talk about promotions further down the line.

It also creates an element of collaboration and investment from your manager to involve you in something that will benefit not only the company but him as well.

2. Find an in person tech meetup and join the next event

The only way you get better at communicating is by doing it more. You build confidence by speaking to various people in various settings. Introduce yourself to people you don’t know.

Don’t just go there to word vomit all over the other person just to “practice”. Practice active listening and show a genuine interest in the other person. Then build the conversation from there by asking questions then responding with your own stories and experiences.

When you feel less nervous talking to new people then see about becoming a speaker at the event, if they have them. If not ask people if they know of other meetups where they do have presentations or even lightning talks.

Ask if they’d like to start at their next event and put yourself forward as the first speaker.

Thanks for reading

I managed to escape the mid-level developer trap and with the tips, knowledge and actions in this newsletter I believe you can too.

I mean, we’re not escaping a real prison, just a metaphorical one.

Thanks again 🙏

Knowledge for the healthier, wealthier, long term developers

Sign up to my weekly newsletter for software engineers/developers that want to grow. I share my past successes and failures so you can get a head of the rest.