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.
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
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:
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.
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.
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.
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 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.
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 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
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.
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.
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.
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.
Hereâs two steps you can take right now to improve your chances of breaking out of the mid-weight jailhouse.
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.
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.
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 đ
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.