📜 ⬆️ ⬇️

Good code will not bring to Google

For a long time working in different areas of IT, we with the research team observed all the possible problems of becoming developers and all the causes and consequences of their shortage. We were interested: why does a programmer develop into a senior specialist so long or not at all? Where does unwarranted expectations come from on both sides? And most importantly - what should a developer at each level do to enter the privileged caste of senior, architects, team leaders and managers?

We conducted extensive research among programmers and their managers. We collected requirements for senior developers of top companies, opportunities and development paths to this level, generated all sorts of insights and life hacks and transformed them into this article. All this will be discussed further.
image

Senior, who the f ... is Alice Senior?


An analysis of the description of vacancies on hh and the requirements that leaders shared in face-to-face conversations showed that there is no single approach to determining senior level. In one company, this is the one who is able to design a complex module himself, in the other - to connect to the refinement of individual solutions, in the third - the one who is just better than the rest. Within the companies themselves, the requirements also differ significantly among managers, team leaders, HR, and the programmers themselves.

As a result, developers get a number of problems: without an adequate definition of requirements, there is no clear vision of a career path and development steps. Questions: “What level do I have now? Do I earn in proportion to him? Do I need to upgrade much to the next level? ”- we hear everywhere.
')
Instead of systematic development, we have to tackle standard tasks, wait for the attention of management, master the frameworks, not understanding whether they will advance their careers. We advise: at the entrance to the company or right now - learn about the requirements not only to the current level, but also to the highest possible. So you get a perspective vision of development and can correlate with it every step.

Is the programmer's assessment the work of the programmer himself?




Your development depends on what stage you are now. But how to evaluate it? This is the second problem.

Several surveys were obtained from the surveys: 70% of junior -level programmers are trying to assess themselves on their own. Paradox: the lower the level of the assessed, the more it operates with its own ideas.
At the initial stages, there is no depth of knowledge and breadth of vision - the picture is very limited. And such an assessment overestimates the idea of ​​its level in 86% of cases.

We recommend: as soon as possible, switch from “internal” assessment methods (own opinion, experience) to “external” - request feedback from the manager yourself, attack the most experienced colleagues, compare tasks and solutions, go for interviews to top companies, where higher requirements and better test base, etc. The manager's assessment must be objectified by the results from alternative sources in order not to fall into the trap of limitations of the current capabilities and requirements of the company / department / project.

But there is a shorter way. We ourselves have formed a list of the requirements of top companies for senior specialists. And they found a serious lag, which is formed between the levels of middle and senior .

If you do not know where you are going, you will most likely find yourself somewhere not there.




We put together the requirements and found that not only good code turns the junior specialist into middl . At the junior level, the programmer must master all the necessary technologies and the ability in principle to solve typical problems, learn how to write code correctly and quickly. At the level of the middle developer, a code culture, the ability to think deeper and wider, implement larger tasks independently and be able to apply various development tools are already required.

The difference between middle and senior is much thinner. It is here that developers have a lag, which not everyone can overcome by themselves. This is a whole range of skills and personal qualities that are implied but about which no one speaks clearly: responsibility for the majority of the system being developed, mentoring, the ability to independently formulate and propose optimal technical solutions, communication skills, etc.

So, who is a super- Senior ? In order to formalize the requirements, we had to go over to the maximum and put together everything that the companies of Yandex, Luxoft, Mail.Ru Group and even Google presented in open sources. And also verified this information in conversations with the leaders of the development of famous companies.

Hard skills

1. Clean code;
2. High Level Hard Skills:


Soft Skills and professional outlook
Those most mysterious requirements, desperately underestimated by the programmers themselves. Often in a company, management and HR operate with the notion of “command” and “responsibility”, but they do not formalize their criteria or their manifestations in life. As a result, 90% of developers did not mention these aspects as important for development.


The idea to test oneself in the possession of all the above blocks was presented to us by the total scarcity of assessment tools for anything other than the level of language skills in the Russian market. For the needs of our research project, we have compiled a trial version of the test for 3 languages, which helps to quickly navigate the current level, as well as highlights strengths and weaknesses.

To summarize, assessing oneself adequately using the maximum amount of external resources is extremely important. In order to avoid the classic problem in the labor market - “the expectations of developers vs. the reality of companies. ”When developers evaluate their skills and their value is higher than companies are ready to do. They also hope for a rapid rise and development, which is not happening to such an extent (for more details, see the next article).

PS In the original version of the article, we offered to pass the test to everyone. However, we did not expect such a powerful influx of respondents. And they were forced to close the test in order to be able to process the current answers and results to those who left the contact details. Please fill out the test to have patience :)

Source: https://habr.com/ru/post/430576/


All Articles