« Why estimates never work | Introducing a new error handler for PHP projects » |
In the debate between developers and their employers, fixing technical debt is often seen as a cost center, a time suck that takes away from feature work. After all, when there are features to ship and clients to satisfy, taking the team off such projects so that they can rewrite what already works is seen as silly, costly or foolish.
But smart employers recognize that technical debt is more than an annoyance or a cost center. They recognize that technical debt has a chance of costing them good developers.
Developers hate technical debt. It’s annoying, it’s frustrating, and the struggle to find time to fix it is constant. Developers hate technical debt because it makes their jobs harder. It makes solving other problems harder. Technical debt, from a developer perspective, really sucks.
The problem here is that frustrated developers are unhappy developers. Unhappy developers have a tendency to quit. And given the fact that hiring developers is tough under the best of circumstances, this means that technical debt is actually costing your team skilled developers. And this costs money.
The loss of a single developer can cost a company $30,000 – $50,000, depending on the costs of replacing that developer. And the skills and knowledge they take with them can never really be replaced.
When considering whether or not to fix technical debt, it’s worthwhile to consider the frustration level of your development team, and the cost of replacing just one of those developers if they should choose to quit. Is the cost of fixing the debt less than the cost of replacing a developer? If so, the tech debt should be paid down, until the developers are happier and satisfied.
Brandon Savage is the author of Mastering Object Oriented PHP and Practical Design Patterns in PHP
Posted on 4/20/2015 at 8:00 am
James Nettik (@jnettik) wrote at 4/20/2015 1:43 pm:
“The loss of a single developer can cost a company $30,000 – $50,000…”
Out of curiosity, what are those figures based on?
Brandon Savage (@brandonsavage) wrote at 4/20/2015 1:47 pm:
There are a number of studies for HR professionals detailing the cost of replacing employees with high skills. The consensus is that replacing an employee costs ~50% of the employee’s annual salary. At $60k – $100k for developer salary, that would make the cost of finding, hiring and training an employee ~$30k-$50k. Of course, these figures are based on metro areas within the United States, where the median programmer salary is upwards of $80k per year.
Andrew Mulholland wrote at 4/20/2015 9:05 pm:
Would think $30-50k is a low ball sum for the cost of replacing a dev.
Recruiters often take 20-25% of first year salary, which for someone on $100k off the bat.
Then for the first 3 months or so they are maybe on average 50% productive due to learning, is that is a further 12.5%.
So that is 32% already, and in places where there is a lot of technical debt it can easily be 6 months before someone is fully productive
And that is not even considering the fact that someone who is leaving will not be fully productive for their last month or two.:
Brandon Savage (@brandonsavage) wrote at 4/20/2015 9:11 pm:
Don’t forget opportunity costs too. If it takes four months to fill a position in a company where the developer would bill hourly to a client, and they billed 32 hours a week at $125 an hour, that’s a lost opportunity cost of $16,000. Opportunity cost is harder to measure in companies that don’t bill out employees, and the calculation I did didn’t take into account lost experience, but the opportunity cost of losing an employee can easily be $20k. Not to mention lost billable (or productive) time doing interviews and hiring candidates.
« Why estimates never work | Introducing a new error handler for PHP projects » |