Is there life beyond the Moscow Ring Road? How we search and train developers

Is there life beyond the Moscow Ring Road? How we search and train developersIn this article we want to share the experience of the development team Codeinside from Penza on how to find and quickly commission a new employee in the region. We invite you to share your experience in the comments.

Probably, some of the readers who are not related to IT are perplexed: is it really a problem to find a developer (even in Penza)? It would seem that you should make a list of requirements, post a vacancy on one of the portals, promise a salary of +100500 rubles, and calmly interview candidates. It wasn't there. Read our story below.

Unfortunately, finding employees for the office of a regional IT company is a pain. And that's why:

  1. In Penza, as in many other cities with a population of less than a million, there is a constant shortage of qualified personnel. Even if there is no turnover, the company needs to grow. And the team is needed in the office.
  2. There are many people who pretend to be juniors, but in fact their experience and knowledge are not enough to perform elementary tasks. There are no free middles and seniors on the market. Hiring a competent middle is more of a matter of luck.
  3. It can be quite sad when candidates do not bother to read the list of requirements for applicants and wander from company to company in the hope of good luck.
  4. Regional universities are behind the times a long time ago and it is generally unclear who and for what they train (fortunately, there are exceptions).
  5. Local HR agencies are no good either. A conditional 20 rubles will be ripped off the company and the candidate profiles taken from open databases will be thrown off.
  6. A new employee needs to be β€œcommissioned” as quickly and efficiently as possible. Newcomers left without attention quickly β€œmerge”. The company is wasting time and money, and possibly valuable staff.

A few years ago, we developed our own scheme for the selection and adaptation of young professionals:

  1. "Generate" Junes.
  2. Select suitable ones.
  3. Train.
  4. Hold.
  5. Develop.

Sounds like an algorithm, doesn't it?

"Generation"

It is clear that in our position we use everything we can, including the placement of information in universities.

But for many years we have made sure that only personal communication can show the level of the company to applicants. Therefore, we came to the conclusion that we need to create a community where employers, experts and specialists who are looking for work would meet.

This is how the regional Association of Developers appeared SECON, which includes the strongest companies in the region, SECON Specialized International Conference on Software Development of the same name, IT-Laboratory and other projects.

Developers Association

Penza IT companies have teamed up to jointly solve common problems, primarily related to raising the professional level of local IT specialists. Under the auspices of the Association and its forces, a number of events of regional significance are being held.

SECON Conference

This is an annual meeting of programmers, web designers, heads of IT projects and companies, people who are just planning to connect their future with IT - all those who want to know what will happen tomorrow in order to use information technology today.

Our event annually gathers more than 1000 participants from different regions of Russia and abroad. 2 days of effective networking, 15 sections, 40 practicing speakers and, of course, pleasant surprises from the organizers.

Is there life beyond the Moscow Ring Road? How we search and train developers

IT Lab

For students and novice developers, we conduct a practical educational project: IT-Laboratory. For 6 weeks, participants daily practice and improve their knowledge under the guidance of professionals.

The main goal is to show the full development cycle. All participants are divided by projects into teams that include developers, designers, testers, marketers and project managers.

Every week there is a demo day where the teams demonstrate the results for the week. The result of the event is the day of protection of projects. We invite participants of successfully completed projects to take part-time internships in our company (now we have 4 employees from the IT laboratory, and in total more than 60 graduates out of 227 work in Penza IT companies).

Is there life beyond the Moscow Ring Road? How we search and train developers

Contacts of participants of all events and communities are included in the mailing list.
The mailing list contains news of the Association, news and vacancies of companies and partners, we announce various meetups. The mailing takes place every Friday. Target audience - students, event participants, programmers.

The laboratory, conference and resources of the Association give us a constant flow of candidates and their trust. Every week, 1-2 developers come to us for an interview.

How it all begins

The process is simple but time consuming. Developers have enough tasks already, but here they are distracted by all sorts of β€œuseless” things. Therefore, HR is responsible for this moment. We remove process tasks from developers, save their time and our finances.

Test items

All applicants receive a test task. The tasks are not difficult, but they require time and patience to master the language and new core libraries. At this stage, more than half of the applicants are eliminated: many do not even undertake to do the task.

Test task example:

1) Task for algorithmization. It is necessary to traverse the file system and search for the given text in the file system.

The application is multi-threaded, launched from the command line and takes an argument as a search parameter.

2) It is necessary to organize the distribution of mail as follows. It is assumed that the mailing module is part of an existing application.

It is necessary to develop a provider object that will create mail distribution jobs, and a consumer object that will take mail distribution jobs from the queue and execute them. What is required at the output: a small imitation of the process of creating and processing tasks.

Those. after a random time, mailing tasks are created, and the consumer processes them periodically. It is advisable to use a queue through persistent storage (for example, Postgresql). Start point of the whole process through tests. Physically, mail can not be sent, it is enough to write to the log. Everything can be done in pure Java.

Those who successfully cope get an internship, including a paid one, which takes place under the guidance of a curator.

By the way, we have a remote internship option, it is often chosen by those who have not been associated with IT before. For example, one of our current employees, a former chef at a sushi bar, did an internship with us remotely. A remote internship allows a candidate to start their education and development as a programmer without leaving their current job and without losing income.

For the entire duration of the internship, a development plan is drawn up and a curator is provided. Jun connects to an internal, research or real project. Naturally, he can commit to the project repository only after the approval of the curator. In addition, the trainee connects to an online course for in-depth study of specialized technologies.

Here is an example of a "piece" of such a development plan:

Is there life beyond the Moscow Ring Road? How we search and train developers

One of the projects for Jun was CO2-Monitor. We have a CO2 sensor in the office that we purchased to ventilate the room in a timely manner. He made everyone nervous for a long time with his squeaking when the CO2 level exceeded the set one, so we just turned off the sound for him. As a result, the sensor turned out to be useless.

Is there life beyond the Moscow Ring Road? How we search and train developers

During the internship, the task was to study the protocol of this sensor, implement a server and a chat bot that, when CO2 was exceeded, sent a message to the office manager that it was time to ventilate the rooms.

Now CO2-Monitor has a flexible notification time setting and is integrated with the Mattermost corporate chat. So we killed two birds with one stone: we trained the trainee and breathe fresh air.

The role and benefits of the curator

The curator has several hours a week to consult with the interns. The trainee receives knowledge, attention, and quickly finds a common language with the whole team. The mentor receives a bonus and experience for teaching a beginner, thanks to which he can grow from a middle to a senior or team leader.

In the final, after completing the final task, we conduct a certification of the trainee so that he can receive an objective assessment of his qualifications. And in case of successful completion of the final task and adequate progress according to the development plan, we are considering the employment of this trainee in our company.

How to keep after an internship

We conclude an agreement with all former interns, which describes all the working conditions. We agree "on the shore" about possible situations with each of the parties.

For example, we have a clause stating that we undertake obligations to improve the qualifications of an employee on the condition that the employee has worked in the company for at least 2 years. In case of departure, the employee shall reimburse the costs of training. The amount is rather symbolic, and so far no one has had to return it back. For us, this is a kind of filter so that decisions are made deliberately and no one wastes time in vain.

Company office:

Is there life beyond the Moscow Ring Road? How we search and train developers

Is there life beyond the Moscow Ring Road? How we search and train developers

Win win

  1. Constant stream of applicants. We are known in Penza as a company to join if you want to become a professional developer.
  2. We weed out at the entrance those who have no prospects.
  3. There is no chaos. Beginners are sometimes just afraid to come up and ask. And there is a clear plan for how to develop a new employee.
  4. In just a month, a new employee comfortably joins the team and learns discipline. There is practically no flow.
  5. Adaptation is especially easy for juniors who are used to the system (as in universities, for example).
  6. Unloaded highly skilled developers (whose time is expensive). The process is carried out by an employee of the HR department

Share in the comments how you find and train employees?

For those who want to know the opinion of the applicants themselves, the report of our employee Alexei (Java developer at Codeinside):



Source: habr.com

Add a comment