A promotion to senior level in a software engineering career brings many benefits: More compensation, more responsibilities, and a better position in your career progression. Getting promoted is difficult though. But let me tell you how I have applied simple tips and tricks to get promoted to senior-level at Klarna, one of the technology companies in Europe.
After graduating from university in 2017 in Germany, I found a job based on an internship done during graduation. A small startup. But after 1.5 years I could not see my career progressing so quickly and growth opportunities were rare. So I decided to look around and after many rejections, I got an interview at Klarna. I do not know how but I completed the interview and got an offer and was hired as a Junior Software Engineer.
A reason I wanted to join Klarna was that finally, I would have many other software engineers around me that would teach me how to build products at scale. In startups, the requirements for a software engineer are completely different from what big companies want. You need to focus more on the product. Have to tinker with marketing and work closely with Sales. It is a great opportunity for most people since you will learn a variety of skills. In the end, the dream of most software engineers is to work at a big company. You will have more dedicated time to actually focus on engineering and of course, the money is better as well.
So let us look at what my progression at Klarna has been like.
Klarna is really good at telling at which stage in your career you really are. They have a detailed career ladder based on different metrics. These metrics are symbolized through 8 Leadership Principles:
- Customer obsession
- Deliver results
- Let the team shine
- Challenge the status quo
- Start small and learn fast
- Hire and develop exceptional talent
- Detailed thinkers
Based on these leadership principles there is a matrix that is built up similar to something like this:
Level 1 - Customer obsession:
- An employee can put themself into the shoes of the customer
- An employee understands how working on specific tasks helps customers
Level 2 - Customer obsession:
- An employee is able to create tickets based on customer’s needs
- An employee deeply cares for the customer and builds features that overdeliver on the scope of the ticket
There are of course a lot more levels for employees at Klarna. Currently, employees range from Level 1 to Level 8, where for Software Engineers level 1 is Junior and level 3 is senior. Further levels are harder to achieve and split up into an Individual contributor or management path which will be discussed later.
During your interviews with Klarna, you will get rated against these principles. Klarna’s interview process is quite standard in the technology industry and is built similar to this:
- Recruiter call
- Homework task, Leetcode-style questions
- On-Site, normally a review of the homework task + additional whiteboarding problem
- System Design
- Behavioral Interview with the hiring manager
During this process and based on your resume you will get rated. Is this process fair? Might be, but you always have the option to negotiate your level at that stage. Especially the round about system design will decide how you get leveled.
Personally, I had little to no experience with system design tasks before since working in a startup did not expose me to such things. Luckily the system-design-primer guide exists that you can learn with and excel at those tasks.
As within every bigger company, there is a promotion window at Klarna. It appears to happen once to twice per year, even though the process is currently changing. But the windows are build up the same. Normally you start a conversation with your manager first when the promotion window is coming up (1-2 months before) and in that conversation, you have to feel if your manager is willing to put in your promotion request. Once this is validated you can ask them in the same meeting if it would be ok to send out feedback for a 360-degree review. This means that you send out a form to all your colleagues and they rate you. Of course against the leadership principles. This can take some time!
Once you have received all the feedback you gather and summarize it and present it to your manager. Your manager then has to decide if they put you forward to the next round of the promotion process. If they decide on it, then you have to basically write a short elevator pitch on why you should get promoted. That should be really short and be readable within a minute. Once that is done, the control is out of your hand. The promotion case will be discussed in a bigger group of engineering managers and stakeholders. Once approved you will receive your promotion.
I went through that process twice and what really helped me was reminding my colleagues of what I have done in the past 6 months or year. Most of the employees forget what they have done themself in the past period so they will definitely not remember what you have achieved. For this, I track my work on a daily basis, and before sending out the form to collect feedback I am summarizing my achievements in a small brag document. 1 to 2 pages long. This will help my colleagues to remind them of where we actually worked together. This brag document I will attach to the form to collect feedback so the colleagues have an easy way to fill out the form.
The engineering paths in Klarna are described quite clearly. As a software engineer, you will rise through the ranks from junior to senior normally with a focus on management but also contributing characteristics. Once reaching the senior level you will have to learn what you want to do in the future life. Stay on the individual contributor path or go into management. Both paths are valid approaches. Up to senior-level, it will not really make a difference on what you focus on, you need to have a substantial amount of skills within core engineering but also management.
So how did I rise through the ranks? As there is a system with rising through the ranks, you can game the system of course. There are different parameters that you will work on during the promotion process but it is, of course, an individual approach.
Once I landed at Klarna, I realized people give a lot of thought to leadership principles. If it is about product decisions or just how to implement a new feature. The leadership principles should be applied. A good way to see that is in the discussion. If someone’s decision is violating the leadership principles a lot of people will argue against that decision. In general, it is driving the development at Klarna forward. So make use of these leadership principles in discussions.
As said before, Klarna focuses a lot on Leadership Principles. In my first promotion/feedback round I got a lot of stellar feedback, but also a lot of points on what to improve on. I had a lot of 1-on-1’s with my manager to focus on my growth goals. For example, we discussed what I could do within the next month regarding development work that will help me. At the beginning at Klarna, I struggled with the “Let the team shine” principle a lot. I did not had ideas on how to present the team. So my manager proposed different things:
- Join a group outside of the team for voluntarily work like maintaining third-party libraries used by the team within Klarna
- Or joining the engineering blogging or open-source group
I decided on the second step and quickly checked what is needed to get to the next level to fulfill these requirements. I represented my team within those meetings, but also myself.
But also on the team side, I got assigned to interesting tasks that helped me to grow. Working on creating new services and making sure they are scalable to millions of requests. I got put together with more senior engineers to do pair coding with them, but we also include mob programming within our team, a technique where the whole team gets together and codes something.
These things really helped me to go from level 1 to level 2. For the transition from level 2 to level 3 the circumstances are a bit different. You have to work on different categories that are mentioned now.
When reaching level 2 and trying to get to level 3 another skill is getting a lot more important: Leadership. What does this mean? As a senior engineer Klarna expects from you two important things basically:
- Can you influence the product and lead implementations that your team creates or you come up with?
- Are you teaching people to code in a well way and can make developers at Klarna more efficient?
All of these things can be tackled and be focused on. Once I reached level 2 I put a lot of focus on that. I introduced the technique of creating technical design documents in our team. These are documents that sketch out the feature and architecture. They also lead the conversation about trade-offs of implementations and are living documents for taking decisions with the product manager. It helps us to get a clear mind about a feature. Once that is done it is collaboration time with your product owner on creating JIRA tickets for that feature. Once tickets are estimated and assigned, maybe go over them with the assigned person to help them understand each part of the ticket. Be descriptive in the ticket descriptions and help to give pointers on what to look out for. This is especially useful for team members that are new to the team. What I always like to do is pasting the paths of the core files that would need to be touched for the files. Based on that even junior developers would be able to code the feature mostly independently.
This gets us to the next point as well: Leading developers. To get to level 3 at Klarna you have to support the engineers in your team. It is more a job of educating and pair coding with them. Give them space and the right tips and the right time. This is important for your team level. But it can get even more important outside of the team.
As mentioned before, teaching developers to be more efficient outside of your team is also a huge priority to get promoted to level 3. Next to it, it becomes important that you work together with people outside of your team. This will eventually bobble up to other engineering managers that you are doing good work with their engineers. There are different activities like changing code for other teams and so on. Just receiving recognition. I did it a bit differently.
At Klarna, we have a concept called domains. Domains are small subsections of the business. For example, we have a merchant domain that just deals with the merchant-aspect of the business but also a domain for the Klarna app. Some are more B2B focused, some more on the B2C side. Overall you can say the teams work closely together but each team has its own KPIs. But what becomes more important are the domain KPIs. Your team’s KPIs will be looked at by some people but if you made larger contributions to the domain’s KPIs people will start recognizing you.
For example, in our domain, we are using a monorepo. A big repository that holds almost all services used in our domain. Improving this monorepo helps everyone in your domain to build better products and focus on features and implementation rather than infrastructure. I found many tasks like that, like creating a project to automatically update package dependencies throughout the monorepo. This will give you exposure to a wide audience and will make your case for promotions stronger.
Most of the technology companies promote open source in one way or the other. For Klarna it was always the plan to open source part of the software to give back to a community of developers. The process was not there, so the company initiated a group regarding open source at Klarna. This group was the catalysator to set up a workflow, make sure legal requirements are met, and promoting open source when possible. I joined that group initially and build up the processes and many more things regarding the topic. For example, we wanted to have an incubator set up where projects live in private first before getting open-sourced. This and many other smaller projects helped me work with various other engineers and get recognition. I even presented the results of a hackathon during an engineering all-hands meeting in front of the hundreds of engineers working at Klarna, challenging but rewarding.
Branding is really important for Klarna. It blends in with their leadership principle called “Hire and develop exceptional talent”. Blogging about the technology used at Klarna will help with hiring in the long term because it will create some kind of trust in people applying. The biggest companies blogging about their technology are probably:
- Airbnb Engineeering & Data Science
- The Netflix Tech Blog
- Uber Engineering
- Pinterest Engineering
- Lyft Engineering
All of them succeed because of great engineers that get hired. And part of the reason might be the blog as well. By sharing technological information you can create an environment of learning and discovering new things.
I helped authors within Klarna to create blog articles. I found ideas and asked if people would be willing to create a blog article regarding some interesting topics. I helped them with graphics, copywriting, proofreading, and many other things. And here is the important part again: I worked with other engineers. They will know about me and their manager will most likely also know about me by then. A better standing for me in the company.
A big part of my promotion rounds was that I was proactive in my action, plans, and projects. It all starts with asking for feedback. I prepare other people to remember what I have done so they can give me feedback in an easier way. I focus on my weaknesses and try to improve them actively.
In general, I was also looking at what the company’s or domain’s KPIs were and how they played with the KPIs of our team. I challenged my product owner a lot and made it clear that I want to work on certain things because it will help the company in the long term. I also had the opportunity to join a temporary team dealing with major support problems that were brought up at the domain level. It was great exposure to a new development space, I worked again with many new people, but most importantly, we solved the domain’s problems in record time. It was stressful but rewarding and the promotion was part of it. Look out for teams or projects that will help the company grow. Do not just sit there and grind the tickets you are assigned to.
An important part of my journey was gathering feedback and having strong evidence of my achievements. How have I made this possible? I wrote it down.
Writing is an essential skill in your career but keeping a work diary is not difficult. Just at the end of every day write up what you have done throughout the day. Remind yourself of your weaknesses and how you improved them. Keeping these notes will be super important. With getworkrecognized, I tracked more than a year of work notes and it helped me to write my self-review but also receive stellar performance reviews from my peers.
A simple system I have used is to track all work but tag the notes. Assign them to the leadership principles Klarna has, and you will see where you have to grow or where you need to focus on in the next weeks a bit more. Make a plan and put some tasks around that into the sprint or your upcoming weeks.