The Biggest Mistake You Can Make

Hands down the biggest mistake software engineers make for their career is leaving the control and direction of their career in the hands of others. I’ve seen great engineers assume that by simply doing great work, they would be given great reviews, promotions and opportunities to take on larger scope.

That’s. Not. How. It. Works.

I was able to go from an entry-level to senior software engineer at Microsoft in 3 years because I understood and applied a few basic principles:

1. Relationships Matter

This is not about creating fake, surface-level connections with everyone you possibly can so that you get what you want. This is about being a real human being that people enjoy being around. Get to know people, take an interest in their lives, let them know they are important. Not only does this make work more enjoyable, but you create a positive brand for yourself.

This also does not mean to only form these relationships with people in your chain of command. Make time to become friends with other ICs (individual contributors) or other managers. You might also be surprised at how often that chain of command can change. I’ve had six managers in my career. Four of them were good friends of mine before becoming my manager. Three of them were ICs on my team first and one was a manager on another team and a mentor of mine.

At the end of the day, promotions, bonuses and opportunities are decided by human beings. It’s important to be one of them.

2. Learn What Matters to the Business

If you spend all your time crafting the most beautiful piece of software that doesn’t solve problems for the business, the only thing you’ll gain is that of learning. That’s fine if learning is all you’re looking for.

But if you can find the business-critical problems AND sling some sweet code, that’s the sweet spot. Identify what problems your organization is facing and find a way to help solve them. This can often be as simple as asking your leaders things like “What are the core problems you’d like to solve?” Then go and do. Then return and report.

For example, I had a meeting once with a senior leader in my organization and one of his concerns was that we were reinventing the wheel every time we started a new project. Our operating model required us to start a new project, usually from scratch, every 6 months or so. We’d go through the monotony of setting up repos, Kanban boards, CI pipelines and much, much more. So I recruited a few other engineers within my team and others, and we built a CLI that would help bootstrap our projects. It was basically the internal tool equivalent to create-react-app. It was a huge success and all four of us received promotions within the year.

3. Find opportunities to lead without authority

Promotions are simply the recognition from your leadership that you are ALREADY taking on larger scope rather than just being ready to do so. Identify areas in your team where you can affect positive change.

As a quick example, we had a lot of junior engineers on a team of mine, and top of mind for my manager was making sure we were giving these engineers enough coaching on best practices and design patterns (see number 2 above). So I started hosting a weekly Code Kata session. It didn’t take much. I’d just prepare some content on a very focused software engineering principle, and we’d solve the problems together as a group. This gave us the opportunity to pair with the junior engineers on a weekly basis and help pass along things we’d learned along the way. The learning went both ways and our team flourished.

Summing It Up

Of course, promotions, bonuses and opportunities for growth do not come from these three things alone. It’s also important to give and seek out meaningful feedback, curate career experiences that lead you to where you want to end up, emulate others that have jobs you’ll want someday and much more. But those are topics for another day.

To chat more about your specific career situation and make a plan to get where you want to go, feel free to reach out about a mentorship. I’ve helped more than 30 engineers from all over the world progress in their careers and I’d love to help you too!