The Art of Getting Promoted
Why You Are Not Progressing as a Software Engineer and What to Do Instead
You are a skilled software engineer who is constantly studying and improving your technical skills. You consider yourself one of the top engineers in your company at your current level. However, you recently missed a promotion, and colleagues with less experience than you got promoted. Meanwhile, you're feeling stuck in your career without knowing why. And that's hugely frustrating.
After receiving feedback from your manager, you set SMART goals to enhance your coding and communication skills. One promotion cycle later, you successfully improved the mentioned skills and achieved all your development plan goals. However, despite your achievements, your manager still cannot promote you. At the same time, a colleague from another team has just been promoted for the second time since you joined the company. You feel like quitting.
If you have experienced a similar situation, you are not alone. Unfortunately, it is a common issue in our industry. Let me explain why.
Getting promoted is an art rather than a science
Many engineers, whether junior, senior, or in leadership positions, often assume that promotions are automatic as long as they work hard, stay loyal, and possess the required technical and soft skills. Some even think promotions should arrive after a specific tenure at their company.
The truth is that advancing in your software engineering career requires more than that. It is an art form; we may not naturally excel in that area as engineers. However, there's no need to be discouraged. You don't have to become a master artist to improve your chances of promotion. The idea is quite simple yet damn hard to implement at the same time.
Delivering business value is all that matters
As software engineers, we are passionate about programming languages, technologies, and frameworks and how to master our craft. We feel proud when our code is clean and well-tested, and we enjoy solving complex technical challenges. Building resilient and scalable applications is something we take pleasure in doing. That's why we are engineers, after all!
But let me share a secret: Your company and its customers don't care much about the technology you use, how beautiful your code is, or whether your code coverage is 100%. They all care about receiving business value. Businesses prioritize profits. As Eliyahu M. Goldratt wrote in The Goal, the ultimate goal of any corporation is to make money.
So this is the goal: To make money by increasing net profit, while simultaneously increasing return on investment, and simultaneously increasing cash flow.
― Eliyahu M. Goldratt, The Goal: A Process of Ongoing Improvement
Companies generate profits by either increasing revenue or reducing costs. Always keep that in mind to ensure you work on the right thing: Will that work increase the business revenue or reduce costs? Remember, you should use your technical skills to deliver business value rather than as an end in themselves.
But you have to make your work visible
Even if you positively impact your organization, you may not receive recognition if nobody notices your contributions. Ensuring that your manager and relevant leaders at your company understand the value you bring to the business is crucial. You must make your accomplishments visible to receive recognition and be rewarded.
I must admit that I haven't been very good at marketing myself throughout my career. As an introvert, being the center of attention has never been something I enjoyed. Since I became a manager, I have always tried to acknowledge the great work of my reports so they can be recognized and rewarded accordingly. However, I often overlook my contributions, and I learned that's a huge mistake.
Self-promotion is essential, especially in today's remote work environment. Don't assume your manager is aware of all your contributions. Ensure you showcase your hard work and impact to gain recognition. Otherwise, forget to be rewarded and say goodbye to potential promotions.
Remember, if you want to maximize the options to get promoted, focus on the following:
Deliver business value
Make your work visible
Your chances of getting promoted depend on delivering business value and making it visible.
How I got promoted to Lead Software Engineer
In 2014, I was working as a Senior Software Engineer in a fast-growing fintech startup in London. As the company's platform grew in popularity, we started experiencing severe performance issues. Those led to daily production incidents and increased platform downtimes, frustrating our users. Thus, I decided to investigate the root cause of these issues with the help of the DevOps team.
We discovered multiple issues at different levels, including slow SQL queries, various deadlocks in PostgreSQL, misused "magic" Ruby and Rails ORM code that led to N+1 queries, and several memory problems. Our uptime SLA was on fire. We were dying of success, and if we didn't take immediate action, our reputation and clients would be at risk. I discussed the issue with my manager and the VP of Engineering, and they gave me the go-ahead to lead this project and fix these critical issues.
At the same time, we were building a small team of engineers in Sofia, Bulgaria, while the rest of the teams were in London. I saw this as a great opportunity and volunteered to manage the engineering team in Sofia. As it turned out, we needed more engineers to fix the platform performance issues and remove the excessive technical debt, which was a win-win situation for us.
I may not have been the most skilled engineer, but I was probably one of those happy to work on the legacy application under such a stressful situation. Most of my colleagues preferred to work on the newer and more exciting platform with the cutting-edge technology stack. I was also the only one willing to lead a distributed team between London and Sofia. That experience was a valuable learning opportunity, and I made some wonderful friends from Bulgaria.
A few days later, we stabilized our platform, and our uptime metrics recovered. After a few weeks, our legacy platform was in a healthier situation. I learned so much during those weeks that I decided to give a talk to the entire engineering team. It was my first big talk in English, and I had to speak in front of about 50 software engineers. Even though I was nervous as hell, I still went ahead and did it!
Then, a few months later, the VP of Engineering surprised me with a promotion to Lead Software Engineer and a salary increase that I will never forget. When I left the company in December 2016, I was leading a team of about 12 engineers, four of whom were in Sofia and the rest in London. That was one of my best work experiences in terms of professional growth.
How to deliver business value and make it visible
Why have I shared that personal story with you? Because that promotion provided me with valuable lessons that I wish someone had shared with me when I began my career as a developer.
Here are the seven lessons I learned after that promotion:
Master Your Craft: Strive to improve your skills continuously. Achieving expertise in your domain forms the foundation for career advancement. Becoming an expert in any field is a significant achievement that requires patience, dedication, and hard work. Success didn't arrive overnight; it took me more than a decade of tireless study and work to get my first promotion into a technical leadership position.
Understand The Business: To solve business problems effectively and work on the right things, it is crucial to have a good understanding of your company's products, mission, vision, and goals. This way, you can align your efforts with the organization's objectives and demonstrate that you are an excellent engineer and a strategic contributor to the company's success. While working on the new platform could have been fun, I knew the money was in what we wrongly called the legacy platform.
Focus On Your Strengths: To succeed personally or professionally, you must identify and focus on your strengths. You should recognize what you're good at, what comes naturally to you, and what you enjoy doing. That will help you to harness your talents and maximize your potential. In my case, I loved debugging highly complex issues and solving them, even if that meant dealing with lots of legacy code.
Take The Initiative: Go beyond your job responsibilities and scope when possible. That means proactively identifying areas where you can lead projects, propose innovative solutions, be the glue, and showcase your problem-solving abilities. Whenever there is an opportunity, take the initiative. I did that several times when I volunteered to fix all these nasty performance issues and offered to lead the Sofia team.
Demonstrate Leadership: even before an official leadership role, exhibit the qualities of a leader. Take Extreme Ownership of your work, inspire your teammates, and act as a mentor to junior engineers. Leadership isn't solely about a job title; it's about influencing and guiding others toward collective success. That's how I started leading my first team, with no leadership title at all, by influencing and leading by example.
Communicate Your Achievements: Keep a brag document with your accomplishments, successful projects, and any positive impacts you've made. Regularly communicate your contributions to your team and your managers. Most importantly, share with others what you learned by writing a blog post or giving a talk, as I did after fixing the major performance issues. Just be mindful about not spamming the entire organization for every minor achievement. It could be annoying!
Find A Good Sponsor: If you want to accelerate your career growth, having a sponsor can be a game-changer. A sponsor is a powerful ally willing to endorse and support you in pursuing a promotion or raise. They can help you gain visibility, credibility, and access to new opportunities. Have you ever noticed specific engineers given stretch projects or opportunities? Have you also observed that some people's work gets considerable attention from senior leadership? That could be because of sponsorships; it is highly effective!
Implementing these strategies can deliver business value, increase the visibility of your work, and ultimately help you secure a promotion.
Some hard truths about promotions
No matter whether one follows the strategies mentioned above or not, it is essential to be aware of the following facts:
A promotion is never guaranteed. Many things could make it impossible for you to get promoted, such as bad timing or a lack of opportunities. Sometimes, a business case is required for a promotion, or the company may not be able to promote right now for many reasons.
Expect to perform at the next level before being promoted. In most startups and organizations, employees are expected to perform at a higher level to avoid the Peter principle, which states that people get promoted to a level where they become incompetent.
Many people will not continue to advance past a certain level, at least not within the same company or team. As they become more senior, they have fewer opportunities to show the kind of leadership or breadth of impact needed to get promoted.
Fast-growing startups generally provide more opportunities than well-established companies. During a startup's hyper-growth phase, there is a greater need for business development, which may involve creating new teams or leadership positions.
Final thoughts
"The race is the reward, not the goal." This saying holds not just for distance runners but also in business. Focusing only on the finish line of getting a promotion can lead to wasted time, energy, frustration, and disappointment.
On the other hand, if you take the time to understand your motivations, you will invest your time in tasks and opportunities that will fuel both your short-term and long-term goals. Success is not just about reaching your destination but also about enjoying the journey.
Focus on your professional growth rather than on getting promoted.
Have you missed out on a promotion? Do you agree with my final thoughts? Feel free to comment below.
Hey readers! If you'd like to learn more about brag documents, I highly recommend this post https://newsletter.eng-leadership.com/p/keep-a-brag-list-of-the-wins-you from https://substack.com/@gregorojstersek