How to grow within a FAANG-level company? What skills are needed for this, what will you have to do, and why won’t you be able to get promoted quickly? We asked Alina about this – she works at Uber and recently got a promotion to Senior Software Engineer. Now he will tell you what she had to go through for this.
Hello everyone, my name is Alina, and for several years now I’ve been living in Amsterdam and working at Uber as a backend developer in one of the Money Hub teams at Uber. This year I got a promotion from Software Engineer II to Senior Software Engineer, that is, from middle to senior. I’ll tell you what I did for this and how career growth works at Uber.
How I started: the first months of work and the first growth prospects
When I was just interviewed at Uber, I had a chance to get a Senior Software Engineer right away. But in the end, the offer came to me at a lower grade, Software Engineer II. For the Senior grade, you need experience in managing your projects, and I had it. But my English was disappointing – it would not have been enough for complex communication with colleagues and for mentoring, and without this there is nothing to do on the senior.
For the first time
I want to say right away that promotion was not a goal for me. It came naturally – I just did what I wanted: I fit into various activities, took interesting projects, did mentoring. So, of course, I counted on a promotion in the future, but I can’t say that I did everything just for the sake of it. I just enjoyed working this way =)
A little about the formalities: what is needed for a promotion
Uber’s promotion system is very convenient. There are 6 competencies, and for each it is clearly stated what you should be able to do and be able to do within its framework at the appropriate grade. You can always check and see which competencies you fall short on and which ones you are sagging on.
The competencies are as follows:
Citizenship. Development of corporate culture: code review, refactoring, interviews, participation in conferences and events, organization of teambuildings. This also includes mentoring.
Teambuilding at Uber is always fun
Software engineering. Development itself is writing reliable, readable, and efficient code. Work with documentation, support of the full development cycle.
Design & architecture. Designing specific solutions: maintainable, extensible, and reusable. Ability to find compromises between short-term and long-term goals.
Execution & results. Planning and managing tasks and resources, managing projects, solving obstacles and delays, dividing the project into stages, taking responsibility for your decisions.
Collaboration. Building relationships with team members and other teams, recognizing and preventing conflicts between team members, constructive feedback.
Creating efficiency. Improving general work practices and processes, eliminating inefficiencies in day-to-day work. Developing strategies to increase work productivity.
Every week, any employee has meetings with the manager of his team. This manager helps you grow – you can ask him what you need to improve, what tasks you can take and are you ready for a promotion at all. It is the manager who will nominate you for a promotion, and nothing will work without his approval.
You can get a promotion every six months at Promotion Review. To do this, you write Impact Resume – you describe what and how you do, in order to prove that you are already operating with competencies at a higher level. Then your colleagues also write about you – they tell how they see your work from the outside. Everyone considers this and decides whether to raise you or not.
That is, a promotion to Uber is not about giving you new responsibilities, but rather recognition. You must already be working at a higher level for your promotion to be approved. And this is where the problem lies. Competencies like Citizenship or Software engineering are simple, you can work on them yourself. And with Execution & results, for example, it is more difficult – you must have a project that you are leading. And it’s not a fact that such a project will turn up in the near future. Therefore, getting to a high grade on the outside is easier than growing on it inside.
The path to growth: what I did for growth
It would seem: in a year I got used to English and the processes in Uber, they were almost ready to take me to Senior Software Engineer – why not go for a promotion right away? But even though I was then ready to operate with competencies at a higher level, it would not have been possible to prove it so quickly.
So I just worked and did what I like:
Mentoring. She taught graduates and students who work and train with us. In general, I like to learn and share experiences, so as soon as I improved my English, I was happy to get involved in all this.
Participation in events. She spoke at conferences, hiring events and other things that are arranged by Uber. This helps to enhance the company’s image, create an image of a great employer and attract more good engineers to us. Uber appreciates that because we are competing for engineers with FAANG.
By the way, my articles on Habr (how I got a job at Uber and moved to the Netherlands and what was my impression of working for a company of the FAANG level) was also credited as working on the company’s image. It helped me to improve 🙂
Photos from one of the teambuildings that I organized myself
Work in on-call. In addition to the development and standard on-call of the team, I am “working on the front lines” of Uber-on-call for the company as a whole. If something breaks in key processes, we and other volunteers of the same kind help to quickly solve the problem. Our task is to choose the best way to fix everything quickly and with a minimum of losses for the company. In the summer of 2020, I moved to the highest level of on-call at Uber.
All of this was cool, but not enough to get me to the Senior level. Because I needed to prove that I can manage projects – and I worked with a team on common tasks. But then two things happened:
1. I switched to another team. It so happened that the service I was working on in my team was decided to be transferred to other guys. And I wanted to change the team for a long time – in Uber it’s a common thing, people are constantly switching between different teams and different tasks. I “moved” to another team along with this service – I explained how it works, helped build processes and dive into development faster.
2. I initiated a global project. We’ve had one old service at Uber for a long time. It worked, but changes in other services and general design principles were no longer combined with this service. And I proposed to rewrite this service: I described and defended the very need for changes, then I prescribed what and how it would work and presented the project to the directors of the unit. Everything was approved for me, and I started working on the service with a team, and it was in the role of a leader: I planned, delegated, and distributed tasks.
The project took a whole year, and it turned out that it was on it that I showed the competencies needed for a Senior Software Engineer.
This is what our brainstorm looked like during this project.
Promotion and life after it: how it turned out and what I plan to do next
The promotion itself was easy enough. My manager approved everything, I filled out Impact Resume, colleagues wrote me good reviews too. As a result, the commission considered all this, approved my increase, and on March 1, I received information about this increase. And already my March salary will be like a Senior Software Engineer.
Interestingly, apart from my salary, practically nothing has changed for me. I have been working as a Senior Software Engineer for a whole year, and in fact, now it is simply recognized.
The only change concerned my participation in interviews with new employees. Previously, I worked with candidates only in the Coding section, that is, I could assess their development skills. Now I also have access to the Architecture & Design section – it is open only to seniors. But I will not say that this is something fundamentally important.
The next grade for me is Senior Software Engineer II. Right now, I’m not thinking about growing – I plan to just work and do what I like. Moreover, it won’t be possible to get a promotion in the near future – after all, I just proved that I work at the level of Senior Software Engineer, and it is unlikely that in six months or even a year I will operate at a higher level.
To be promoted to Senior Software Engineer II, you need to manage projects that involve multiple teams. If something like that comes up, I will gladly do it. Not for the sake of promotion, but because I’m interested.
Looking for an interview for your dream company? Connect telegram bot @g_jobbot… Thousands of companies, including telecommuting and relocation. And only the level of salary you are interested in.
For example, in a bot, you can call yourself an IT recruiter with the command / human. He will help you pack experience, pump in the right direction and break into a FAANG-level company on horseback.