Freelance dev, agency or software house: which one to hire
The three models from the inside
When a company needs web development, there are basically three options: freelance dev, digital agency, or software house. I’ve worked in all three. I was a full-time dev at an agency, reinforcement on a software house team, and now I work as an independent dev. I know the behind-the-scenes of each one.
This post shows what happens inside each model, so that whoever is hiring can make the choice with real information.
Freelance dev (or independent dev)
You hire the professional who will write the code directly. No middleman, no project manager in between.
It makes sense when the project has a defined scope (webapp, dashboard, landing page, internal system), when you want to talk directly to the person doing the work, and when the budget needs to go toward execution without structural overhead.
What works well: speed of decision. When I work directly with the business owner or CTO, a scope change gets resolved in a 5-minute conversation. It doesn’t go through account management, a project manager, and an alignment meeting.
Predictable quality too. You evaluate the dev’s portfolio, look at previous projects, and know the level you’ll get. There’s no surprise of “the senior dev they introduced you to left and now your project is with a junior.”
And it costs less. No office, no management team, no account management layer. The money goes straight to execution. An independent dev charging R$ 20k on a project delivers the equivalent of what an agency charges R$ 40-50k for. That overhead isn’t the agency being greedy — it’s the real cost of maintaining structure. But if your project doesn’t need that structure, you’re paying for something you’re not using.
The risks: if the dev disappears, you’re stuck. Choosing well is everything. Ask for references from past clients. A cheap junior dev can end up costing more in rework (How much does a custom web system cost has the real price ranges to calibrate). And without a formal process, communication depends on the professional’s discipline. A dev who goes dark for 5 days without an update is a red flag.
Before hiring, check the portfolio for projects similar to yours. If you need a webapp, look at webapps, not just landing pages. Confirm availability (a dev juggling 5 projects at once will delay yours). See if communication is proactive (a good dev sends updates without you asking). Ask for a contract with defined scope, timeline, and deliverables. And check the stack they actually know. A dev learning a new technology on your project = delays and bugs.
Digital agency
The agency has a multidisciplinary team (design, dev, marketing, management) and manages the project internally. You talk to the project manager or account manager. Rarely to the person writing the code.
It makes sense when the project involves branding + site + integrated marketing. If you need a logo, visual identity, website, and ad campaign all together, an agency bundles that into one package. It also works when the company doesn’t want to manage the technical process, or when there’s ongoing production demand (posts, banners, landing pages every month).
What works well: everything in one place. Need visual identity, website, marketing strategy, and ad execution? An agency does it all without you coordinating 4 vendors. And the process is structured: formal brief, timeline, deliveries with approval. For companies that need predictability and documentation, this helps.
The risks: you pay for the agency’s structure. The dev writing your code might be a junior making R$ 3k while the agency charges R$ 25k for the project. The difference goes to the office, account team, PM, and margin.
There’s the telephone game problem. Your idea goes through account management (“the client wants something modern”), then the PM translates it for the dev (“make a carousel with parallax effect”), and the dev delivers what they understood. Each layer loses information. I’ve seen projects where the final result had nothing to do with what the client asked for because nobody connected the two ends.
Timelines tend to be longer. Sprint planning, alignment meetings, internal approval before showing the client. What an independent dev solves in 3 days can take 2 weeks in the agency process. And dev swaps mid-project happen: the dev who started might leave or get reassigned, and that transition always costs time and quality.
Before hiring, ask to meet who will actually develop, not just the account team. Ask for real technical case studies (open the site on your phone and see if it loads fast). Find out if the team is in-house or outsourced: many agencies outsource to freelancers at a 2-3x markup. And ask what the process looks like when you need a change. Flexibility is where the agency model struggles most.
Software house
A company specialized in software development. They assemble a custom team for the project (frontend devs, backend devs, QA, PM) and usually work with sprints and agile methodology.
It makes sense for large projects that need a dedicated team (5+ people for months), digital products with a continuous roadmap, or when the company needs multiple specialties together (backend, frontend, mobile, infrastructure, QA). Also when compliance or regulations require technical documentation and formal process.
What works well: ability to scale. If the project needs 3 backend devs, 2 frontend, 1 QA, and 1 PM, a software house assembles that team. An independent dev can’t deliver that.
Mature process too. Sprint planning, code review, automated deploys, testing. For a product that will run for years, this process prevents technical debt. And if a dev leaves, the software house replaces them. Knowledge stays with the company, not with the individual.
The risks: high cost. A team of 3-4 people for months is an investment of R$ 50k+ per month. For a defined-scope project that a senior dev solves in 8 weeks, that’s overkill.
The outcome depends on which team gets assigned. Software houses have A teams and B teams. If your project isn’t their biggest client, you might get the B team. And process bureaucracy can slow down simple decisions: “I need to change the button color” becomes a ticket, goes into the backlog, gets prioritized in sprint planning, and ships in the next release. 5 days to change a button color.
Turnover is also a risk. A dev who’s been on your project for 3 months might get reassigned to another client who pays more. The new one needs 2-4 weeks to get up to speed.
Before hiring, check the stack the software house actually knows (if their core is Java/.NET and you need React/Supabase, they’ll learn on your dime). Ask about team turnover: how many times will the team change in 6 months? If the answer is vague, that’s a bad sign. Make sure you get direct access to the technical team. And look at case studies for projects similar to yours: a software house that builds 200-screen ERPs doesn’t necessarily build a 20-screen SaaS well.
Side-by-side comparison
| Independent dev | Agency | Software house | |
|---|---|---|---|
| Cost | Lower | Medium-high | High |
| Contact with who executes | Direct | Through middlemen | Through PM |
| Decision speed | Fast | Slow | Medium |
| Ideal scope | Defined projects | Marketing + dev | Complex products |
| Rework risk | Low (if senior) | Medium | Low |
| Flexibility | High | Low | Medium |
| Ability to scale | Limited | Medium | High |
| Continuity | Risk if dev leaves | Medium | High |
Real scenarios
“I need a webapp with a dashboard and 3 integrations” — Independent dev. It’s a defined-scope project, doesn’t need a team of 5. AutoPars (marketplace with 5 integrations) was built by a solo dev.
“I need a logo, website, Google Ads, and social media management” — Agency. It involves branding and marketing beyond code.
“I need a platform that will have 50k users and evolve over 2 years” — Software house. Needs a dedicated team with a mature process.
“I need a landing page by next week” — Independent dev. An agency takes 3 weeks just for the brief. A senior dev with a defined stack delivers a functional LP in 3-5 business days, including responsive design and performance optimization.
My bias (stated upfront)
I’m an independent dev. That’s my work model. My perspective has bias and I think it’s fair to be transparent about that.
What I can say honestly: for defined-scope projects, a senior dev working directly with the decision-maker is the most efficient path. FitPlan (full platform with 6 panels) was a solo project. Mariah shipped in 4 hours. You don’t need agency or software house structure to deliver quality work.
For large products that need 5 people for 6 months, a software house makes more sense. For projects that mix branding, marketing, and website, an agency integrates better.
The right model depends on the project you need to solve.
One thing I learned across all three models: the most important factor isn’t which model you pick, but which professional or team executes. A bad freelance dev delivers worse than a mediocre agency. A software house with their B team delivers worse than a senior freelancer. The model is the format — who’s inside it is what defines the result. Do your due diligence regardless of which path you choose.