1. How entrepreneurs waste money on software
  2. Technical debt will run your business into the ground
  3. When is technical debt OK?
  4. You’re doing it wrong: Using “cheaper” developers
  5. You’re doing it wrong: Skimping on design
  6. You’re doing it wrong: Skimping on testing

Many entrepreneurs start with a dream and limited budget. They’ll cut any corners they can to ship something. But this minimum viable something is often not a something a user will enjoy using.  In the worst cases, the software will completely unusable and need to be rebuilt from the ground up.

Because unless you know exactly what you’re doing, reducing costs can increase risk and reduce value.

Even if you can find someone to work for free, it’s easy to add code that removes value from your software. And even with a top-quality development team, delivering the wrong software never provides value.

Developing quality software can seem expensive, especially when you’re only considering the upfront cost. And because a big chunk of that upfront comes in the form of hiring the people who’ll build that software, it can be tempting to try to reduce these by skimping on your developer costs. 

This post will explain the drawbacks of that approach.

Hey, I’ve got a cousin who’s really good with computers…

Simple projects or small changes can sometimes be handled by a tech savvy relative or friend. Need to update some text or tweak some colors? Phone your nearest tech-savvy friend. But proceed with caution, because placing important code that runs your business in the hands of an amateur can cripple your company.

Are they backing up the code so you can recover from a mistake? Are you willing to risk them wiping out your customer database with one mistyped query? Mistakes happen; a professional will make sure mistakes won’t take down your company.

On the other hand, you could get lucky. I’ve got a cousin who’s pretty good at computers…

What about offshore developers?

There are many companies that specialize in hiring developers based outside of the US. Be careful.

There are many talented developers based offshore, and just as many things that can work against the success of your project.

It can be difficult to assess the technical proficiency of the developers that you’re hiring, especially if you’re dealing with a language barrier. And it’s easy to underestimate how challenging it can be to navigate different time zones, a project management nightmare that can negate much or all of your potential cost savings.

In addition, turnover is high in offshore markets because even less experienced developers are in demand and can get pay raises by switching companies frequently. That means you often will not have the same development team throughout the project. This is a big problem for companies operating in complex domains that take significant efforts to learn. Every time someone new joins the project, you lose valuable time (and institutional knowledge) because that person has to get up to speed with your domain and your code base.

OK maybe not a cousin, but what about hiring less experienced developers?

There is always someone who will offer to deliver what you need, more cheaply. There is a wide range of talent and experience in this industry, and we all have to start somewhere.

Smart, inexperienced developers may solve your immediate problem but not understand the long term implications of their decision or how it compares with industry best practices. They haven’t had the chance to learn from enough poor design decisions. The expert has failed more times than the beginner has even tried.

And then you’ve got the bottom of the barrel: developers who exist by copying and pasting code from websites or other projects. They often leave behind of trail of code that no one else can work with, or develop new features for (cousins and offshore coders are notorious for this). You’re forced to rebuild to add any new features (or fix what they said was working).

Upfront cost is a poor indicator of how much value a developer will provide your company. It’s better to let inexperienced developers learn on someone else’s dime.

There’s someone at my gym who’s a software developer, what about them?

Moonlighting developers abound. They’ve got steady jobs elsewhere, and take on other projects on the side. They can charge less than the developers who have to cover their living expenses with their rate. And they have a good chance of producing solid code in the short term if your deadlines aren’t critical. But sustained development cycles will be a problem: your timelines will suffer when their staff work hits crunch time or they have a child’s birthday party to attend.

So I should hire the most expensive developer I can for everything. How convenient.

No. Top developers aren’t needed for every task. Companies that develop software will have a mix of skill levels on their teams. This means senior developers will work alongside more junior members of the team, providing oversight and guidance. Strong teams will also have an understanding of how the required development skill affects the total cost of software development.

Smart entrepreneurs know how to balance the upfront cost with the risk of failure and maintenance costs. Using top developers reduces your risk of failure; intelligent application of a range of developers will provide value too.

In our next post we’ll go over the factors to consider when considering hiring developers with less experience. In the meantime, if there’s a project we can help with drop us a line.


Also published on Medium.