Bootcamp in Yandex: how can a developer choose a team

Large IT companies often offer candidates for a development role to choose between several teams. Making this choice is not easy - the developer has not yet worked with any of the teams, does not know their specifics. To simplify his task, we did a bootcamp . This is a special way to go through a trial period. The bootcamp lasts eight weeks, during which the employee manages to try himself in different departments and based on this experience make an informed choice of the future job. Initially, this format was available only to front-end developers, but a few weeks ago backend teams also connected to it.

I am Zhanna Kruglova, ex-developer and leader of the Butkamp team. I’ll tell the readers of Habr that the project has under the hood, what opportunities it gives and how the previous participants painfully chose their team.

First, we launched Butkamp in an experimental mode, then, seeing the benefits, we rolled it out to the entire front end of the Search, advertising technologies, personal and some other services. Now we are starting to hire backend developers on the same system - so far only in Moscow. For front-end professionals, it operates in seven offices: in Moscow, St. Petersburg, Yekaterinburg, Minsk, Simferopol, Kazan and Innopolis. Further we will expand the program to other specialties.

More than 80 people passed through the bootcamp. We see that for candidates this format of probation gives many advantages.

How the bootcamp is arranged inside

This is not an internship, but a full-time job that is paid . An employment contract is concluded with each participant and in fact he becomes a full-time employee.
The program is available to developers of all levels: from junior to senior.

Dates and number of teams
The bootcamp, unlike the traditional trial period at Yandex, lasts not three months, but two. How is this time distributed? A bootcamp participant works in the first team for three weeks (of which a week is spent on acclimatization in the company), then in two teams two weeks each. Participants spend another week in different ways: sometimes the developer manages to work in the fourth team (this applies only to front-end), sometimes he is delayed for a couple of days in the previous team to complete the task. And sometimes he can finish the bootcamp a week earlier.

Team selection
The first two teams for the participant we choose, the third - he, relying on vacancies in our internal service. There are less formal descriptions than on the official website. Suppose the developer drew attention to 10 teams. Then a half-hour meeting is held with representatives of each team. At the meeting, colleagues can talk about processes, products and technologies, tasks and goals. The participant can ask everything that interests him. In addition, such meetings can be attended by other participants.

As a rule, when compiling a list of teams with whom you want to hold half-hour meetings, candidates look at open vacancies. But it happens differently. There are fewer teams in the regions - if the developer has already worked in them, but wants to use the remaining time effectively, we suggest that he “pace around” in the Lego team (a library of common components for creating most Yandex interfaces).

Business trips
If the team is in several offices, then the participant can go on a business trip to another office - work in one city, then go to another. But for now, this is only for front-end developers.

Support for the mentor, technical advisor and leader of the bootcamp
Any participant has a mentor, and in each of the next team he is met by a technical advisor. In addition, throughout the entire bootcamp of the developer, the head of the bootcamp is in charge, who can be contacted with any questions.

Tehlid brings up to date, sets tasks, conducts a code review, introduces the team - in general, does everything to make the participant feel part of the team and immerse himself in its processes for a couple of weeks.

At least three meetings are held with me, the head of the bootcamp, during the trial period: the first one discusses the whole process - what and how will happen in these eight weeks, the second one exchanges feedbacks and evaluates intermediate results, summarizes in the final, discusses the team’s choice and action plan after the end of the bootcamp.

Feedback system
After the work is completed, a meeting is held in each team, where the team and the participant exchange feedbacks - they say whether it is worth going further together. The team may be ready to keep the developer, may postpone this decision or refuse. If the answer is no, then the technical team of the team explains in detail why the person is not suitable yet. Thus, the participant will immediately find out what he should work on, and in the following teams can correct weaknesses.

For his part, the developer says that he liked and did not like the work. Concentrated feedback is very beneficial for both parties. This is noted by both developers and teams.

A possible refusal to continue work - whether it is a refusal on the part of the participant or on the part of the team - does not mean that it is a poor unit or insufficiently qualified developer. It only means that the person and the team did not fit together. And it is very good that this can be revealed at such an early stage.

Life example
The first two teams did not invite one participant to stay with them. The fact is that in his previous company initiative was not welcomed (and even punished). He did not immediately understand that on Yandex the opposite was true. But after a very constructive and detailed feedback from the teams, he managed to change the principles of his work. As a result, both of the following teams competed for him - each sought to keep him at home.

Pros for candidates

Informed choice of team
Previously, the developer had four final interviews with different teams. Each of them presented themselves in an hour, and on the basis of these short meetings the candidate had to immediately choose someone. Now it is possible to work with the teams first, and only then make a choice.

The opportunity to try different things
Yandex has many different products and teams. Developers come to us also very different. A participant can come to any team — both on an industrial-scale project and in a small experimental startup — to meet specific people there, learn all the processes from the inside, try himself in different technologies, approaches and tasks. He can commit to their repositories, see how the deployment works, how the testing is going on, whether they have continuous integration and what it is. Additionally, you can evaluate the informal side: how colleagues communicate, how often they meet, what values ​​the team has.

Powerful development in a short time.
Eight weeks pass in a rather intensive mode, you need to do a lot of new things in a short time. Several teams are invested in a participant, what he learned in one can then be applied to another. All skills and knowledge will remain with him forever.

The bootcamp includes a training course - you can learn the basic technologies that will come in handy in the future. It's about basic tools (version control systems, build systems), and about things that might not be needed right now, but what every Yandex developer should know. This includes development rules, shared libraries, tools, systems, etc.

At the start, the participant gets acquainted with different services and people in Yandex. In the future, he already knows what and how it works, who does what, who can be addressed with what question. The developer interacts with a large number of colleagues from different departments, and it's great when he is already familiar with many from the very beginning.

Pluses for the company

We save the skill of the interviewers
Before the bootcamp, vacancies at the team level did not appear often (1-2 times a year). This was an additional stress for the team - I had to put aside all matters and interview candidates. There was a big load at the peak. After the vacancy was closed, everyone immediately relaxed. During a downtime, the interviewee may lose their skills, and then you need to re-train them.

Now the hiring process does not depend on the availability of vacancies in a particular team. Butkamp has a pool of attendants who take turns conducting technical interview sections. Specialists undergo special training. This makes it easier to predict the load and evenly distribute it among the interviewees. Thanks to the duty, it was possible to turn the spontaneous and chaotic recruitment process into a transparent and organized system.

The developer is able to solve the whole problem
Developers from the junior level — but not the interns — participate in Bootcamp. They already know a lot, so they can be entrusted with some task as a whole. Sometimes they give tasks that the team wants to do, but still can not put them in the development cycle. And when the bootcamp participant arrives, the team is happy - he can be entrusted with an unscheduled task.

Increase employee efficiency
We see that Bootcamp gives developers a positive impetus, they are more likely to be pleased with their work in the company. A more satisfied person is more productive, quick, etc.

Units highlight their strengths
Teams arrange special meetings for Butkamp participants, compete for them, and strive to make the developer choose them with mutual interest. In this way, they learn to talk about themselves and the product they make.

How the participant makes the final choice

Choice is the most important and controversial. It happens that a person liked two teams or all - and he does not know how to choose between them. The developer tries to understand what is really important for him, reflects a lot.

Someone makes lists of criteria for evaluating a team, which can include anything: location, leader, processes, complexity of tasks, development conditions for him personally, the presence of a mentor or tasks suitable for him. The developer may realize that the product is more important for him than technology - or vice versa, that he wants to develop to the level of an architect. The bootcamp is an occasion to analyze your goals and desires.

We had a developer who painfully chose between the two teams and in the last days of work in the last team got into retrospective. This is a meeting that is held after the completion of a major stage of the project - with a debriefing, an assault on how to avoid them in the future, etc. And he said: “I was amazed at how deeply they analyze their processes, actions, decisions and what conclusions do. I was so surprised by this growth process that I realized that I want to be with this team. ”

Or another example: during interviews, the participant said that he wanted to make a project for a multi-million audience, and after Butkamp he remained in a small internal startup. A year has passed since then, the developer is still in the team and is pleased with his choice.

What is the difference between teams in Yandex

If you want to join the bootcamp, here is the link .


All Articles