Senior software engineer, these skills are expected from you

Engineering career ladder — subjective review of the requirements, pt. 3

This is the third article describing my personal expectations regarding different levels of software engineering positions.

In this post, you can read about the Senior software engineer position.

Take a look at other articles for:

This is Senior Software Engineer

Software Engineer, but senior

Not surprisingly, while being a senior software engineer, you will be expected to meet requirements for a regular and junior position. But this time, the bar for some of them (perfect communication, problem-solving, prioritization, long-term thinking) will be much higher than before. Most of the things that were obstacles in these areas now are challenges to tackle by you.

In many companies, the senior role can be the last one on the official career ladder. But it doesn’t mean that the finish line is close. Very often, it’s the opposite, and “sky is the limit.” Just don’t forget that it applies to both — your growth opportunities and expectations.

With great power comes great responsibility

When you are in a senior position, your credibility is high. You are here to do things that no one else can do. At the same time, the always-learning rule also applies to you (you have full right to fail, as long as you learn from it). The mixture of these things can be like rocket fuel. You can move the company closer to the stars, but your mistakes can be much more devastating. That’s why I will expect from you a profound understanding of the business — market, product, mission, and vision. All of your long-term decisions must be motivated by the positive impact you can have on them.

I’m sure that with many years of experience, your intuition is impressively accurate, but I will always ask you for more than just a gut feeling. Numbers, early indications, or any other self-validation framework of your choice — I will expect you to show that things are under your control.

Does it mean that I want to watch your every single step? No! Remember that your deep understanding of a subject can be out of immediate reach for your teammates and me. That’s why I need your full transparency, so we all know how to support you, provide a fresh look, or pour cold water on you when you start mingling.

You are scalability

For most of your time, I expect you to have a mentality of a 10x software engineer. Your experience and knowledge is precious, but can you type on your keyboard 10x faster? Or work 10x more hours? Hell no 🙅!

Your job is to introduce scalability in a smart way. Simplify things, spread your expertise, distribute work, automate. Senior software engineering is not about delivering tough stuff, but about making hard things easy.

After a couple of years of working as a software engineer, you know that things get boring. Why does it happen? Because you do them over and over again. Why? Because no one else can. It’s a trap. If you do something for the X time because no one else is senior enough to support you, you do it wrong.

Leader

After many years of experience, you know how frustrating it can be when someone tells you what and how exactly you should do something. As a senior, you can be that person — the one who, for the sake of the better good, robs people from the autonomy.

No matter how good you are with your hard, technical skills, you cannot just tell people to follow your commands. You need to make them believe — in you and the “reason why” behind your solutions. That’s why I want you to build long term plans that are easily understood and followed by your teammates.

Moreover, I will expect you to listen to them very carefully. Your ideas may be great, but “when you talk, you only repeat what you already know.” This is not enough. Look for different points of view. These from people with various seniority levels and experiences can be priceless. Better listening means better leadership.

Diplomat

This one may be hard. The world isn’t perfect, and the more experience we have, the more annoying this fact becomes to us. In your area of expertise, you always see more than the others. You will dream about the excellent technical stack, so richly described on IT giants’ blog posts. And you will be angry that your company doesn’t follow these, reinventing the wheel over and over again. That it takes shortcuts and trade-offs all the time.

Here is my, probably the toughest expectation. You will always strive for the best, assuming that everyone around you does the same. And you will do your best to meet them halfway. I expect you to never say “no,” without a reflection. Even to the craziest ideas from people who don’t understand your field of expertise. Instead, you will patiently ask questions, suggest alternative solutions, describe possible risks.

You have to be a tough negotiator who never leaves the table until the final agreement. Your job is to make sure that everyone well understands the long term price of tradeoffs. At the same time, you are the one who takes full responsibility for the quality of the tech stack. I want you to keep it at the highest possible level.

Side note — here, excellent communication skill isn’t just your goal. Now it is one of the default tools to do your job. It’s equally important as all the technical skills you have. Please, treat it as a baseline.