-- This post was originally posted in Admios' blog.
You're an entrepreneur who wants to develop an amazing digital product. You’ve got the killer idea, the marketing team, the business model, and yet there’s one thing that’s proving harder than usual: hiring the software developers.
You’re not technical, nor is that the best use of your time. Software is foreign to you, the languages and frameworks are scary, and you’re not even sure what’s the best way to conduct technical interviews.
Essentially, you have three options:
- look for freelance developers
- hire a software development firm
- hire full-time developers to work in-house for your company
There are tradeoffs you’ll make regarding quality, skill sets, cost, and availability.
Let’s explore these options and look at the pros and cons for each approach:
What is it? Freelancers are developers who work independently. They’re usually a one-person team or can be found as collectives, with groups of usually 2-4 people.
When are freelancers the best fit? Great for projects that have an expiration date. They’re best when the projects are small and fast like Minimum Viable Products (MVPs), integrations, prototypes, etc.
When may they not be the best fit? They may not be the best fit when you’re building a product expected to last a long time. Because you’re only working with them on a project basis, they could acquire new projects and are not likely to help maintain the software after the project is done.
What to look out for when hiring freelancers?
- Make sure to request documentation for the code-base: how to get it running, how to deploy it, what’s the software stack used, where to find the environment variables, how is the database structured, where to find key information, etc.
- Documentation is always important - it’s what enables new developers to get up to speed fast. However, It gains even more relevance when hiring freelancers because they’re not expected to last in projects a long time. Documenting their work is often the best way to keep the code-base alive over time.
- Tests: can slow down the progress, but will help enormously if the project is meant to last longer term since they enable future developers to better the code without breaking things elsewhere.
- Relatively lower prices: Asian countries, most famously India, have some of the lowest rates for freelance developers, ranging from $18-25 per hour. Average rate for African countries will be $40-50. Eastern European countries will have a wider range from $25-40. However, these can go up to $80 depending on the level of expertise of the developer and scope of your project. Latin American developers are similar to Eastern Europe, ranging from $30-50 and up to $110 for enterprise-grade software. The most expensive engineers can be found in the US, Australia, and Western Europe with hourly rates from $70-250.
- They're not hired in-house, so you don't have to worry about providing them with permanent contracts or work benefits. You also have more options in case the collaboration doesn’t work as expected.
- It’s a good way to trial a developer and test out your idea before committing permanently to the project.
- If they don't speak your language, this could make communications harder from a managerial perspective, as well as from a software perspective. If the software is not designed entirely in English, this may make it harder for future developers to join in and keep supporting it.
- If the developers are in a different country, you hold no commitment to them. They may disappear or not finish the project, putting your company at risk. This is why fetching legitimate reviews beforehand is critical when hiring freelancer developers.
- Not being in the same timezone can be a problem when it comes to tracking progress and scheduling meetings to coordinate feedback.
- What's cheaper can also come more expensive in the long run. If they're only hired for a specific project, keeping the maintainability of a project later on can be harder - especially if the developer didn't leave documentation or tests.
Software development firm
What is it? A software development firm is an organization filled with software engineers, QAs, Project Managers, and other technical roles waiting to be tailored to your project. They’re pre-vetted, technically affluent, and hand-picked specifically to your requirement needs. You can see it as the sweet spot between freelancers and in-house developers. This is what we have been doing for over 15 years at Admios.
Where can I find software development firms? The easiest way to find firms is through ranking platforms. They filter organizations based on reviews, skill sets, budget, etc - making it super friendly for entrepreneurs to find the right talent. The most renowned ones in this space are Clutch, DesignRush, or GoodFirms.
When is a software development firm the best fit?
- They’re great for when you want to augment the size of your current team. Engineers easily integrate into existing projects and help you scale without you going through the struggle of hiring technical talent permanently within your company.
- They’re great for when you want some specialized technical skill on a given framework or language.
- This option also provides the most flexibility as you scale your organization up or down, balancing your product velocity needs or cash flow constraints to the amount of developers hired.
When may they not be the best fit?
- Software development firms are not the best fit if you just want to build cheap. Because they’re usually more experienced, they tend to focus on quality, which means proper documentation and extensive testing mechanisms may lengthen the timeline and complexity of projects.
- They’re also not the best when you know your product will live in the very long term, at which point you’re probably better off hiring in-house. We’ll talk more about why below.
- Different time zones can also be an issue if you have developers working while your team is asleep. The best fix here is usually to hire a nearshore development firm who lives within your same time zone.
What to look out for when hiring software development firms?
- Making sure they have an office culture that aligns to yours is important, so they’ll integrate easily with your existing team.
- The benefits software engineers get within their firm also help measure the ownership and motivation the team will have.
- Checking out their recruitment process in detail is crucial, since this will essentially be the hiring filter for your team.
- If the firm has a US presence, you’re protected by US law in case things go sideways.
- They’re best for when you want flexibility in team growth.
- Sometimes you'll need 10 developers, other times you'll only need 2. Sometimes you'll start with one language, then pivot and realize you need a different skill set and framework to build your product.
- Software development firms are great in these situations because you're not having to hire and fire people as your product adapts to market necessity.
- They have experience building several accounts, so your products benefit from the diverse experience set.
- Because the software development firm has previously vetted them, you can trust developers won’t run away or leave you with incomplete code.
- Because they are a formal company, you can trust their work and reputation based on the company's portfolio and reviews on platforms like Clutch, DesignRush, or GoodFirms.
- They can be pricier than a freelance developer.
- After working with them for a long time, you're better off hiring an in-house development team because it gives you more control over the employees and their benefits.
- You’ll need to sign longer commitment contracts than you would otherwise if you hired freelance developers (usually 3-6 months minimum).
- You won’t be involved in the developer’s interview process (although you probably don’t want to be anyway).
What is it? You hire software engineers to work permanently within your organization.
When is hiring in-house developers the best fit? Hiring in-house best when your main product is digital and you are willing to make the investment in time and money.
When may it not be the best fit?
- It may not be the best fit when you’re just getting started and you’re not a technical person.
- When you need a specific skill set, but don’t have the experience to hire directly.
- If you live in a competitive region where hiring quality development talent can take 6-12 months and you need something faster than that.
- When you don’t have a mature recruiting team and don’t want to waste your team’s time sourcing, recruiting, interviewing, and hiring candidates.
What to look out for when hiring developers? Hiring developers can be expensive, complex, and lengthy based on your requirements, so you want to make sure you’re hiring the right technical skills and cultural fit for the job. It’s best to have a professional Technical Recruiter to help strategize when hiring in-house.
- Great for when you have a product that has already been tested on the market. Once you know your product will last longer-term, making the hiring investment becomes increasingly worth it.
- You have control over hiring the talent directly and retaining them with benefits tracking their developer progression.
- If you still haven't tested the market, a lot may change in your product and organization as you scale and grow. Hiring in-house means you may invest a lot of time and money in developers upfront, who may not necessarily fulfill the necessities your company is looking for in the longer term.
- Since you’re the one hiring them directly, you’re in charge of work benefits, increasing compensation, and technical up-scaling activities. This has an additional cost of maintenance to your organization worth considering, especially if you’re still starting small.
- Harder to break the contract if collaboration doesn’t work out.
- Takes longer, especially in competitive regions like Silicon Valley, New York, Boston, Seattle, and Los Angeles
These strategies are not exclusive from one another and a blend of options is often the best approach.
Depending on where you are in your development journey, you may consider different strategies. You may hire a CTO in-house full-time, while outsourcing the rest of your talent from a software development firm, for example. Or hire a freelancer to help with a specific aspect of your code, while having an agency maintain your active code-base.
The most important thing is to align your needs to your current situation and map out a longer-term vision of where you want to source talent from.
If you’d like to learn more about working with a software development firm like Admios, click here to schedule a quick call with us.