Hiring cheaper developers in an attempt to save money on a project is often a false economy. In this post, we’ll talk about factors you should consider to determine when to invest in top developers, and when less experienced developers can still provide value.
Here are the factors you should use to determine how experienced the developers you hire to build your software should be.
Can you determine what quality work looks like?
This includes looking under the hood at the code, data & API and understanding how they work together. If you’re a non-technical founder without a CTO or technical co-founder, this is a major source of risk. Your developer may be delivering quality work, but you have no way to verifying that.
Many founders think they can judge quality work by test driving the software. This is a mistake. Just because a feature appears to “work” doesn’t mean it was implemented in a way that was efficient or scalable. Inexperienced developers can deliver code that seems to solve the problem in the short term, but they often build solutions that can’t be modified. You’re left with code that you can’t change without major (expensive) effort.
Need someone onshore to review your offshore code?
Do you know the difference between simple tasks and complex tasks?
A couple fields added to a dropdown menu could be a simple task or hugely complex one. A novice can often handle simple tasks. But putting a novice developer on a complex task is a recipe for disaster. Even if they can get the feature to work, they may be causing huge problems for the next developer who works on the project. Keeping the codebase in a state where you can continue to add new functionality is a challenge for even seasoned developers. Consider less experienced developers for simpler tasks, but make sure you understand the difference. If you need someone to help you assess the difference, let us know.
What’s the opportunity cost of failure?
Opportunity cost is an often overlooked cost of developing software. What happens when a feature doesn’t work correctly? Do your users notice? If your app is solving an important problem for them, they certainly do.
Non-working software hurts you in a number of ways. Your customers will lose trust in your solution. Even worse, you may lose them to a competitor. A frustrated user is only a few clicks away from publicly airing their complaints. Negative product reviews tarnish your reputation and scare off potential customers.
For line of business apps, software bugs can cost you millions in wasted effort and lost revenue. If your company is solving an important problem, top developers don’t seem nearly as expensive when you factor in opportunity cost.
Have you considered the opportunity cost of late delivery?
Hitting your deadlines can keep you a step ahead of your competition. As your market window closes, the value you can get from software development is reduced.  Some software is seasonal, and if your feature isn’t ready in time you lose out in revenue until next year – giving your competitors a chance to catch up with or even overtake you.
Customers lose trust in your solutions when you can’t provide solutions in the timeframe they were promised. Experienced developers know how to hit deadlines, or how to communicate when they are unreasonable. An inexperienced developer often won’t admit they’re over their head until it’s too late. It’s common for inexperienced developers to appear to make good progress until about 90% of a solution is complete. It’s then that their solution begins to unravel. You’re forced to bring in help for the remaining 10%, and this can easily double your development costs (assuming the existing work can be salvaged at all).
Is the functionality you’re building a core part of your business?
Your core functionality is the engine that keeps your company running, and upgrading your secret sauce is is no time to take chances on cheaper development.
You can often accept some risk on ancillary functionality, but keep your secret sauce in the hands of pros.
Investing in top developers for core functionality will allow you to develop new features and continue to deliver long term value. Ideally, you’d like people invested in your company (i.e. employees or founders) to be building the core functionality, since it’s what keeps you ahead of the competition. If in-house developers aren’t available or aren’t the right choice for you, make sure you turn to a smart development company with a solid understanding of these principles.
What else do you need to know about working with external developers? Check out this post about how you know when you’re ready to spend money on software. If this is not your area of expertise, find someone who can navigate these issues for you or contact us. We’d love to help.
Also published on Medium.