How does a senior differ from a middle one, or how a second person can become first

Developers are usually divided into Juns, Middle and Seniors. With junami, everything is more or less clear. The difference between the next two steps seems to be obvious. But in the comments to the articles and in the responses to our vacancies, disagreements arise every now and then.



In this article, we will try to formulate the main differences using the example of the testing segment. And we will give some tips on what to study in order to become a senior faster.



image


For starters, it's worth noting that you can't become a senior just after spending N years in a certain position. The work experience certainly brings middle to the next level. But experience is different. Someone can poke their nose in a state office with an outdated stack for ten years, and someone will work on the front line for a couple of years, raising servers under high loads and saving the world in other ways. Therefore, time is not a sufficient factor.



Undoubtedly, a person with ten years of experience in most cases will have a greater variety of all kinds of life situations behind him. But those who have spent their energy on self-development will have more practice and theory in their heads, and not on cats on the Internet. So let's digress from temporal characteristics and look at the problem from the point of view of understanding the general ideas and the number of questions that a person asks others.



June. Ask a question in any incomprehensible situation



So, a specialist begins his development in any field from the junior level.



Jun can code at best, depending on the knowledge and experience behind him. For normal operation, the task for it must be decomposed as much as possible and formulated as transparently as possible. In fact, June is a person who presses keys to, for example, maintain existing autotests or write new ones, using Ctrl + C / Ctrl + V and tweaking something.



June asks a lot of questions - not only about which solution is best to choose, but also how to implement it in detail. It's good if you have someone to ask them - then June can eventually become a good middle.



Middle. Self-reliance is higher, but issues are more infrastructural



Middle has significantly fewer questions for the rest of the team. He understands the details of the implementation of many things without additional explanations, so the degree of mandatory decomposition of the problem at this level is significantly less.



If we talk about testing, middle is able to write new autotests from scratch, without Ctrl + C and Ctrl + V. And he solves such problems independently. But if there are questions about the introduction of any new processes or tools, he discusses them with the tech lead, because he simply does not have a strategic vision that allows him to make such decisions.



Due to the lack of an “infrastructural” view of the project, the middle cannot exist alone. If there is some high-level difficulty, he is more likely to choose the first solution to the problem that comes across without detailed study, since only he is familiar with it.



Senior. Do not wait for questions, just agree on one of the ready-made answers



A senior knows how not only to solve problems and analyze, but also to build processes.



Due to his experience - mainly technological base - the senior sees the task much wider. He understands how his unit fits into the overall infrastructure of the project, what it depends on and what it affects.



The senior asks questions only about the condition of the problem, but not about its solution. No matter how the question is posed, the senior always sees more than one approach to implementation. So he can propose solutions himself, also explaining why it is worth choosing one and not the other. In fact, the techlead simply needs to agree on one of his proposals, having listened to the arguments that one library has such and such advantages and disadvantages, while the other has others.



In general, a good senior is aimed at solving the set business problem, and not a specific task from Jira (we wrote about the importance of this approach about a year ago on Habré: https://habr.com/ru/company/maxilect/blog/459294/ ) ... And on the way to this solution, he himself finds the tools and implements them, if necessary. The tech lead, for his part, sees that the task is in good hands, and simply observes what is happening, adjusting the general course in accordance with the direction of the development of the technology stack in the company.



It makes no sense to list the formal skills of a senior, even in a single testing segment. On a project, a senior can control the quality of the code already at the level of the development process, and not on the tests themselves. Obviously he understands how to code, knows what to do with abstractions and patterns. At the same time, the senior must have developed soft skills in order to correctly present their ideas.



Unlike the middle, the senior is a self-sufficient unit, he can pull testing the whole project alone. If necessary, the senior can deploy the entire testing infrastructure from scratch, thinking about subsequent scaling and support. Of course, at the same time he will have to deal with both the tasks of the middle and the tasks of the junior, which is not very expedient. But when there is only one person in the project, there is simply no one to do this.



A good senior is a proactive and proactive person. He himself, striving for perfection, seeks what and where to improve. Often seniors also supervise Juns (if they are on the team). And this also requires advanced soft skills.



At the same time, such a senior is the right hand of the tech lead. The tech lead himself is more focused on management, and it is more convenient to give technological issues to those who are immersed in the problem.



How to get to the senior?



It is possible to debate for a long time about how long it takes to reach the level of understanding of the senior. Everyone has a different learning rate and different opportunities to learn in their current job. Therefore, in fact, only the desire for self-development and the ability to achieve the set goals in this direction play a role. In order to somehow evaluate this, many companies introduce the practice of discussing personal goals in the team. It is important that these goals are achievable and measurable and can be achieved by the X date.



Those who set realistic and useful goals, and then reach them on time, often find themselves on a better account than those who have just worked * twenty years in the industry.



Unfortunately, in business, not only the qualities of a specific candidate often play a role, but also the expectations of the team on the project, especially if it is a team - from several divisions or even companies. If you bring to the position of a senior a person who has only a couple of years of formal experience, even if he passed all the tests for his desire to develop, colleagues may react badly to this. Therefore, a senior with little formal experience is always a borderline situation. Someone simply prefers not to face it, immediately defining the lower boundary of experience for the appropriate positions.



Not so long ago, one of the Khabrovites parsed vacancies on HeadHunter in order to assess the stated requirements for the experience of specialists. It turned out that over time, the requirements for the work experience of a specialist applying for a senior level only increase (https://habr.com/ru/post/442864/ ).



It happens that you want to develop, but the current work does not provide room for maneuvers in this direction. Then you need to get down to business yourself:



image



  • Analyze the mistakes you make. Try to get to the bottom of the causes of bugs or inoperability of the next external library. This will ensure that you do not repeat the mistake in the future, but at the same time broaden your horizons.
  • Look for tasks a little harder than you have solved so far. Do not get stuck at one level of difficulty - go to conferences for June or use only the simplest solutions on home projects.
  • . open-source, , . . – . ( ), – , , , ..
  • , . , – , .
  • . , , (https://vc.ru/hr/134808-soft-skilly-dlya-it-specialista-rasskazyvaem-na-palcah-i-zhiznennyh-primerah). . – , .


By the way, the social circle helps a lot to move forward. Man is a social being. It will be easier for you to develop if you have someone to discuss your path with, to consult. This can be a senior colleague, a mentor from an educational institution, or just a circle of friends, where everyone moves in some direction, but it moves, and does not hang in front of the TV all their free time. “How to find friends” after 30 is a topic for another conversation, but conferences, hobbies and open-source projects and other social activities will help you.



PS We publish our articles on several sites on the Runet. Subscribe to our pages in VK , FB , Instagram or Telegram channelto stay informed about all our publications and other Maxilect news.



All Articles