You have three choices when hiring software developers: freelancers, full-time employees, or consultants. Each has pros and cons and can be the right choice in certain situations. This guide is meant to help you understand the benefits and drawbacks to make an informed decision.
- Flexible labor can be hired for short-term projects.
- Access to talented developers.
- Pose significant legal risks, mostly in terms of employee misclassification.
- You’re hiring a team of one, not a team of many.
- They can be flaky and hard to manage.
- Hard to hold them accountable if things go wrong.
- They work for you alone and become part of your team and culture.
- Can sometimes be more affordable than freelancers.
- Not as loyal as you think, high turnover.
- Hard to manage if you don’t already have technical managers.
- Hard to hire across multiple states.
- Deep bench of talent available on an hourly basis.
- Flexible, short-term or long-term engagements.
- Work against estimates and budgets, easy to hold accountable.
- Low legal risk.
- Some have tricky billing practices that understate hourly rates.
- Make sure you get what you pay for...don’t pay for a senior but get a junior.
Hiring freelance software developers has become very popular in recent years because of the freedom and flexibility it provides for both parties. But it’s not without drawbacks and is only appropriate in certain situations.
- Freelance developers don’t carry the overhead or commitment of a full-time employee. Companies can scale up and down quickly based upon their needs.
- Oftentimes, companies may only need developers for a few months to assist with completing a project; in this case, hiring a full-time employee doesn't make sense.
- Many freelancers are talented senior developers, so accessing this talent pool can be attractive.
- Many states, along with the federal government, are starting to crack down on employee misclassification. This happens when a company hires a freelancer and classifies them as an independent contractor even though they meet the legal standards of an employee. California recently passed AB 5 which creates a three-part “ABC” test to determine if someone is an independent contractor or an employee:
- Part A: Is the worker free from the control and direction of the hiring entity in the performance of the work, both under the contract for the performance of the work and in fact?
- Part B: Does the worker perform work that is outside the usual course of the hiring entity’s business?
- Part C: Is the worker customarily engaged in an independently established trade, occupation, or business of the same nature as the work performed for the hiring entity?
- In 99% of situations, a company hiring freelance developers will likely fail one or more parts of this test because:
- Part A: Rarely is a freelance developer free from the control and direction of the business that hired them. The developer will usually work as a member of the company's existing team and take direction from internal managers.
- Part B: Most freelance developers work directly on the hiring company’s primary product: their software. So the work they perform will not be outside the usual course of the company’s business.
- Part C: Often the company that's hiring the freelance developer wants them to work full time, which by definition eliminates the possibility of the developer being engaged in an independently-established business, as the developer would not have other clients, and would not be doing other things that normally come along with running a business like marketing, sales, operations, etc.
- In a nutshell, if you hire a freelance developer to work on your project, they are very likely an employee.
- Hiring them as an independent contractor will carry very significant legal risks, as both the freelancer and the state government will have legal claims against you that can quickly add up to hundreds of thousands or millions of dollars.
- This can include things like overtime pay, meals, rest periods, unpaid payroll taxes, unpaid workers’ compensation insurance, disability insurance, and more.
- California is aggressively enforcing this new law, as evidenced by the fact that CA recently sued Uber and Lyft for misclassifying its drivers as contractors.
- But what if your company isn't doing business in California and/or you’re not hiring a California freelancer?
- Many other states are in the process of imitating CA AB 5 across the country, and the federal government has its own, similar standards.
- So regardless of where you’re doing business, there are likely significant legal risks when hiring freelancers.
- When you hire a freelancer you’re hiring an individual, not a company. This means you will have less recourse in the event something goes wrong, for instance, if they fail to complete the work. Suing a company can sometimes make financial sense, suing an individual rarely does, as they often don’t have the resources to pay a settlement, which makes them “judgment proof”.
- Freelancers can be flakey. Let’s face it, developers become freelancers because they view it as a lifestyle with less responsibility. So, many won’t want to work 40 hours per week or during normal business hours.
- Many freelancers like to be “digital nomads” traveling around the world while working. This can lead to them being in continually changing time zones, dealing with spotty internet access… and having less focus on your project.
- When you hire a freelancer, you get access to only one developer. A consultancy can offer UI/UX design services, project managers, business analysts, quality assurance professionals, etc. on an as-needed, hourly basis. When you hire a freelancer you get none of these options. If you need a QA person, a UI /UX designer, or an application architect for just a few hours per week, you’ll have to find and hire even more freelancers, and most won’t be interested in a contract for just a few hours of work.
- You’ll need to vet each freelancer to ensure they have the skills and experience you are looking for. This means several rounds of interviews, coding challenges, etc. If you don’t have technical people on your team to do this, you’ll be at a significant disadvantage and may end up hiring someone who doesn’t have the right skills.
- You’ll need a CTO or a technical manager to oversee the freelancer’s work and ensure things are getting done properly and promptly. Consultancies offer technical managers on an as-needed, hourly basis, which is much more cost-effective than hiring a full-time CTO.
- Hiring freelancers is often more expensive than full-time employees.
- Since freelancers have to pay their own payroll taxes, health care, retirement, etc. and don’t get paid sick leave or vacations, they tend to charge a higher hourly rate. Because of this, it’s common for senior software developers in the USA to charge anywhere from $90 - $250 per hour; I’ve seen a few that charge $350.
- Nearshore/offshore freelance senior developers charge anywhere from $35 - $60 an hour, so there can be some savings compared to employees, but hiring them carries all of the risks listed above, plus security issues, export law compliance, quality assurance problems, etc.
The most common option for hiring software developers is hiring full-time employees. Oftentimes hiring employees makes the most sense, but there are a few surprising drawbacks that should be considered.
- Full-time employees work for you and you alone.
- They learn your business over time and become intimately familiar with the ins and outs of your company.
- They participate in your company’s culture.
- They develop a deep understanding of your company’s product and contribute to its growth.
- They don’t carry the risks that freelancers do.
- They can potentially be more affordable.
- Many times businesses think that full-time employees will be more loyal and have a long tenure. This often isn’t true. In fact, even at sought-after, name-brand companies like Uber, Adobe, and Airbnb, the average tenure is only 1.5 years.
- This level of turnover can be very difficult for small businesses. Hiring talented software engineers is hard and expensive. If you pay a recruiter, it can cost 20% - 30% of first-year salary. If you don’t use a recruiter you need a dedicated hiring manager that can vet technical abilities. Spending this time and money only to have them leave in 18 months can be very frustrating.
- If managers aren’t technical, it can be difficult for them to manage developers as they have no way of validating if the developers are producing quality work on time. Deadlines start to be missed, development falls behind, and you find yourself in a bind, and often will have to bring in outside consultants to help figure out what’s going on.
- Hiring full-time remote developers in multiple states create a tremendous amount of legal overhead. You must register as a business in the state, get a payroll ID, file a tax return, get workers comp, insurance, etc. If you don’t have a team of people skilled in these issues, it quickly becomes a headache and costs a great deal of time and money.
- Employees have many legal protections that consultants do not. You must ensure that you’re following wage and hour laws in each state that you operate, and there’s always the risk of lawsuits for hostile work environment claims, etc.
- For Senior Developers in the United States you can expect to pay $125,000 - $175,000 base salary per year plus annual bonus, profit sharing, payroll taxes, workers comp, insurance, unemployment insurance, health/vision/dental, 401k, computers, software subscriptions, and overhead.
- Salaries for Senior Developers in foreign countries vary by country, but employment taxes are often much higher than they are in the United States. For instance, FullStack Labs employs developers in Colombia, and the additional markup is 55% of salary due to high taxes and required government benefits.
Hiring developers through a software consultancy offers many of the benefits of hiring freelancers and full-time employees, without some of the risks and drawbacks.
- Consultancies offer a variety of engagement options from project-based to team augmentation and ongoing staffing arrangements.
- Consultancies can provide estimates so you have a better understanding of cost and timing.
- Consultancies have deep benches of talented developers, designers, project managers, business analysts, and quality assurance specialists available as needed, and you only pay for hours worked, as opposed to paying for a full-time employee or freelancer.
- Consultancies often have specialists that can assist with very specific tasks. For instance, they can have a software architect build the foundation of a new application, then hand over the project to less expensive developers. Or, let's say you’re building a React Native mobile app and need a developer that specializes in offline mode. A React Native consultancy could add this type of specialist to the team on a short-term basis, as opposed to hiring a full-time employee for this short-term task.
- Consultancies often specialize in certain technologies which is a huge benefit. For instance, FullStack Labs specializes in building mobile apps with React Native, such as these. When clients staff through us, they don't just get access to the one or two developers we put on their project, they get access to the collective knowledge of our entire company. If one of our developers runs into a particularly challenging problem, they simply post the challenge in our React Native slack channel and our team of 45+ React Native developers are there to assist and find the right solution. This can save clients days or weeks of lost time compared to a freelancer or employee trying to overcome the same challenge on their own.
- Consultancies often attract top talent. For instance, since FullStack Labs specializes in React Native, we’re well known in the React Native development world and the best developers seek us out. Additionally, we’re uniquely equipped to assess React Native developer's skills, so we’re able to identify and hire the absolute best talent, giving our clients access to the best React Native developers in the world.
- When you hire a consultancy you sign a contract that requires them to perform and deliver. If things go wrong, you can hold them accountable.
- If you hire developers through a consultancy, you don’t need your own internal team of technical managers or a CTO to manage them. The consultancy acts as the CTO for your project, saving you hundreds of thousands of dollars per year.
- Consultancies will sometimes offer fixed-bid arrangements and agree to complete a specific amount of work for a set price. This option isn’t available with employees or freelancers.
- Consultancies will act as the employer of record, eliminating legal risks. The consultancy is responsible for following all labor laws, paying overtime, healthcare, 401k, workers comp, disability insurance, payroll taxes, etc. If there’s a dispute, the consultancy will be held accountable, not you.
- When you hire developers through a consultancy you eliminate your interstate taxation and compliance exposures. At FullStack Labs we’re currently registered as an employer in 15 states and have to file tax returns in all of them. To do this, we have an operations team that manages the paperwork, legal service providers to ensure we’re compliant, a multi-state payroll provider, and accountants. If this sounds difficult, it's because it is, but we do it so you don't have to.
- Sometimes consultancies will hire junior developers and try to pass them off as senior, charging higher rates. Therefore, you must determine exactly who will be working on your project prior to signing any contracts. At FullStack Labs, each team member has a profile page outlining all their relevant professional experience, education, specialties, projects they’ve completed, and blog posts they’ve written. Here’s the profile page for Mike Godshall, one of our senior developers.
- Some consulting firms will charge a flat hourly rate for every developer at their company, regardless of each developer's experience level. At FullStack Labs, we don’t play these games. Each person assigned to a clients’ project has their own hourly rate that reflects their level of expertise and experience.
- Some consultancies charge weekly or monthly rates instead of hourly. This is a big red flag as you are not guaranteed a set number of hours. Some consultancies even go so far as having their developers only work four days a week. The result is the hourly rate you end up paying is much higher than the hourly rate they quoted you. At FullStacK Labs, we don’t engage in these tactics. We only bill for time actually worked. All of our developers track their time down to the second using Toggl; this way, you don’t pay for sick days, vacations, federal holidays, or half days. And we send detailed reports to clients daily, showing all hours worked the previous day with a detailed description of what was completed.
- Since consultancies have many clients, you’ll need to make sure they have time for your project and that developers will be 100% focused for the agreed-upon number of hours each week. Also, smaller consultancies might not have enough developers for your project, so keep an eye out for that.
- For consultancies in the United States, you can expect to pay anywhere between $100 and $250 an hour for engineers, depending on their level of seniority.
- For nearshore consultancies (South America) you can expect to pay anywhere from $35 - $70 as an hour for engineers, depending on their level of seniority.
- Consultancies located in cities like Los Angeles, New York, and San Francisco generally charge more than consultancies in smaller cities.
- Large consulting firms like Accenture often focus exclusively on enterprise clients and charge a correspondingly high rate.
- The technology focus of the consultancy also matters. Shops that focus on cutting-edge technologies like React, React Native, GraphQL, etc. will often charge more than those that focus on older technologies like .net and java.
As you can see there are pros and cons for each option: freelancers, consultancies, and employees. Ultimately the decision depends on the circumstances of your business, what kind of funds you have, who you already have on staff, and what kind of projects you’re looking to build. If you’d like to learn more about how FullStack Labs’ consultancy works, don’t hesitate to get in touch today.