Code Debt is the result of borrowing against future effort to speed short term delivery of code- the cost inevitably being paid back with interest when it must be fixed to be upgraded or changed.
Ben Horowitz points out that the concept applies elsewhere- like managerial debt, which is often paid back with politics and leadership crises.
I speak, on occasion, with IT Leadership that takes deep pride in hobbling systems together to minimize software and hardware costs. They often cut head count by training their users not to ask for help or expect too much.
Whether they know it or not, they are incurring several kinds of personal debt:
- Skills debt – mastery on antique systems is far less valuable than keeping up with the industry.
- Career debt – The employers you would want to work for don’t hire employees who are expert in the status quo.
More commonly, IT struggles to communicate or persuade the business to invest in better technology. The business takes on some other kinds of debt.
- Stability Debt – Bad technology leads to more outages
- Technological debt – Companies with bad technology are less competitive.
- Human Resources debt – Bad technology repels good talent
Eventually, every debt is paid.