There are companies where there is no clear line of career growth. The maximum number of developers is divided into June, middle and senior, but the requirements for each level differ even in the departments of the same company.
This is not the case for the giants of the IT industry – they have clear grades of IT specialists with their own standards and spelled out “technical requirements”. We talked with employees of companies of the FAANG level, read the requirements of the companies themselves and made lists of requirements for each grade of IT engineers. You can check which grade you meet. And if they send you an offer with a specific grade, find out what will be expected of you at work.
Something in common about grades and developer requirements in FAANG-level companies
- Abroad, they are very strict about work experience. In Russia, you can graduate from a university, work for a year and get a job as a middle or even a senior. This is less common abroad – experience in years plays an important role.
- The requirements for knowledge in languages and technologies for companies of the FAANG level are initially very high. That is, in order to get even to the lower grade, you must already have a good command of the tools and be able to write clean, working and optimized code. Higher grades are more about a systems vision and understanding of linking business processes to programming. By the way, if you want to test exactly technical skills, you can go test – employers take into account its results when hiring.
- A Russian middle from a small startup ≠ middle in a large foreign company. Often, those who work in small Russian companies as middlemen and even seniors in a FAANG-level company are invited as juniors.
- Better to go as a middle in FAANG than as a senior in a small company. Do not worry that you were offered a lower grade – most likely, the salary, duties and prospects in FAANG will be much higher.
- It is easier to get to a high grade from the outside than to grow inside the company. The company will have to put in a lot of effort and prove its competence, and it will be important to make the right impression during the interview. Of course, it is still difficult, but it is better to immediately aim somewhere higher than to hope to “grow up” already in place.
- If you are invited to a high grade, it is better to agree. Do not be afraid of responsibility or think that you will not cope. Once you have been invited, the company believes that it should be so. Agree – then you will definitely get involved.
- Senior grades are more about management than development. But at the same time, engineers of these grades can continue to code themselves – they are not prohibited from doing so.
- Moving from one grade to another is not really an increase – it’s more of a recognition. Even at your grade, you just start taking tasks for the next one, do them for several months – and as a result, you are assigned a new grade. You are not being promoted up front – you must already complete new tasks and deal with them in order for you to be promoted.
Google and Facebook
These companies have different names for the grades, but they are very similar, so we combined them into one group.
E3 at Facebook and L3 at Google, Software Engineer II. Junior level, beginner. Those who have just graduated from the university and have no work experience are usually taken here. Or he worked for a year or two in a small company. It is important to be able to write working code for a specific task, use code verification tools, and run the code locally. There are no managerial tasks and competencies.
It is not accepted to linger at this stage. It is believed that you can work here for a year, maximum two – then you need to move on.
E4 at Facebook and L4 at Google, Software Engineer III. Middle level. There are the most employees of this grade in both companies. Here it is no longer important to just execute commands, but to understand what you are developing and how it affects production. Plus, three new competencies appear: the ability to write documentation, give E3 tasks and make small design decisions. For example, you can figure out exactly how to implement a feature yourself.
Some engineers live at this stage all their lives – they are comfortable just coding without doing control.
E5 at Facebook and L5 at Google, Senior Software Engineer. Here managerial competencies are already emerging – you need to lead a team, help lower grades, set new tasks and solve them. At this level, the engineer helps to form an overall development strategy – for example, he comes up with how to implement a request from a business.
E6 at Facebook and L6 at Google, Staff Software Engineer. There is more interaction between teams at this level. It is the engineers of this grade who help bring together features developed by different teams. Or they completely manage their team, as if it were a small startup within the company – they implement large projects, help with hiring new employees, offer global ideas.
There are grades and higher: 7, 8, 9, 10 and 11. But they are already practically director’s – they rarely hire here from outside. Ordinary developers usually do not even interact with employees of these grades.
By the way, a very similar level system operates in many other companies, for example, in Square… The names of the grades may be different, but their number and requirements are approximately the same.
This information was shared with us by Alina, Software Engineer II @ Uber, Amsterdam. We’ve already talked about how she got a job at Uber and moved to the Netherlands.
Software Engineer I. Junior level. University graduates or newcomers with less than two years of work experience usually automatically get here, although exceptions do occur. They are expected to have clean, working code. Usually they work together with other engineers on specific tasks, for example, add a new module or add a feature. The terms of such tasks, as a rule, do not exceed a month. Senior colleagues are sure to supervise the work of Software Engineer I.
Software Engineer II. Middle level, similar to L4 in Google. A good, strong programmer: he writes project documentation, he can choose an algorithm for solving a problem himself. Often writes code without control from above. Assisted by Software Engineer I and sometimes gives them tasks. Usually works on larger projects that last several months.
Like other companies, Uber has the most engineers at this level.
Senior Software Engineer. Senor level like L5 in Google. Understands business problems, can lead and mentor other engineers. Writes code, but works more to break down a large task into subtasks, give directions to other developers, outline a common development path. It is in his hands to bring the project to the end – from the requirements that came from the management to the launch.
Senior Software Engineer II. Almost the same as Senior Software Engineer, only interacts with several teams. Usually deals with complex, complex problems that are solved by the hands of a large number of developers from different groups. It is very rare to hire outside people here, as the employee must have a good understanding of the inner workings of Uber and business processes.
Staff Software Engineer. Affects all regional divisions. He communicates closely with directors, builds a general development strategy for the company from a technical point of view.
There are much fewer grades here, and they start not with the junior, but immediately with the middle.
Core. A minimum of three years of experience in development, the ability to work with distributed systems and knowledge of the technologies that the company works with. At this grade, employees are engaged only in development for specific tasks, with a minimum of management and mentoring. There are the most developers of this level in Booking.
By the way, here you can see the “technical requirements” specifically for this grade in vacancies at Core Developer.
Senior. 7+ years of experience in programming, soft skills like competent communication and understanding of business processes. Ability to influence people, work in a team, guide and train junior employees. Responsibility is also higher – incidents will have to be held accountable to management.
Technical requirements can also be viewed in vacancies…
Principal. 12+ years of experience. The role of a technical leader, the ability to manage a team, develop concepts, evaluate and implement new technologies. Understanding how the code is influenced by customer requirements.
Offers from companies of the FAANG level will not fall into the hands of themselves. To find them, get an offer and move abroad, register at @g_jobbot… Vacancies suitable for you with relocation will come to Telegram.