Sprend’s technical test is actually a cooperation test

Algorithmic puzzles have their place, but they don't tell us how we'll work together. Here is why our final interview revolves around a real-world bug, and why we are really just answering one question: "Do we enjoy working together?"

If you are an experienced developer, you've likely gone through your fair share of technical tests. While whiteboard algorithms and generic take-home assignments can be useful for establishing a baseline of knowledge, they often miss the most important part of senior engineering: the day-to-day reality of the job.

At Sprend, we take a different approach.

If you’ve made it past our agency partners and their rigorous (?) DNA screening—which you can read about in How we partner with agencies—I already know you can write code. My final test is about something much deeper: Can we solve real problems together, and do we actually enjoy the process?

I thought you said nobody ever looks inside this legacy module! - said one bug to the other

Real-world test

When we reach the final stage of our hiring process, which takes a couple of days, we invite you into our actual world. I will give you a real bug that currently exists (or recently existed) in the Sprend codebase. (If you want a head start on what you'll be looking at, check out The Sprend tech stack).

Your task is practical:

  1. Set up the local development environment.

  2. Reproduce the bug.

  3. Solve it.

  4. Step through the code with me and explain your fix.

What I'm actually testing

Yes, I want to see how you navigate an unfamiliar codebase. But the code is secondary. What I am really testing is your communication.

When you hit a roadblock setting up the environment, do you silently struggle for hours, or do you ask a sharp, targeted question? When you step through the JavaScript with me, can you articulate your thought process clearly? When we debate a different approach to the fix, can we do it with low ego and high standards?

This test is a two-way street. It is your opportunity to look under the hood of Sprend. You get to (some of) the codebase, and how I communicate as a founder and fellow developer. It’s a mutual audition.

Iron sharpens iron

I’ve been in this industry long enough to know a universal truth: Great developers don’t want to work for managers; they want to work with other great developers. I realise that if I am going to ask you to treat testing as non-negotiable, to dig for the absolute root cause of a bug, and to communicate transparently, I have to prove to you that I do the exact same thing.

When you join the Sprend team, you are not joining an assembly line. You are joining a partnership. This mutual audition is how we ensure you'll succeed in our culture—to understand the full philosophy behind this, I recommend reading Being a developer at Sprend.

What you can expect from me:

  • I will pair program with you. Not to micromanage, but for problems that benefit from doubling up on engineering power.

  • I will shield you from artificial urgency. I meant it when I said we have a "no-deadlines" culture. I will never ask you to push garbage code just to hit an arbitrary launch date.

  • I will leave my ego at the door. If your pragmatic technology choice is better than mine, yours wins.

  • I will obsess over the user with you. We leave the codebase cleaner than we found it, every single day. If you are a developer who takes immense pride in your work, who wants to understand exactly what is going on, and who wants to work alongside someone who feels the exact same way—we should talk.

  • I will generate images with Gemini. But only funny ones.

Next
Next

How we partner with agencies to find great developers