This post will help engineers get the best results out of their work with managers, and achieve career goals in a predictable way.
After many years of being an individual contributor and Tech Lead, I decided to transition to the Engineering Manager role. My main expertise is in mobile app development, but notes below are relevant for any software engineering team.
Own your success
Please don’t wait for your manager to tell you exactly what to do and how to do it. If you’re part of the big team in the big org — your manager is not expected to have all context on all the details of your projects. Please come up with your own roadmap to ship the next feature, and ask feedback. Drive the development of your project.
Your manager should know about your movement not because they steer it. Instead, they might help you to not collide with other projects as well as stay focused on goals of your organization.
Come to 1:1s prepared
Having one on ones with your manager is something common for all tech companies. As an individual contributor, it is your responsibility to bring your questions and concerns to this meeting. You might consider creating a document that is shared with your manager, put in topics you’d like to discuss, and track commitments.
Don’t wait for company-wide official questionnaires or an all-hands meeting to raise a complex topic. Make sure you’re discussing hard things with your manager. This is all about mutual trust.
Ship the product, and let everyone know about it
Success of the individual contributor is measured in different ways in various companies. But one thing is relevant for everyone who wants to be recognised and rewarded. This is shipping the product. This should be reflected in all your self-reviews and discussions: what was delivered.
You will do a huge favor to your manager if you explain which challenges you faced, and how you overcame them. Maybe your manager needs some justification to nominate you for a promotion. Help them make a strong case!
Operate at the next level
One thing surprised me when we started calibration sessions to find top-performers in our organization. There were people in other teams who (I was confident) are Senior Engineers already. But when I saw papers — I found out they’re not formally ‘seniors’ yet. And guess what? They were nominated for the promotion at exactly that calibration!
If you’d like to get promoted — start operating at the next level, take the responsibility and larger project scope. Don’t wait until someone will ask you to take things over. Just go ahead, and establish your responsibility for it! The recognition will follow.
What it means to perform at the next level?
Most tech companies have levels of seniority (they might call professionals ‘Junior’, ‘Middle’, ‘Senior’, ‘Staff’, or have some corresponding codes like IC3-IC6). Some companies have career expectations defined: what you should be doing on each level of seniority. Something very rare to see is the “delivery time” dimension on career expectations.
For example, if a Senior Engineer can deliver Feature X in two weeks, it might be okay for a mid-level Engineer to deliver it in three weeks. And if we want to nominate the mid-level Engineer for the promotion — they should not only deliver quality work, but do it in the timeframe of the next level.
Perform in a sustainable way
Most companies have two types of compensation to recognize outstanding results of their employees. First one is a bonus, and the second one is promotion. Bonus is something people are paid for the extra mile they did during the past period. Promotion is a recognition of their competence and persistent performance at the next level. These two rewards don’t always come together. A good manager should spot if someone works 24×7, and consider flagging it as not operating at the next level yet.
Nobody can work 24×7 all the time, so the performance is likely to go down in the future. Make sure you exceed expectations while spending reasonable hours at work.