The 5 Essential Questions to Vet a Development Company
A checklist of critical inquiries to ensure you hire a high-quality, reliable dev team on Upwork.
Far too many founders make a critical mistake by choosing a development company on Upwork based solely on pretty UIs and 5 star ratings. While UIs can be beautified with an agency's pitch, or 60 second Looms can display pristine outcomes, underlying problems in engineering reside in undocumented API endpoints, missing indexes, and past poorly versioned Git commits.
We've had applications that looked perfect in a shared Zoom meeting only to fall apart under moderate production load, due to the agency lacking even basic engineering principles. You have to interview a development agency the same way you interview a co-founder, not just a contractor.
Dev Company Vetting Scorecard
Do they have a documented development process?
Look for sprint planning, version control, and deployment pipelines.
1. Who reviews the code before staging?
You should never let junior developers touch your repo without scrutiny. In a project we were brought in on, the agency told their startup client they hired 3 engineers to build the app. Sounds good. Except the agency did not conduct code reviews. The junior engineers shipped a bad state management feature directly to the main branch and wiped out the production database, taking us a full weekend of emergency recovery.
Ask them directly, "Can you walk us through your exact Git branching workflow and who exactly reviews each pull request?" If the same engineer who writes the code is also doing the production push without a senior architect to review the changes, get a new agency.
2. What happens when your lead engineer quits tomorrow?
Redundancy is essential to the runway of your product. A single freelancer can fail, due to the fact that there's simply no other recourse if anything goes wrong with that person. The purpose of having development agencies on Upwork is that they operate more like a real company rather than simply an aggregation of freelancers who work for cash, with information silos at each junction.
We learned the hard way how to deal with scaling years ago. The main architect of one client's project took two weeks off due to a family issue which brought all work to a complete standstill. He was the only person who knew the integration map for the system.
We now require redundant operations from our partners. Ask to see their system architecture documentation. The agency should maintain a shared documentation system (like Confluence) where technical specs, and Git repository maps are kept, so another engineer can jump in.
3. How does your architecture handle upstream service failures?
Ask the development company how the app responds when upstream systems like a payment gateway (Stripe, Authorize.net), CRM (GoHighLevel), or logistics webhook failure by 90 seconds. Does the application bomb out and drop the user's session? Or will the application implement retries (like Redis queues, or the circuit-breaker pattern)?
The best agencies are expecting failures. If you can't get a specific technical term in response like "circuit breaker pattern" or "automatic error tracking," their application will likely not be very robust.
4. Can we audit the code of an active, redacted project repository on the spot?
Don't get lost in high-level pitches. If the agency is sharing screen, ask them to pull up the actual codebase on a currently deployed project (with sensitive client data thoroughly redacted).
Look for these things: - README files for clarity and ease of onboarding/setting up development environments - Clean folder structure with distinct Separation of Concerns (SoC) between UI and application code - Environment variables are correctly configured to separate production credentials
If the agency declines due to confidentiality or copyright concerns, they're likely trying to hide some tech debt.
5. What exactly is your automated deployment process?
Don't settle for manual uploads and SSH commands anymore! When an agency still uploads files directly to production via SFTP or executes many commands via SSH to deploy to production-human error has ample opportunity to get introduced.
You require an automated CI/CD pipeline where your changes are automatically run through linter, and unit test before being deployed to production servers through automated processes such as DigitalOcean auto builds, and GitHub actions. Ask your agency about their workflow; they will have a clearly defined, repeatable, and automatic procedure to move code from development to production.
When you hire a tech agency on Upwork, you're buying much more than raw coding capacity; you're purchasing a delivery system.
What are the 5 essential questions you will be asking in your next vetting meeting?
Related field notes.
From Zero to App Store: The Client Journey with Solitude Infotech
A step-by-step narrative of how we guided a client through the entire product lifecycle, from initial idea to public launch
The Strategic Advantage of Hiring a Tech Company on Upwork
Why partnering with a specialized company is a smarter investment for your startup's growth than you might realize.