How To Solve Technical Debt: A Guide for Leaders

Technical debt is unavoidable in the software development process. Properly managed, it can be a potent tool that can drive genuine competitive advantage, just like a financial loan.

All too often, though, it gets out of hand. When we take on debts, we don’t understand the terms of, or when we don’t manage tech debt properly, there can be severe consequences. 

10 Must-know Patterns for Writing Clean Code With Python

What Is Clean Code?

This quote from Bjarne Stroustrup, inventor of the C++ programming language clearly explains what clean code means:

“I like my code to be elegant and efficient. The logic should be straightforward to make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy, and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. Clean code does one thing well.”

3 Best Tactics To Prevent Technical Debt as an Engineer

The expression technical debt gets thrown around a lot and every Engineer knows that it slows down the development process. In this article, I want to give practical advice that your engineering team can manage and solve technical debt without spending a lifetime on it.

Let’s Define Technical Debt...

Often technical debt refers to a rushed development process or a lack of shared knowledge among team members. However, don't forget that in many cases technical debt is inevitable and is part of a normal software development process.

10 Must-Know Patterns for Writing Clean Code With React and Typescript

Introduction 

React is a JavaScript library, and it is the most popular and industry-leading frontend development library today. JavaScript is a loosely typed language, and as a result, it catches runtime. The result of this is that JavaScript errors are caught very late and this can lead to nasty bugs. As a JavaScript library, React inherits this problem.

Clean code is a consistent style of programming that makes your code easier to write, read, and maintain. Anyone can write code that a computer can understand but good developers write clean code – code that humans can understand. Clean code is a reader-focused development style that improves our software quality and maintainability.

The Power of Code Refactoring: How to Measure Refactoring Success

Code refactoring provides a well-needed mental break for developers, and I think many devs can relate to this. Writing code all day is very demanding, especially if you create new functionality day by day. It’s a taxing exercise, and developers often need some space to think about the codebase's overall organization and look back on what can be improved.

This is exactly what code refactoring does. It provides this well-needed mental break for developers, and it gives them the chance to tackle higher-level, codebase-related issues. However, it’s also a great moment to check your code against the codebase guidelines. No codebase is perfect. Small faults against the guidelines make it to the “main” branch.

8 Top Metrics for Measuring Your Technical Debt in 2022

Much like running up bills on your credit card, technical debt can easily get out of hand. To avoid this happening, you need to keep track of how much debt you’re building up.

Technical debt metrics are designed to help you make sense of all the data you collect. There are many different metrics to choose from nowadays, and plenty of tools for recording the data.

10 Must-Have VS Code Extensions to Improve Your Productivity

1. Live Server

Live Server allows you to see code changes reflected in the browser. It launches a local development server with a live reload feature both for static and dynamic pages.

Every time you save your code, you'll instantly see the changes reflected in the browser. You'll be much faster at spotting errors and it's much easier to do some quick experiments with your code.

The Cost of Technical Debt

There are many ways in which technical debt costs us money: lost deals, customer churn, employee churn, lawsuits, and more. However, there are a couple of issues that are more important than others: engineering time, morale, and the missed revenue from software delays.

Engineering time

The Engineer’s Guide to Writing Meaningful Code Comments

In most cases, you aren’t the only person working on the same project or codebase. That means that other people get to read your code and have to understand it. That’s also true for the code comments you leave behind. Developers often write ‘quick and dirty’ comments without much context, leaving other developers clueless about what you’re trying to say. It’s a bad practice that creates only more confusion than clarifies things.

So, yes - you should be bothered with writing meaningful code comments to help other developers. A code comment that describes the function, the reasoning behind the function, and its input and output will speed up the learning process of other developers. Especially for junior developers, this information comes in handy when learning the code.

How to Maintain a Healthy Codebase While Shipping Fast

One of my greatest privileges building Stepsize has been hearing from hundreds of the best engineering teams in the world about how they ship software at pace while maintaining a healthy codebase.

That's right, these teams go faster because they manage technical debt properly. We're so used to the quality vs. cost trade-off that this statement sounds like a lie—you can't both be fast and maintain a healthy codebase.

Technical Debt: Interview With Adam Tornhill and Alex Omeyer

Last week we hosted a webinar where Alex Omeyer interviewed Adam Tornhill about technical debt: what is it, why it's important, and how to manage it effectively. For this article, we've chosen some of the most interesting questions we've got from the audience. If you're curious to learn more — check out the full version of the webinar.

Alex: I'm Alex, the Co‑founder, and CEO of Stepsize. I spend all of my time talking about technical debt with Engineering team members, and I'm genuinely pumped to have Adam, CTO and Founder of CodeScene, with me today.

7 Examples of Sneaky Tech Debt and How to Spot Them

At Stepsize, helping high-growth software companies measure and manage technical debt is our business. And this means we get to spend our days with some of the best engineering minds out there.

We've listened to their stories, and analysed hundreds of thousands of lines of their code and contextual data, to identify the signals of technical debt in all the noise. Following on from our broader definition of tech debt, in this article we'll share some examples of technical debt that we've spotted in the wild, to help you identify it in your own codebase — before it catches you off-guard.

How to Convince People to Deal With Tech Debt

In this post, I'll share with you how the best in our field make the business case for any given piece of tech debt.

Apply these lessons and you too will be able to understand which debt you should address first. They will help you unlock the resources you need by enabling you to convince your colleagues — especially senior management — that this is the right move.