Building a successful startup isn’t easy. The path from validating the idea, through its execution, starting with a proof of concept, going through a prototype, raising the funds, up to this magic moment when you have your MVP and your customers are willing to pay for your product… Well, the path can be long and bumpy. We’ve written about the challenges of first steps before, so if you are facing them right now, feel free to skip to the following articles:
This time, we will focus on execution.
It is said that to build a successful startup, you need a Hipster, a Hustler, and a Hacker.
Hustler is the person who takes care of the business part of your startup, making sure it survives (and grows) in its early days. Hipster is your customer experience expert – the one who will make sure that your product meets the expectations of your clients and who will build your brand’s identity, making the product unique. The last one, Hacker, is your technology specialist. That’s for the theory. In practice, it may be tricky to have all of these roles on board from the very beginning. You may be the only founder, or maybe you have partners but none of you is a “Hacker”. Does it always mean that you need the third, technical, founder? Not necessarily. If the founders are not tech people themselves and they need extra hands to build the product, they may hire software engineers who don’t need to be founders. If they decide to do so, they can either build an in-house team or outsource. Both solutions have their pros and cons but today, instead of comparing them in general, we will focus on one aspect that is crucial to most startup founders: money.
What’s the point of outsourcing in software development when it’s not cheaper anymore?
Not that long ago, when anyone mentioned outsourcing in software development (or any other business area), it would automatically bring up some specific qualities. Outsourcing was a synonym for cheap. But it’s not anymore.
So, assuming that money is the only factor that we take into consideration and that there are no differences in terms of project management, communication or other business-related issues – outsourcing software development is no longer an alternative to building an in-house team. Or is it?
11 hidden costs of hiring software engineers
The first thing you need to realize when you decide to build your own team is that the average rate per hour is NOT the whole cost that you will have to pay. The real cost of hiring software developers consists of:
1. The actual salary
That’s the most obvious one. If the developers in your area earn $100K per year, that’s the exact amount that you’re going to pay. You are competing in a crowded market and you are not looking for volunteers.
2. Recruitment cost
As mentioned before, the market is crowded. And the costs of landing a person on the job are… adequate. In the IT industry, which currently suffers from a lack of qualified staff, the problem is widely seen. Standard recruitment costs in the UK tend to range between 15% and 20% of a candidate’s first annual salary, but this can go as high as 30% for hard to fill positions.
Mind that it’s not just a recruitment agency fee or the cost of posting a job advertisement, but also the cost of your time spent on the interviews. Hiring one developer may entail 20-30 interviews, practically consuming a whole work week. The precious time of a founder taken out of operations is often omitted in calculations but it does affect the whole process of product development and the time of its launch. Time needed for recruitment in London may take up to 9 months. This is the time that blocks your project and lets your competition pass you. During the time you struggle with hiring, your competition is able to deliver a working product to the market.
3. Office space, equipment & tools
You need to provide your team with hardware, workspace, office supplies, etc. Some of these, hardware, for instance, are non-recurring expenses, but most of them are the expenses that you need to cover every month. And there is software – licenses for IDE, Gitlab, Jira, and other programming and project management tools may cost around $100/month for a very small team but can also easily reach $1000 and more.
4. Obligatory public contributions, bonuses
What the software engineer wants to get paid is not the amount that you will actually pay. Depending on the country that your company is based in, hiring people may require you to cover various taxes, including public medical insurance or social insurance. So when you compare how much software engineers earn, mind that it’s only a part of the cost that you will need to cover. Add bonuses such as performance bonuses, health & wellness programs will grow the cost again.
On average, you are getting only 80-90 % of the time that you actually pay for. Calculate all the paid holiday (including bank holidays), sick leaves, maternal leaves, time for getting the employee back into the workflow after the time spent off work – these are all the days that you pay for but you are not getting a job done.
Data source: List of minimum annual leave by country
Of course, there are types of contracts where you pay only for the time that was actually spent on your project. But if you want to take the paid leaves away from your employees when other employers offer those by default, you need to offer something else instead – and that usually translates into higher hourly rates.
6. Team assembling
Building a development team is a process, and hiring software engineers doesn’t constitute success. To start working as a real team, they need to get to know each other, learn each others’ strengths and how to complement each other. Reaching efficiency in common operations may take up to 3 months of lower efficiency – which will affect your product’s time to market. How much will that cost?
7. Your time
Your vision combined with your developers’ skills is not enough to ensure successful product development. The fact that they are “technical” does not imply that they will know how to build the product. Neither do you, as a business person. There is a great angle to fail.
Also, if you don’t have much experience in project management, it will bd a lot of time that you could save if you knew how to describe the requirements, delegate tasks, and organize sprints. This is the time that you could spend on business development, strategy, acquiring new users, raising funds and other jobs that are related rather to your business than to a product.
8. Disturbance in the workflow
Hope for the best but prepare for the worst. People leave. They may get another job offer or want to relocate for some personal reasons. It will affect your workflow and other team members may not be able to cover for the missing person. Remember how long it took to recruit the right people and to help them grow as a team? At some point, you may need to go through that process again. In the meantime, your workflow will be disturbed and as you won’t manage to hire a new developer fast enough, you will lose a lot of know-how.
9. Disturbance in the workflow
Your project’s development phase ends, your financing ends. What’s next? You work to promote your product, to acquire customers, to earn money or/and to raise funds. None of these require having software engineers in your team. But you have to pay them, right? Of course, you have a lot of ideas for new features that they can build. But are these features really necessary at this point? The thing is, that your demand for developers won’t be linear. This is a common case in startups: you need three software engineers to build a prototype, then one developer to support bug-fixes when you show your prototype to the public, then three again to pivot, then two for hot-fixes and small improvements, then fifteen to let it scale. This means you need to secure funds to support a team of three software developers constantly and grow it to 15 before you scale not to lose time.
On the other hand, you can’t afford to fire them. You may soon need the development team again and you want to be perceived as a trustworthy employer. Once you can predict how much staff you need in your operations, hire away. Until then, it’s safer – in this case, for your brand image – to outsource short-term.
10. Lost talent
In certain areas, especially rich in programmers-hiring companies, the competition among employers is high. Let’s face the truth: if the top 10% of developers in your area are hired by Apple, Google, or Facebook, it will be difficult to compete with your offer. This means you may be able to hire a mediocre developer on-site or outsource top developers in another location, where the competition is not that high. App development companies based there are able to hire the best specialists in region and allocate them to your project.
11. Lack of knowledge
If you hire 2 developers, you’ve got 2 developers and StackOverflow. If you decide to outsource, you have 2 developers, StackOverflow, AND indirect access to the whole company that can back them up with knowledge in case they encounter any obstacles during development.
And there is one other thing. When you decide to hire developers, you search for a specific set of skills. You may be looking for Node.js development experts, someone who specializes in Ruby on Rails or in PHP. But how do you know which technology will be better for your project? Outsourcing companies work on dozens of projects similar to yours. Working in different technologies, they are able to help you choose the one that will serve your product’s needs best, suggest the right frameworks and tools, and they will tell you how to optimize the project.
Hiring vs outsourcing – how to decide?
When preparing a cost-benefit analysis of outsourcing and hiring an in-house team, try to consider as many factors as possible. Mind the maximum amount you can spend on the development of your product, the probability of changes in your requirements regarding the team size and composition, and the time needed to launch the product.
Software development is not cheap. It doesn’t really matter if you develop your app in the US or in Central Europe. What matters, though, are all the other factors related to the process of bringing your product to the market – the ability to build your team fast, to scale it when needed, to manage it efficiently, and to endure that there are no disturbances in the workflow. Each of them translates into specific savings – either in money or in time. If you consider all of them, it may turn out that what appeared cheaper on the first sight, is more expensive in the long run.
We welcome you to share your experience of building software products – both with your in-house developers and with outsourced teams. What were the biggest challenges of the development process? Write your stories in comments!