Overview

"RPA" short for "Recruitment Process Automation" is an automation process that aims to eliminate manual tasks performed by the HR team on an everyday basis. By automating these tasks, the HR team can improve efficiency and reduce tedium. These tasks involve repetitive actions like downloading candidate data for various positions, which takes around 2 hours daily on an average, creating a position wise summary and then qualifying the resumes.

The Numino team put end to end implementation in place using the AWS cloud services and a serverless architecture.

The main goals were -

  • Automate the download of resumes from a vendor portal.
  • Organize the data in google spreadsheets to a point that it is readily available for HR to go ahead with the interview scheduling process.
  • Implemented a resume rating system to identify the most suitable candidates.
  • Easily add new positions or close existing positions.

Technology Stack

Stack

System Architecture

System Architecture

The above diagram shows the various AWS services which were used. One of the constraints was to not have any extra servers which the infrastructure team needs to maintain, and also from a cost standpoint, the team decided to go with a serverless architecture.

AWS Step Functions were a natural choice to implement a serverless workflow as they offer built in error handling, execution event history, automatic scaling, high availability, pay per use and administrative security, thus allowing the developers to focus on the actual business logic and not on writing system code. There are some recently introduced features like “Map State” which allow for high levels of concurrent execution which fit in perfectly with what the team wanted.

Individual tasks were implemented using either AWS Lambdas or ECS Fargate tasks or a combination of both. This helped optimize the cost, as the ECS container shuts down after it is done processing for the day. Selenium was used for extracting information from third-party portal.

MySQL is used as the reporting store to store all the statistics and metrics related to runs and processing of positions.

The team utilized other features of AWS like Secrets Manager and AppConfig for storing application secrets and configuration.

AWS Event Bridge and Lambda were used to schedule the daily runs,

Google Drive Integration was also involved as the summary sheet required by HR was created on it. This was so as not to change the existing paradigms which HR were used to.

Google APIs were used to extract information from resumes in the form of a pdf and then rate them using proprietary algorithms.

The processing summary is then posted on the slack channel of the recruitment team that gives the required visibility on the status of the workflow and highlights if there have been any failures/exceptions in any stages of workflow execution.

Any failures during the course of execution are notified on email using the SNS notification. These notifications are directed to the technical support team that are responsible for checking and actioning these kinds of failures. For Observability of the system, Cloudwatch was used for tracing, logs and diagnostics.

Future Directions

Based on experience running the system, the following is the set of features in pipeline. The workflow should be able to be triggered manually for a certain position on demand. This should only be triggered based on Role Based Access. OAuth authentication using Cognito and Google will be required.

Agile based delivery

The team followed Agile principles for product development. Google sheets was used for issue tracking, bug tracking and managing epics, stories and defects and agile project management

Result

The following were the results -

  • RPA has resulted in the recruitment team saving nearly 2 hrs per day in just extracting information from the vendor portal.
  • The automated qualification of resumes meant HR can focus on suitable candidate(s) right at the start of the day
  • Additionally, RPA has streamlined the process of adding new job positions and closing filled positions, enabling the recruitment team to work independently without relying on technical support.
  • The team is aware of the precise costs incurred in running the solution.
  • The architecture can process hundreds of positions and thousands of resumes. Right now we are processing upwards of 20 positions and up to 200 resumes per position on a daily basis.
  • There are no extra servers which the infrastructure team needs to maintain.
  • HR now has precise metrics precompiled to help them run their operations more efficiently.

Work at Numino Labs

See our open positions