November 29, 2024

Justin Ammerlaan and Guy Coleman

Read Time: ~12 minutes

<aside> 📌 At Empower, we seek individuals who challenge personal assumptions, value ownership and trust, and strive for excellence to inspire and empower their team. If this article connected with you, join our team!

Join Empower.

</aside>

<aside> 📎 Struggling to balance speed, quality, and technical debt in your software projects? Discover actionable strategies to manage trade-offs, prioritize critical decisions, and deliver reliable products faster. Dive into insights from Empower's CTO, Justin Ammerlaan, and learn how to leverage technical debt without compromising on quality. Read now to transform your engineering processes!

</aside>

https://open.spotify.com/episode/0vKPKOXINaqgb4fqLwA2v5?si=5b1036844d2c4921

As engineers, we are constantly juggling the demands of delivering high-quality products quickly while also maintaining the integrity of our codebase. One of the most critical aspects of this balancing act involves managing technical debt, understanding what quality truly means, and making informed trade-offs. This post explores these concepts and offers insights into how teams can navigate these challenges effectively.

Our Co-Founder and CTO at Empower, Justin Ammerlaan has laid the foundation through years of experience building successful financial service products for how we can and should leverage “Technical Debt” and view and challenge concepts of “Quality” at Empower.

Understanding Technical Debt

"Technical debt" is a metaphor for the future cost incurred when opting for a quicker solution now, rather than a longer, potentially better approach. The alternative might be simpler, more flexible, adaptable, robust, or easier to maintain in the long run. Essentially, it’s the trade-off of immediate action for a known solution versus investing time in developing a potentially superior one. Like financial debt, it’s a form of borrowing now with the obligation to repay later.

“In finance, using debt as a tool is a way to leverage, or increase returns. In our case, in Engineering, it is a tool to create speed. It is an essential part of any financial strategy and also an essential part of the MVP process.” - Justin Ammerlaan

“Strategic use of technical debt can be a tool for creating speed and leveraging opportunities. However, like financial debt, it needs to be managed carefully. Accumulating too much without a plan for repayment can hinder progress and introduce significant risks to the project.” - Justin Ammerlaan

Just like with financial debt, technical debt needs to be repaid and should be repaid on a schedule otherwise the ‘interest’ starts to compound and the maintenance overhead becomes a massive burden. At Empower, we allocate 30% of engineering resources to non-product work, including technical debt.

Defining Quality