With the exception of hiring contractors for a predefined short-term (3–6 months), employees expect a long-term offer.
The average tenure for software engineers varies – somewhere around 2 years.
Building An In-House Team vs Outsourcing
If you expect that a project will keep evolving rapidly for many years to come, building an in-house team is a possibility. Especially if you can continuously introduce new features, clean out redundant code, optimize for performance (activities that would easily occupy someone half-time, if not full-time).
The more resources you look forward to outsourcing, the wider the gap. Of course, there is an added cost when going through an agency – or even when working with a freelancer part-time. These folks pay taxes, probably rent, don’t have guaranteed paychecks, need to take care of health insurance, invest in marketing/branding for future leads, you name it.
I wrote the businessbreakdown of . The markup is easily 3–6 times higher for outsourced labor, the lower coefficient applied when you guarantee some work or when management overhead/QA are not needed.
There’s one more thing…
Hiring Tips To Remember
Hiring a mid-level developer, often even a senior one, would require some guidance, sometimes help, occasionally a code review, making sure that the process works smoothly. For maximum efficiency, tech lead/software architect working with a project manager (in charge of estimates and deadlines).
It’s generally cheaper and less degrading if you hire a QA person. Asking developers to test all edge cases is far from ideal. It’s on par with writing documentation (from a programmer’s perspective).
On Building A Team For “Small” Projects
All things considered, building a complete team for a “small” project is often overkill.
As an example, we sell retainers for 40 to 200 hours a month. Fewer is impossible to manage internally. Over 200h/mo usually gets more expensive and arguably sustainable in the long run.
A median retainer (100 to 120 hours) gets you a half-time experienced developer with access to creative and front-end experts, a zealous QA team, an account manager making sure that everything runs seamlessly, DevOps guys when there is a need for server fine-tuning, an automated monitoring system built in-house, and enough resources to help out in cases of emergency.
The Cost Of Hiring And Managing Multiple People
Access to senior management is often helpful (we can advise on best industry practices considering our expertise over the years). Our marketing team also works closely with creative and tech folks on all things user experience, conversion rates, sales funnels.
That’s usually within $10K/mo which isn’t a terrible deal with the cost of hiring and managing multiple people with different skill sets, retaining them long enough, dealing with layoffs and ongoing recruitment, handling emergencies during holidays and sick leaves, and so on.
We’ve had clients pay us for 250 hours a month for several months in a row. We always end up reducing the workload with 50% or more or slowly transferring work to a new in-house team of theirs with a smaller, consulting and advisory plan instead.
Occasionally, clients get tempted by outsourcing to Asia – India, the Philippines, Pakistan. This week alone, I received 2 applications by mid-level Indian developers asking for $2,500/mo and one for a project manager (admittedly, a good one) looking for over $5,000/mo, all working remotely from India.
Talented folks are not stupid, they can work remotely and ask for competitive salaries, so abysmally low rates can hardly match decent code quality (plus management, business acumen, expertise in scaling platforms).