IT Recruitment and Technology - Scaling Efficiency
This is a story about evolution. Last couple of years we've faced challenges in all fields of business, technology related challenges, recruitment related challenges, GDPR related legal challenges. We also dared to challenge the market, hoping to steer the IT Recruitment (in Cluj at least) to a more stable and foreseeable future, raising the bar on quality and quantity of hires, while also trying to teach others to do the same through workshops held at Approach Academy.
In this article I want to introduce You to the technology and the software we are using, whether they're built by us in-house or we're subscribing to a SaaS, while trying to achieve growth.
We want to grow, efficiently
During our yearly team-building in December 2017 we've started analyzing our daily activities in the effort to grow efficiency within the teams. We've concluded that lots of activities took a lot of time and had little to no impact on short-term productivity.
Suddenly it was clear: we had to automate as much as we could, reducing the manual and repetitive work, while our team members would do what they love and do best: engaging with candidates and clients.
We knew our internal processes and workflows were good, since in 2017 we've signed contracts with 12 new clients, started recruiting on 60 new jobs and successfully hired a high number of candidates.
2018 would be about growth and efficiency. We wanted to make things smoother, easier to manage, while investing less time in things that didn't matter much and had little or no impact on the business.
Speeding Up
In October 2017 we started working on a new software for our clients that was set to ease our internal workflows (candidate feedback, reports, etc.). In late November the project was put aside and much of the codebase was migrated to a new project: Human Direct's own API.Wait. What? Why would an IT recruiting agency need an API in the first place? Well, the answer is pretty simple, just keep reading.
Since 2015 we are using Workable as our ATS. We honestly believe it's the best ATS in the world (at least for our needs). We can have up to 100 jobs, direct posting to Glassdoor, Indeed, Jooble, and to Linkedin through our Linkedin Recruiter license. While this helps us get applicants, we're also using Workable's internal sourcing tool (called People Search) for finding candidates. It's a nice combination of machine learning, NLP and artificial intelligence, that helps us source quickly and fill up our pipelines.
While Workable is a great ATS, it lacks features that a recruitment agency would need. Luckily they have a well-written and reliable API, so we started to slowly build our API on top of Workable's API.
Human Direct's API Features
234 git commits and 31775 Lines Of Code (LOC) later our API is ready. It's built on PHP 7.1, Symfony 3.4, API Platform 2.x, Nginx, PerconaDB 5.8 and RabbitMQ.
As for the features, it can:
- fetch data from Workable via webhooks and on demand
- push data (comments, tags, mentions) to Workable - via RabbitMQ
- create unified candidate profiles for the same candidate existing in multiple jobs (since Workable stores every candidate individually for each job)
- handle SMS messaging between N consultants (from our team) and any candidate - via MessageBird
- push candidate contact information to our organisation's Google Contacts; doing this will sync contact information to our consultant's phones *
- parse incoming emails from consultants (using MailGun) and automatically push email content as a comment to the candidate's Workable profile
- find any document related to candidates in our Google Drive (eg. profile descriptions, etc.) using Google Drive API
- create backups regularly to AWS S3
- send Slack notifications to our team
* I want to underline the fact that all our data is kept in Workable, our API is constantly pulling and reconciling data from Workable. This means every time a candidate unsubscribes from Workable, all his/her data is automatically deleted from our systems, including Google Contacts and our consultants' phones . We take GDPR very seriously.
We have long-term plans to constantly add new features to our API, so be sure to follow us to know more once new features will be released.
Human Direct Toolbox
Now it's time to introduce You to our own private Chrome Extension: Human Direct Toolbox. Initially it was built to do only one thing - automate candidate feedback and increase productivity by adding repetitive comments with just simple clicks, without leaving the window you're in. It is completely powered by Human Direct's API.
Obviously, things evolved since we first created the extension, so there are a few features we've added along the way:
- ability to push comments to multiple candidates at once
- ability to lookup public information on GitHub profiles
- federated login via Auth0 and Google
- SMS messaging via MessageBird
- ability to see a timeline of activities for any given candidate, through all jobs (we’re calling this UniProfile synthesis)
- lookup existing candidate information when visiting Linkedin profiles
All these reduce time spent on trivial activities, while raising the numbers on all fronts.
Partially thanks to these tools, in 2018 we had a good growth. We've signed contracts with 20 new clients, started recruiting on 84 new jobs and the number of hires went up by 12%.
Not all numbers were influenced just by our API and Chrome extension, so let’s move on to the next chapter.
GDPR - A Much-Needed Regulation In Recruitment
Since September 2017 we were preparing for May 25th, 2018. As more and more information appeared on the internet, it became clear that we needed a better system to centralize our legal information.
With a lot of help from a GDPR specialized law firm (LegalUp), we've implemented the needed GDPR related workflows, created our new Legal section on our website, signed Data Protection Agreements with all our vendors and clients.
While this would have been enough, we've seen yet another opportunity to make things more efficient, so we've started experimenting with Contract Management Systems. Initially we had used Concord, but due to unclear GDPR implementation on their side, we've switched to PandaDoc.
One can only guess the speed-up we've experienced in sending our proposals, service agreements and annexes to our clients. What usually used to take days, better yet weeks, now could be done in hours (or minutes with really responsive clients). Wow!
Software We Use In IT Recruitment
In the effort to make our business more efficient, we've written tens of thousands of lines of proprietary code, contributed to a few open-source projects and introduced new third-party software vendors to help us scale better.
Proprietary Software:
- Website - Built on top of Craft CMS - we've built 7 closed-source plugins to power our site, 2 plugins for Craft 2 and 3 plugins for Craft 3, in total 12 plugins
- API - Built with Symfony 3.4 and API Platform
- Toolbox - Build with FlatUI, jQuery, Grunt
- Socially - Library to validate and parse social media profile URLs
- Imagine - Library to generate scaled and branded images
Contributions To Open-Source Software:
- Exchanger - Added the possibility to convert to/from RON currency using historical data from BNR
- Todoist PHP API - Refactored and extended library, written unit tests
Premium (Paid) Services We're Using:
- Workable - Our Applicant Tracking System
- Google - We're using G Suite within our organization, Ads, etc.
- Linkedin - For networking, advertising and sourcing candidates via Recruiter
- Facebook - For networking and advertising
- Digital Ocean - All our software lives on DO servers
- Cloudflare - For website performance, security and reliability
- Crisp - For the live chat on our website
- MOZ - Helps to keep our website's SEO under control
- Todoist - Helps us keep track of the long lists of to-dos
- DeployHQ - Deploys our site and API
- AWS S3 - For keeping backups from the site and API
- TypeForm - For creating beautiful and engaging forms
- Slack - For internal communication within our team
- MessageBird - SMS gateway for texting with candidates
- PandaDoc - For all our contract management
- Canva - For creating stunning designs while keeping our branding
- Adobe Typekit - For using brand fonts on our website
- Leadpages - For creating landing pages quickly and easily
- Cookiebot - For scanning cookies and creating reports
- SmartBill - For invoicing
- Undisclosed - For CV parsing and matching technology
- StoryChief - For awesome writing and publishing experience; This article was written in StoryChief :)
Freemium Services In Our Stack:
- ServerPilot - Manages all our servers
- Disqus - For engaging with our blog readers through comments
- Rollbar - For debugging our API and Chrome extension
- Bugsnag - Stability monitoring of our website
- MailGun - For handling emails on our API
- SendGrid - For handling emails on our website
- Auth0 - Authentication & authorization platform use by Toolbox
- MailChimp - For communicating with newsletter subscribers
- HubSpot - For keeping track of sales leads
- Zapier - For automating workflows
- GDPR Form - For managing GDPR related requests
- Buffer - For social media management
- Absence - For vacation tracking and employee management
- Nuclino - For knowledge base within the team
Wow! That's a lot of tools, services and platforms. It's a whole arsenal of them.15 out of the 36 were added in 2018, while trying to scale what we do best: IT Recruitment.
While you might wonder if it's worth or needed to use this many tools, the answer is simple: yes, it's absolutely worth it. It helps us be more efficient, achieve more in less time, work on what matters while feeling joy and taking pride in the work we do.
Recruiting is about the people. Business is about growth. Clients are about results. Technology is about making our lives easier.Human Direct is about all of the above, in the exact same order.
Împărtășește acest articol
Îți prezentăm consola
developerului.
Înscrie-te la newsletter-ul nostru și vei primi actualizări periodice cu postări noi, concursuri, evenimente și oportunități de locuri de muncă.