The True Cost of In-House Development
«It would cost me half as much to develop my application if I hired a developer myself than working with you guys.»
Yep, that’s true.
I’ve heard this sentence more times than I can remember, and my answer is invariably the same: “Yes, that’s true.”
Also, it’s followed by “But…”
While it’s true that having your in-house developer(s) is cheaper, on paper, than working with a software development shop, the reality is very different.
Before going any further, I need to tell you whom I’m talking about, and where I see the problem from.
Even though my point should remain valid for almost any scenario, the specific situation I’m in is being a Product Manager for a software development consultancy, and I’m getting this question from potential customers.
This answer targets entrepreneurs who are starting a new product or are early-stage in their venture.
These entrepreneurs are the most vulnerable to this economic paradox and the risks associated with making the wrong decision.
The Cost of a Developer
A developer can be cheap or expensive. It depends on many factors like development language, development experience, development processes, cost of living, etc.
It also depends on what format you choose. Freelancers will typically be more expensive than in-house hires.
To give out numbers, you can hire a developer for as little as $500 per month to $8,000 or plus per month. Again, depending on various criteria like the ones listed above.
Let’s ignore the extremes and imagine hiring a mid/low-priced developer (let’s say in the ballpark of $2,000 per month). This option will most likely be cheaper than working with a software development company. However, what do you get for this price?
Experience and Struggles of a Developer
The abilities, speed of development, and quality of code of a developer depend hugely on their experience and on their willingness to learn and improve. Even when there is the willingness to improve, there must be time as well.
On top of that, all developers -even the most experienced ones- encounter problems, unplanned difficulties, unforeseen tasks, bugs, and the list goes on.
What happens then?
They spend time debugging, researching, finding help. It is a typical process that all developers share.
What You Pay For
In the case where you’re hiring a developer, you will be paying for all of the above.
You will be paying for the time spent debugging, for the time spent researching, for the time spent learning, for the time spent finding help, and so on.
When you think that by hiring a developer you are getting more features done faster, you are, in fact, paying for more time spent on things other than features.
When working with a software development shop, you immediately cut down on time spent on things that are not directly valuable to your product.
Any software development shop will thoroughly evaluate developers before hiring them and will train them after hiring. Just like that, by working with a company like Nimble (the company where I work), you leverage professional training on top of the developer’s skills and experience.
For all of the other points listed above, each developer relies on the team knowledge and experience.
Buy One, Get One Free
Because of the team organization in a development company, the reality is that when you work with one developer, you get the knowledge and experience of many.
When a developer faces the usual “developer struggles” (unplanned difficulties, unforeseen tasks, bugs…) the first thing they do is to turn around and ask a colleague. That’s much faster than finding help online.
It’s also much faster to describe the struggle and brainstorm solutions face to face. Instead of paying for time spend on researching problems, you’re paying for time finding solutions.
Our Pain is Your Gain
There is one painful thing in every company: processes.
It is just as valid for software development. Probably even more than for the average company. To produce great software, we need to be meticulous, organized, and consistently follow processes.
Those processes are far from being easy to set up. They’re ever-changing and continuously improved. They cover things like the toolset, how to write code, how to track changes, how to test code, how to deliver the software.
Companies like ours spend a lot of time crafting those processes and improving them. It is one more thing that you leverage from day one working with a development house like Nimble.
To Hire or Not to Hire?
The best option varies from one company to the other.
As a general rule of thumb, however, if you have the budget for working with a software development consultancy, and your technical knowledge is limited, it is most likely in your best interest to find a partner who will accompany you in your journey to create a quality product.
Product Management and Ownership
This paragraph is last not because it’s not important. On the contrary, it is critical. So much so that it would deserve a separate article. However, it won’t impact the cost of your product, or at least not directly. It will affect your entire business.
If nobody on your team can be the translator between business and development; if nobody can translate the product vision into a product roadmap, then you are drastically reducing your chances of building a great product, and you are putting your entire business at risk.
Companies which failed because of a bad product are plenty.