How to delevop an ATS/Recruitment software and not to fail

CEO and ideologist of the corporate system for recruiting CleverStaff — told us what nuances should be taken into consideration and what difficulties may arise in developing a system for recruiters of your company.

Some companies are developing a software system specifically only for their recruiters. This is a technologically difficult task.

I know how to solve it in detail, as I directed the development of a successful cloud and corporate recruiting system from the beginning.

tonystarkAfter reading this article, you will learn:

1. Functional requirements of modern software for recruitment

2. Security Requirements

3. Some technical recommendations

4. Nuances of support and further development

5. Recommendations on what to do before the development.

6. How can I screw up?

I hope that the article will help you to plan resources more efficiently for such a task, to make it better and faster.

What is the recruiting system?

Recruiters are people who pick the staff.

The system for recruiting automation is a software solution in which recruiters can:

— comfortable work with a base of candidates and vacancies;

— work together, share responsibility and set reminders;

— simplify and automate the maintenance of the database and the selection of personnel.

Recruiters maintain their own database of candidates in order to have contacts, communication history and results for each job applicant.

Maintaining the database should be fast, easy and should not require any additional actions from a user.

Otherwise, the labor intensity of working with the database negates all the advantages of the automation functions.

What should be the system? Requirements.

I. Minimum functional requirements

Requirements without which the system should not be started:

1.Adding and editing data on vacancies, candidates, customers in the database. The ability to write comments on them.

2.Search for vacancies and candidates for several parameters.

3.Easy maintenance of the database. This is the most important function is basically to ease and speed up the adding candidates into the system: recruiters add hundreds of CV’s in a month to the database.

Candidates can be added to the system from:

— resume files;

— online from your LinkedIn profile;

— online resumes on job search sites.

Ideally, these actions should be «in one click». It is quite difficult to do this. But if recruiters can not quickly fill the database, all the further benefits from such a system will not cover this shortcoming.

Moreover, what if recruiters received 30-200 responses to the vacancy on the job search site? To transfer them to the system manually is time-consuming, even if you want to transfer some of them. If you do not transfer all the information to the database, this will affect the further effectiveness of the work.

In some companies, a separate person is engaged in routine work. This can be a solution. However, you need to pay him money, there is a human factor and the human is not as fast as the program.

I specially presented arguments and examples, since the success or failure of this cause determines the success or failure of the whole system. Now there are many cloud solutions for recruiting and those, which are developed specifically for the company. Many crashed precisely because of the neglect of the parsing resume (automatic transfer of data by the system from the downloaded files) and integration with LinkedIn, job search sites, mail.

4. Protection against duplication of candidates (their resumes) in the database.

Do not underestimate the importance and complexity of this task. Below I will tell you why.

5. Joint work of the team of recruiters with a common base of vacancies and candidates.

This includes the possibility to appoint responsible recruiters for specific vacancies and candidates.

6. Ability to manage the roles of users and restrict certain functions to avoid errors or removing an important information.

7. Fixing the history of each action by the user in the system.

This allows you to generate reports on the work done, statistics on the work of recruiters and the closure of vacancies, as well as to know exactly who, what and when did in the system.

II. Mandatory functional requirements

Very important. Without them, you can start the system and work for some time, take users feedback, but without them, the system is not full and leaves many «manual» routine actions to recruiters. These requirements are better to perform even before launch or as soon as possible after launch.

1. Full-text search for resume files.

2. Notifications about important actions and events on the mail and in the interface.

3. Integration with the online calendar (Google Calendar, Outlook, etc.).

4. Convenient and customizable stages for candidates vacancies (workflow vacancies) and reasons for refusals of candidates.

5. Integration with email:

— Transfer to the resume database from email.

— Storing the history of email correspondence with candidates on their pages in the system.

— Ability to send an automatic reminder to the candidate about the interview with the address and the map of travel.

6. Reports on the work done for the vacancy.

7. Report on the performance of each recruiter for a specific period.

8. Search by name of the candidate with transliteration, as can

9. Clear, intuitive interaction with the program (and the entire UX interface as a whole).

When the system becomes more complex, the introduction of functions becomes more complicated. How to place everything correctly in the interface, sign, correctly place the accents, so that all functions are clear and at hand. You need to give the users powerful and convenient functions, and at the same time try not to overload the interface.

III. Advanced requirements

They are needed to increase the efficiency of work. For some companies, certain items should be considered as mandatory, for some they are not needed at all. It depends on the needs of your HR department.

1. Report on the sources of the appearance of candidates.

2. Calculation of the average salary of candidates selected for a job.

3. Possibility in one click to publish a vacancy in social networks. In addition, a separate page of the vacancy, using which the candidates can send a CVs directly to the system.

4. A page with all the company’s vacancies, which can be integrated to the website of your company.

5. The ability to give the customer access to job vacancies in the program so that he can observe all selected resumes and mark them without communicating with the recruiter.

6. Bulk upload of new resumes to the database in the form of an archive with resume files.

7. Keeping tasks for candidates and vacancies with reminders.

8. The mobile application or a convenient mobile version of the site.

9. Mailing the vacancies to the candidates via email.

10. API for integration with the site or internal programs of the company.

 IV. Security Requirements

1. Encryption of the passwords. With salt.

For many programmers and software architects this should be in the system, without any doubts. At the same time, many people ignore the password encryption.

Recently there was a leak in the Yandex database with logins and passwords from the mail. Even earlier, at the leading job search sites, the function «Forgot password?» simply sent a password to the email unprotected. It turns out that they are kept in clear form in the database. Some sites did stop doing this and give a link to change the password. However, this does not mean that the passwords are encrypted.

Why should you do this?

Passwords in the clear form can be «leaked» to the network by one of the administrators or secretly transfer to someone. Management will not even know anything about that fraud. Third parties can copy data to themselves from the system, because they enter the system by known login and passwords and they are all accessible.

I prefer not to rely on the honesty of the administrators of the base, technical support and someone else. When victims learn about the leakage of data, a huge damage to reputation is possible.

Encrypted passwords are a professional approach. It is better not to take risks of passwords leakage. If someone gets a well-encrypted password, decryption and using will be almost impossible.

2. Encrypted SSL connection.

This protects the data from interception. If the address of the site has «https», the data from the browser to the server transmitted in the encrypted form and their interception will be useless. Login and password will not be accessible. It is easy and cheap to do for any website.

3. Backups (rollbacks of system changes). Naturally.

V. Important technical requirements

1. Perpetual user sessions that do not occupy memory.

We also believed that re-authorization is not a problem. The reality is that users like to open many tabs in the working system. If the user session ends in all tabs when the server or program restarted, this is a nuisance.

2. For a full-text search for a resume, you need to use a special «engine».

For example, Apache Solr. It is unlikely that it will work effectively immediately after implementation. It must be tuned in, carry out many tests. This is creative and intellectual work.

3. The database is rapidly increasing.

You need to build effective indexes and write effective SQL queries.

4. Programmers should be able to find and fix memory leaks.

In the development of complex programs, this problem occurs, sooner or later. The probability of this increases, if the development was not performed by the experienced developers. The solution includes setting up monitoring of the software, testing a combination of different functions, comparing the memory dumps of the program.

VI. Nuances of software support and development

A good software for recruiting is not the case when everything started and you can no longer get involved in the development. I will list the main points from my experience:

1. Integration periodically ceases to work due to changes in LinkedIn, on job search sites or in mail services.

2. The release of new versions of browsers makes changes to the user interface. They can stop working or look worse.

3. A wide variety of resume options or vacancies leads to the fact that there are periodically variants that have shortcomings in interface, parsing, recommendations. We have to constantly look for new solutions, take into consideration different nuances, improve algorithms.

4. The world does not stand still. Everything develops. Recruiters constantly need new functions. If they are not provided, the opportunities of recruiters begin to lag behind the capabilities of their colleagues from other companies.

As a result, this negatively affects the speed and quality of the vacancies closure, the financial results of the company. Improvements require distraction and expenses.

5. Common user questions and their problems, which sometimes is unclear how to re-check. Screen capture requests, explanations — this often requires the involvement of programmers.

VII. Recommendations before the development

To develop a recruiting system from the beginning, which meets the minimum and mandatory requirements, it may take up to 35-50 person-months.

Some recommendations that you need to make before starting development:

1. Describe in detail what software functions are preferable and sufficient for recruiters. You can start from the list given above.

2. Along with the software architect, calculate the budget required for the whole development, as well as the team composition and the project implementation period.

3. Determine what to use while the system is in development.

4. Request commercial offers from highly specialized suppliers of recruiting systems.

Perhaps you will get advantageous offers for a good ready system, without involving the labor and financial resources of your company.

VIII. How can you screw up?

1. Spend unacceptably a lot of money.

At an average cost of a person-month for the company 1500 USD (economically), the cost of the entire development will be from 52500 up to 75000 USD. Let me remind you, this is from the calculation of 35 to 50 man-months of work.

For example, such giants as SoftServe and GlobalLogic have been developing their recruiting systems for several years (!).

There is still such an unpleasant factor: it is a shame to stop the project when it’s already done a lot and invested a lot of money.

Such torments are common for the inexperienced poker players, when they have already put a lot and continue to raise bets, even when the game is not in their favor.

2. To develop too long, forcing recruiting to be ineffective all this time.

3. To develop, to work, and stop before it is finished. Alternatively, to give the recruiters software in such a deplorable state that they will not want to use it.

It happens when the leadership or HR director is replaced, those who participated in the decision making of the development.


I wish you success in this addictive and fascinating business!


Понравилась статья? Поделиться с друзьями: