Ah, AI. It's getting everywhere, isn't it? It has us fascinated and sometimes maybe a little spooked.
Time for the truth: teams that don’t leverage AI will fall behind.
Tips, Expertise, Articles and Advice from the Pro's for Your Website or Blog to Succeed
Ah, AI. It's getting everywhere, isn't it? It has us fascinated and sometimes maybe a little spooked.
Time for the truth: teams that don’t leverage AI will fall behind.
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.
This article will guide you through the process to craft a technical debt proposal to justify the time spent solving technical issues.
Technical debt is a slow killer of an engineering team’s productivity. At first, technical debt might not seem to be a blocker, but it can hinder your team’s efficiency as time progresses.
In a previous article, we looked at sprint velocity best practices. But how do we measure our velocity to know how long each sprint is going to take and plan ahead?
In this guide, we’re going to dive into:
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.”
My last article on 10 VS Code Extensions to Fight Technical Debt got over 50.000 views and 500 reactions.
It doesn't surprise me as today I see many Engineering teams under huge pressure to build fast and often lacking time to fix and clean up their codebase.
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.
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.
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.
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.
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.
React is a component-based open-source JavaScript library for building user interfaces. It is used for handling the view layer in web and mobile applications, and it is great for building single-page web applications.
Some of the features of React are:
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.
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
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.
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.
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.
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.
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.