By Victor Hurdugaci on Nov 10, 2025
When I was at Electronic Arts or Microsoft, hiring was a multi-tier, bureaucratic process. There was a dedicated chain for budget approval, posting approval, initial filtering, screening, and offer negotiation. As a hiring manager, I only showed up for the final interview. Even at PlayerWON, which was only about 100 people, a lot of that workload was still handed off.
But back then, I was dealing with maybe a dozen applicants max. Hiring in 2025 is extremely challenging compared to any other year. From a company perspective, there’s a lack of funds, and even as an unknown indie studio, we get hundreds of applicants. And from a candidate perspective, there are not enough jobs.
We recently hired a software developer for [Few Shall Return](https:…
By Victor Hurdugaci on Nov 10, 2025
When I was at Electronic Arts or Microsoft, hiring was a multi-tier, bureaucratic process. There was a dedicated chain for budget approval, posting approval, initial filtering, screening, and offer negotiation. As a hiring manager, I only showed up for the final interview. Even at PlayerWON, which was only about 100 people, a lot of that workload was still handed off.
But back then, I was dealing with maybe a dozen applicants max. Hiring in 2025 is extremely challenging compared to any other year. From a company perspective, there’s a lack of funds, and even as an unknown indie studio, we get hundreds of applicants. And from a candidate perspective, there are not enough jobs.
We recently hired a software developer for Few Shall Return. At the time of posting, Ballard Games was just three people. The three of us covered every single step of the hiring funnel.
We posted the job on our social media, the Seattle Indies Discord, and Work with Indies. Most of the traffic came from Work with Indies — no formal connection, but the results were great! –. Our listing went live at 11:30 AM on October 15th, and we had to ask them to shut it down by 6:30 PM on October 17th because we had too many candidates. In the end, we collected 159 applications.
Remember, we don’t have any fancy tracking software. Every single application hits our email inbox and we review them manually.
So, how do we manage that volume with limited time and a small team?
Our most valuable resource right now is time, and we have to be hyper-efficient.
For hiring, we usually sift through everyone twice. The first pass is just to get a feel for the field and remove any application that is not relevant for the role. The second pass is where we actually try to give everyone a fair look. We do this a few days after the job closes, but if anyone submits too late, we probably won’t review them unless the initial pool was completely dry. Unfortunately, this time, we had 46 late applicants we didn’t even look at. This initial triage is the toughest part; we have to reject people who might be great just because we can’t physically talk to everyone.
If we see potential, the first step is always asking the candidate upfront for their expected salary, availability, and whether they want full-time or part-time. Since we are focused on efficiency, we need to respect people’s time as much as our own. Most candidates appreciate it; for example, it immediately filtered out a very qualified candidate whose salary ask was 4 times our budget.
It’s important to say this: most indie studios can’t match salary offers from EA or Activision/Microsoft. We compete on other things: freedom and control. In a small company, you own a much larger piece of what you build and you can impact the direction of the game.
If the initial conversation is good for both sides, we send a small take-home assignment. We keep it simple and relevant: here’s the take-home assignment. For a coding role, we need to see code, but we strongly dislike the sterile, puzzle-based LeetCode style. Our take-home lets candidates code in their own environment and they get a real taste of the work. It’s a two-way street, and we want people genuinely interested in the problem. This approach is effective and we even had one candidate back out after realizing the assignment was beyond their current expertise.
Finally, if the assignment submission looks solid, we bring the candidate in for a series of video chats with the whole team. During one of those calls, we review the take-home submission with the candidate to check if they wrote it and if they actually understand it.
Use labels in Gmail; that’s it!

- All applications initially start in
1. New. - When we review an application, we move it to either
9. Noor2. Reviewed. “Reviewed” means we like the candidate, but we wait to bulk-email outreach. 2. Reviewed/Contactedis where threads go after we send the initial email.2. Reviewed/Holdis for replies where we might proceed, but there’s a temporary snag (e.g., availability mismatch).3. Take Homethreads are for candidates we sent the assignment to who haven’t replied yet.3. Take Home/To reviewis our manual inbox for new submissions we need to look at.3. Take Home/Goodholds submissions we want to interview.5. Interviewis for candidates currently going through the full loop.9. Nois for rejections. At the very end, we go through this folder and send a final notification to everyone we replied to at least once but ultimately passed on.
The purpose of the prefix numbers is too keep the labels sorted by the process order instead of the actual step name:
Practical advice for how to design a take-home assignment
You must ask candidates to solve problems directly related to the role. If you’re hiring a game programmer, knowing how to detect fraud in bank transactions is irrelevant knowledge if that task never appears on the job. The assignment’s outcome should tell you one thing: can this person do the job you need them to do? In our case, we were looking for a generalist who can do both Unity and services coding.
So, instead of LeetCode, create a heavily scoped-down version of a real problem your team recently solved. This achieves two goals: you can tell if the candidate has the skills needed and it lets the candidate gauge whether they actually enjoy the type of work they would be doing daily.
A few other things to consider when designing the assigment:
- Only assign tasks that are small implementations of existing work. Never ask candidates to build core features or solve problems the studio hasn’t already solved internally just to source free labor. That’s not cool!
- The assignment should take no longer than the time you would normally allot for a live coding or whiteboard interview session. Respect their time.
- Always give candidates a channel to ask clarifying questions about the requirements.
- If a candidate submits a partial solution, let them know. They may have genuinely misunderstood a requirement, rather than failing to deliver.
Overview
Finally, here’s an overview of the flow of candidates for this role. It took us about 4 weeks to complete the process and hire someone:
Click on the image to see the larger version
This article is part of The Tales of a Small Indie Studio series. Click here to check out out the other articles.