If your company has a custom software product, technical debt is inevitable. If you aren’t familiar with the term, “technical debt” refers to the cost of reworking previously written code. The need to rework code can arise for a number of reasons, such as assumptions that have subsequently been invalidated or taking shortcuts to hit short term goals. It’s an incredibly common occurrence, especially when software is developed quickly, used as a proof of concept, to determine product-market fit, or to capture market share.
If you’re growing, learning, and pushing your product forward, then technical debt is going to occur. And it’s actually a good thing—it means you’re progressing. The problem is when technical debt begins to accumulate. Growth and innovation result in technical debt and, in turn, technical debt can stifle growth and innovation, if not managed properly. As it piles up, it can become a major roadblock for scaling an application or developing new features.
Addressing technical debt
The key is managing your product’s level of technical debt. Many CTO’s and organizations recognize they have technical debt, but don’t have the resources to address it. The first decision you have to make is this: Are you going to allocate and, more importantly, dedicate time for your internal development team to handle the challenge?
In our experience, many companies don’t want to dedicate their team’s time to address technical debt because time is money, and time spent cleaning up code decreases time spent on other areas of development, like new feature work. But, if they don’t, new feature work may come to a screeching halt and they will be forced to address the technical debt, whether you’ve budgeted for it or not.
Gas on the fire
It may seem counter intuitive, but we actually encourage our clients to hire an internal development team, or to structure their existing internal teams to help grow and maintain their software products. We recognize that it’s more sustainable for the long haul. But, some companies don’t have the luxury of time that it takes to build or structure the team they need to solve the immediate problem at hand.
My advice: Pour some gasoline on the fire! Even if your organization’s strategy is to hire internal developers or to restructure your team, it can be much less expensive to hire an outside consultant for a short engagement to solve your immediate need while you simultaneously work on building your internal team. This allows you to bring value to your company both now and later.
And, if your strategy includes building an internal development team but you’re unsure of how to go about doing so, I’d suggest checking out our [Apprenticeship Program] to see if it’s a good fit for your organization. A quick description: Gaslight puts together a team of both senior and apprentice developers to address your short-term goals. While writing production-ready code, our senior developers mentor and grow the apprentices into junior developers whom you are able to hire onto your team. Essentially a two birds, one stone solution!
Technical debt is something that you are going to face when building and maintaining a software product. The question becomes: What are you going to do to keep it from becoming a problem?
Whether you’re looking for an outside partner to help you address your technical debt, build your internal team, or even some combination of the two, our team has the expertise to make it happen. I’d love to learn more about your technical strategy, and how Gaslight can help you make it happen.