I recently helped a California edtech company evaluate two ways to cover its engineering needs.
We looked at hiring an individual engineer and working with a dev shop. It’s a decision a lot of founders face, and I’d start by asking what you need someone to take on.
Are you trying to get a defined project done? Do you need more engineering time each week? Or are you looking for someone to take responsibility for a product that customers already use? Once you’ve answered that, look at what your team can cover. Who sets priorities, makes technical decisions, and deals with problems between releases?
What does the budget actually buy?
If an engineer and a dev shop quote about the same monthly price, ask both to describe a typical week. How much development time are you getting? Who figures out what needs to be built? Who reviews the work, ships it, and deals with anything that breaks?
With an individual engineer, more of the budget may go directly to development. That can be a good deal if you can make decisions quickly and already have someone to handle the rest. If the engineer is also scoping features, coordinating with vendors, and maintaining the infrastructure, all of that takes time out of the same week.
A shop may include access to a senior technical lead or a DevOps specialist. Find out whether those hours come out of the retainer and whether anyone is being paid to manage the project. You can hire a team and still be the person who writes the tickets, clarifies the requirements, and follows up when something slips.
Say you ask for a report based on the date customers signed up. An engineer who works closely with you and knows what you’re trying to measure is more likely to ask, “Do you mean when they signed up or when they started paying?” That’s a quick conversation before anyone builds the report. Some shops will ask the same question. Others will build it exactly as specified and bill for a change when you realize you needed the other date. I’d ask who’s responsible for catching that kind of thing before the work starts.
How often will you change direction?
If you’re still figuring out what customers want, an individual engineer is often easier to redirect. You can talk through what you learned and agree on what to do next in the same conversation. With a shop, a change can mean revisiting the scope or rearranging a sprint, especially if several people are already committed to the work.
A shop can give you flexibility in a different way. Say you suddenly need someone who understands cloud infrastructure or can help you prepare for a security audit. A shop may already have that person. Ask when they can start, what their time costs, and what happens to the work already scheduled.
I’d bring a mid-project change up before signing. If I change the priority on Wednesday, when could someone pick it up? If the work needs a skill the assigned engineer doesn’t have, who can help? Those answers tell you more about flexibility than the number of people on a team page.
Who takes the call when something breaks?
Before launch, you may be comfortable moving quickly with one person handling development and releases. Once customers depend on the product, reliability, security, and privacy become part of the job every week. The work between releases matters as much as the next feature.
Say an outside provider stops sending fresh data. The app still loads, but the numbers are out of date. Someone has to decide whether to show the last good data with a timestamp, pause reports that depend on fresh information, and call the provider. If the engineer who knows the integration is out, who has enough context and access to make those decisions?
A senior individual engineer can own that work, but they’re also a single point of failure if they’re out. A shop may have more people to call. Ask who gets the alert, who can roll back a release, and who can step in if the lead is unavailable.
One dev shop we spoke with described its after-hours support as “best effort.” That may be perfectly reasonable for your product. If you need someone to respond within a certain time at night or on weekends, put the hours and response time in the contract.
Interview the engineer and the shop differently
For an individual engineer, I’d run a real engineering interview. Start with a screen, then give them a design problem that resembles the work they’ll inherit. Ask how they’d handle unreliable inputs, prevent duplicate records, or tell when something has stopped updating. I’d also ask about an incident they personally owned and a time they had to explain to a founder why a request was bigger than it looked. You can learn a lot about someone’s technical depth and judgment by talking through those decisions without asking them to write code live.
For a shop, I’d ask the commercial and technical leads to walk through how the engagement would work. Have someone explain the retainer, what happens when scope changes, and how hours are reported. Then talk to the engineer who would lead the work. Ask them to walk through a recent production incident. Who noticed it? Who made and reviewed the fix? Who spoke to the client or vendor? I’d want to hear how that would work on my account, with the people who would actually be involved.
When I’d choose each
I’d lean toward an individual engineer if I were building an early product and expected to change direction frequently. Working directly with someone who can build the product alongside me would be worth a lot. I’d also choose an individual for a defined roadmap if I already had someone internally who could make technical decisions and cover production issues.
I’d lean toward a dev shop if I had a live product and a scoped piece of work that needed several skills. That could be improving a set of fragile integrations or preparing for a SOC 2 audit. In either case, I’d want to know which specialists I’d actually get, who would coordinate their work, and what the team would hand back when the project was done.
Before you ask for quotes, write down what you need someone to own in a normal week and what you need them to do in a bad one. Then ask each option to show you how they’d cover both.
