Freelancers can be a great resource for getting simple, short-term tasks done, such as a portfolio website. Once you venture into the world of applications, you’re better off hiring a distributed team that has experience working together.
A common misconception in software development is that you can hire a bunch of freelancers and everything will just work. The truth is, hiring the right team of developers is more like putting a championship sports team together than playing pickup games at a local park. In this article, I’ll talk about the benefits and complexities of hiring individual freelancers vs distributed teams, or what I like to call “Software as a Service”
Championship teams require chemistry, trust, and a core philosophy that allows the team to operate as a cohesive unit. The risk of assembling random freelancers is that they might have different core philosophies on coding styles, tooling, code review, and overall processes. This can lead to communication issues and workflow inefficiencies, as each developer has their preferred methodologies. At Iterate, our teams have defined processes that allow for developers to easily jump from project to project and be productive immediately.
Individual freelancers must be managed independently and there is no efficiency of scale. Payroll, on-boarding, sharing requirements, etc. will have to be done uniquely for each freelancer and there’s no central authority to hold accountable when deliverables are not met.
Many of our clients claim that it takes about four to six weeks to onboard a new team member before they can contribute to the code base. At Iterate, we’ve invested in ramp-up and onboarding pipelines, such that new team members can quickly contribute to any code base that we maintain.
Freelancers will often move from one project to the next and quickly forget about you. This will leave your business in a vulnerable situation as you’ll have to scramble to find a replacement and quickly bring them up to speed. At Iterate, we share project knowledge across the team, thus there is no single point of failure. If one developer falls ill or is otherwise unable to contribute, another team member can easily fill the gap.
If you’re looking for a cost effective way to build your software application, don’t want to pay full-time salaries and benefits, or risk retaining individual freelancers, I think you’d be well served by hiring a quality team that has years of experience working together.