I've Hired 60+ People for Service Companies. The Process Is Almost Always Broken.
I'm the COO at Belvak, and before that I spent seven years running operations at a management consulting firm where I was responsible for recruiting. In those years, I personally hired - or oversaw the hiring of - over 60 people. Engineers, designers, consultants, project managers, admin staff. And I can tell you from painful experience: agency recruitment is a fundamentally different animal than regular corporate hiring.
In a product company or a corporation, you can take your time. Post a job, wait for applications, do three rounds of interviews, deliberate, make an offer. The whole process can take 6-8 weeks and nobody panics. At an agency? You win a new project on Tuesday, and the client expects to see the team roster by Friday. I'm not exaggerating. I've had clients tell us during the kickoff call that they expected us to have the full team assigned already - for a project we'd signed three days earlier.
The Urgency Problem Is Real
Let me give you a specific example. In 2023, we won a significant digital transformation project for a retail chain. The proposal specified two senior full-stack developers, a UX designer, and a project manager. We had the PM. We had one developer. The UX designer was mid-project on something else. We needed to hire at least one developer and find a designer - fast.
Our "recruitment system" at the time was a folder in Google Drive called "CVs" with about 200 resumes organized by... well, nothing. Some were in subfolders by year. Some by role. Some were just dumped in the root. Our recruiter spent two full days going through that folder trying to find developers with the right stack. Two days. Meanwhile, the project clock was ticking and the client was asking for a start date.
We ended up posting on LinkedIn, getting 80 applications in a week, doing speed interviews, and hiring someone who turned out to be a poor fit. He lasted four months. The cost of that bad hire - recruiting time, onboarding, lost productivity, re-hiring - was probably around $15,000. All because we couldn't quickly find qualified candidates in our own database.
Why Separate Recruiting Tools Don't Work for Agencies
After that fiasco, we subscribed to a proper ATS - applicant tracking system. It was fine as a recruiting tool. The problem was that it existed in a completely different universe from our project management.
Our recruiters couldn't see the project pipeline. They didn't know that three proposals in the queue all needed DevOps skills, which meant we should be building a DevOps candidate pipeline now, not after we win the deals. Our project managers couldn't see the candidate pipeline. When they asked "when will we have someone for the XYZ project?", the answer required a phone call to recruiting, who would check their separate system and give an update that was already stale by the time it reached the PM.
The information gap went both ways. Recruiting would bring in a great Python developer, but they didn't know we were about to lose our only Python project. Or they'd reject a candidate who was "too junior" for the current opening, without realizing we had a perfect junior-level project starting next month.
Agencies need their recruitment data in the same place as their project and employee data. Full stop. When these systems are separate, you're essentially hiring blind - you can see candidates, but you can't see what the business actually needs.
What an Integrated Pipeline Looks Like in Practice
After we built our recruitment module into the same platform as our project management, here's what changed.
We started hiring proactively. I can now look at the proposal pipeline and see that we have three proposals out that all require React Native developers. None of them have closed yet, but the pattern is clear. I tell our recruiter to start building a React Native candidate list now. If even one of those proposals converts, we're not starting from zero.
Skill matching became automatic. We tag every candidate with their skills during intake. We tag every project with its required skills. When a new project comes in, I can see which existing candidates match in about 10 seconds. No more digging through Google Drive folders. Last quarter, we filled two positions entirely from our talent pool - candidates we'd talked to months earlier for different roles but who were perfect for what we needed now.
Onboarding became seamless. When we hire someone, their candidate record converts into an employee record. Their skills carry over. Their contact information carries over. The project manager can assign them immediately. Before, onboarding a new hire meant re-entering all their information into our HR system, which took about an hour and invariably had errors - wrong phone number, misspelled name, missing skills.
Utilization visibility killed redundant hiring. This one surprised me. We were about to open a new position for a mid-level designer when I noticed in the system that one of our current designers was finishing a project in two weeks and would be available. We didn't need to hire - we needed to wait 14 days. In the old world, I wouldn't have known that designer's availability without asking three people.
Skill-Based Recruiting Is Non-Negotiable for Agencies
Corporate hiring can be somewhat generic. "We need a marketing manager with 5+ years of experience." For an agency, that level of specificity is useless. We need a marketing manager who knows HubSpot, has run campaigns for SaaS products, can work with our existing Figma-based design workflow, and is available to start within three weeks because the client project kicks off on the 15th.
Skills are the currency of agency hiring. We built a standardized skill taxonomy - about 150 skills across technical, design, management, and domain categories - and we use it everywhere. Employee profiles, candidate profiles, project requirements. When I look at a project, I can see exactly which skills are needed and which of our current team members or candidates have them.
The gap analysis is where it gets powerful. I can compare our current team's skills against our active and upcoming projects. If I see that we have four projects needing Vue.js but only one developer with Vue.js experience, that tells me exactly who to hire next. No guessing.
We also added AI-powered CV parsing, and this ended up saving more time than I expected. A recruiter uploads a resume, and the system extracts the candidate's name, email, phone, skills, job title, seniority level, and LinkedIn profile automatically. It's not perfect - maybe 85-90% accurate - but it turns a 10-minute data entry job into a 1-minute review-and-confirm. When you're processing 30 applications for a role, that adds up.
The Talent Pool Is Your Secret Weapon
Here's something most agencies waste: their rejected candidates. Not "rejected" because they were bad - rejected because the timing wasn't right, or the specific role wasn't a fit, or salary expectations didn't align for that particular position.
In a standalone ATS, these candidates disappear into a "rejected" folder and are never seen again. In an integrated system, they stay in your searchable talent pool. Tagged with their skills. Noted with why they weren't selected last time. Ready to be found when the right opportunity comes along.
We now fill roughly 25-30% of our positions from the talent pool. These hires are faster (no sourcing needed), cheaper (no job board fees), and often better fits because we've already talked to them and know their strengths. One of our best senior engineers came from the talent pool - we'd talked to him 8 months earlier for a role that required more cloud infrastructure experience than he had at the time. When a full-stack role opened up, his profile surfaced immediately.
The Metrics That Actually Matter
I track five things for our recruitment pipeline:
Time to fill. For agencies, this is directly connected to project delivery. If it takes us 45 days to fill a role but the client expected the team to be ready in 30, we've already started the relationship on the wrong foot. Our target is under 25 days for most roles.
Pipeline coverage. I want at least 5 candidates in the pipeline for every open position. Below that, and we're too dependent on a small number of people saying yes.
Talent pool conversion. What percentage of hires come from candidates we already knew? Higher is better - it means our talent pool is working and our recruiters are building relationships, not just filling today's req.
Offer acceptance rate. If we're losing candidates at the offer stage, something's wrong with our comp, our process speed, or our employer brand. Ours hovers around 80%, which I'd like to push higher.
First-year retention. A hire that leaves after four months was a bad hire, no matter how fast we filled the role. We track this to keep ourselves honest about quality versus speed.
Where to Start If Your Recruitment Is a Mess
I know what it's like to stare at a Google Drive folder full of unsorted resumes and think "there has to be a better way." There is, and it doesn't require a massive overhaul.
Start by auditing your project pipeline for the next 3-6 months. What skills will you need? Be specific. Not "developers" - what kind, what stack, what level.
Then look at your current team. Map their skills honestly. You might discover you already have people who can cover gaps you thought required new hires.
Set up a basic candidate tracking system that lives next to your project data. Even if it's simple, the fact that it's connected - that your recruiter can see project needs and your PM can see candidate progress - changes everything.
And for the love of everything, stop letting good candidates disappear after one interaction. Build a talent pool. Tag people by skills. Note why you passed on them. Six months from now, when a client calls with an urgent staffing need, you'll be glad you did.
The agencies that staff projects fastest are the ones that treat recruitment as operations, not HR paperwork. When hiring lives next to your projects, your clients, and your team data, you stop being reactive and start being ready.



