Battling Technical Debt

This is an article from DZone's 2023 Development at Scale Trend Report.

For more:


Read the Report

When we talk about technical debt, we're talking about an accumulation of legacy systems, applications, and data that have suffered from a lack of code reviews, bug testing, and comprehensive documentation. Not all technical debt is inherently bad compared to the commercial and end-user benefits of meeting application deadlines and shipping faster than your competitors; however, there does come a time when unaddressed technical debt can leave a company in a world of pain. 

The Engineering Leader’s Guide to Code Quality Metrics

Tech moves fast. As deadlines get closer, it can be tempting to code fast to get it shipped as quickly as possible. 

But fast and good don't always equate. And worse, where there's dud code, there's a chump stuck refactoring their predecessors' dirty code and dealing with a mountain of technical debt. And no one wants that to be you. 

Low Code and No Code: The Security Challenge

This is an article from DZone's 2022 Low Code and No Code Trend Report.

For more:


Read the Report

Many companies are looking to low-code and no-code platforms to build apps in the visual environment. They provide the opportunity for faster app development and reduce the dependence on highly skilled developers. Companies may hire less experienced or only minimally trained staff (I’ll call them citizen developers) to meet service gaps and to respond to skills shortages, ensuring their larger dev team can focus on more advanced projects. 

An Engineer’s Guide to TODOs: How to Get Things Done

We've long been promised a world where automation and other tech would free up our time to focus on more creative, rewarding pursuits.

However, we still find ourselves battling with small, but time-sucking tasks. We all want to surrender ourselves to the deep focus we need to complete more important work, but there are two big old-time sucks:

The Engineer’s Complete Guide to Backlog Grooming

You might be an organized checklist kinda person, or you might be hopelessly unorganized like the rest of us. It’s generally not such a big deal until you get overloaded with tasks and your team grows, making things even more confusing as you can’t decide each day what to prioritize.

Fortunately, there’s a way forward.

Software Engineering Best Practices That High-Performing Teams Follow

Maybe you're a newbie dev, in a coding academy, or newly graduated. Or perhaps you're old and cynical like me. The reality is, tech moves fast, and it's easy to get distracted by the latest software, tool, or trend.

But while you're floating in YouTube videos, Reddit boards, and StackOverflow, we've got something to keep you anchored: the good coding practices in software engineering. I've deliberately approached this article with broad strokes to move a little beyond the typical laundry list. Let's take a look at the software engineering best practices that high-performing teams follow.

Is 2021 the Year of the Internal Developer Platform?

The last decade has seen massive shifts in software engineering tools, processes, roles, and teams as developers seek to streamline and automate processes to improve the speed of software releases and facilitate continuous delivery. Teams (especially those scaling up) are looking for ways to boost productivity but prevent an influx of burnout, technical debt, and organizational instability. As many organizations shift from monoliths to microservices, teams are looking for ways to maximize efficiency and reduce pain points. One way forward, especially as organizations scale is to change the configuration and function of teams. 

Seminal texts such as Matthew Skelton and Manuel Pais’ Team Topologies offer a ‘how to’ in organizational design and team interaction, especially for software development teams. But it’s not only about improving team configuration for optimal value but also the tools used by these teams. 

How Product Manager Can Help Reduce Technical Debt

Product managers have extensive knowledge and access to a company's different departments and stakeholders. This makes them ideally placed to create a workplace culture around preventing and responding to technical debt. We offer some strategies that can help.

According to Gartner's 2019 product manager survey, only 55% of all product launches take place on schedule. This is significant as product managers who typically launch on time are more likely to meet their internal targets within a year of launch. Of the 45% of product launches that are delayed, 20%, on average, fail to meet their internal targets.

Developers Share How They Prevent and Manage Technical Debt

Plenty of people have written about technical debt. They might be discussing it in the context of improving velocitycode churncode refactoring, or it might just be an item on a very long to-do list that never gets prioritised. We put out a call out for real-world experiences of what helps when it comes to reducing technical debt and received a huge number of responses from devs across a variety of sectors. In the previous article, developers told us about their technical debt horror stories. Here’s what they had to say about how to manage and prevent it:

1. Treat Technological Debt as a Tool Rather Than a Scourge

“Technical debt, like financial debt, is more likely to become an issue if you ignore it or act as if it doesn't exist. Instead, accept it and regard it as a method that needs constant attention and maintenance.

Developers Share Technical Debt Horror Stories (Part 1)

Profit Loss

Arthur Linum is a technology consultant. He shared some of his experiences with me: 

—I was the consultant for a startup that had accumulated substantial technical debt. They had rushed to meet tight deadlines to position themselves at the forefront of the market, and this had led to code that was quick and dirty. 

The Engineer’s Complete Guide to Code Quality

You might not realize it, but you probably know when you see bad quality code. It might be written in a way that doesn't make sense, be full of errors, excessively verbose, or highly inconsistent in its use of terminology and naming conventions. Fortunately, there are lots of ways you can improve your code quality, make it easier to review and test and reduce the pain later of having to fix all of the errors. Let's take a look.

The Basics of Code Quality

Code quality refers to the attributes and characteristics of your code. These may differ according to your organization's specific business focus and the particular needs of your team. While there's no definitive checklist, there are broadly several things that separate good quality code from poor quality.

6 Reasons to Start Managing Technical Debt in 2021

Introduction

The pressure has never been greater on developers: to move from legacy to modern infrastructure, to reduce inefficiencies, and create products that build customer satisfaction and increase revenue. Many enterprises are moving forward with a DevOps mindset, but in all their progress forward, they may be forgetting one thing, technical debt. Indeed, devs may be moving fast and breaking things, but never actually fixing them. In response, technical debt builds up, resulting in a downturn in engineering productivity and significant costs to an organization.

Earlier this year, Umser Mansoor did a small survey of developers for Codeahoy on technical debt. Out of 91 respondents, it found that 68% of developers said they work on products with high or very high amounts of tech debt. Technical debt costs companies $85bn annually, but it also has devastating impacts on engineering teams.

Ultrasonic Soundwaves Create Touch-Free Tech Solutions

Social distancing and isolation have become our reality, quickly changing the way we go about our daily routines, from how we shop to how we work. The world is searching for new ways to limit our exposure and stop the spread of COVID-19. I recently saw a photo of an elevator in an apartment block in China. 

A Chinese apartment highrise could consist of over 30 floors, so walking isn't an option, but how do you operate a lift without touching the buttons? The property manager stuck a sponge to the wall, and it was stuck with toothpicks for button-pushing. An ingenious DIY hack, but what if there was another way to create contactless connections using technology? 

Is Blockchain Tech the Solution to IIoT Security Dilemmas?

Digital transformation and the convergence of IT and OT in the industrial space have resulted in considerable challenges in securing infrastructures. This includes power grids, nuclear power plants, oil rigs, Supervisory Control and Data Acquisition (SCADA) systems, and machinery in factories and locations that traditionally have enjoyed security by obscurity. 

While IoT provides critical data insights, it also means systems are vulnerable to cyberattacks, and network-level protection is not enough. Working with data brings significant challenges, from data generation, transportation, and storage to controlling data access, analytics, and sharing amongst multiple parties. To deal with these challenges, organizations need new tools, processes, and cybersecurity architectures. 

Elevated Signals Shows How Technology Provides Great Benefits to Agriculture

When you think of agricultural technology (agtech), it seems something of a contradiction. Agriculture involves growing crops. There’s no real-world shortcut or fast track in that plants require planting in appropriate seasons with access to light, water, nutrients, and time to grow. By comparison, tech is about speed, rapid prototyping, and timely deployment. But today's cannabis farmers are using technological innovation to improve the health of their crops, effectively monitor their yield, and comply with government regulations. Today's crop grower is more likely to carry an iPad than a pitchfork and consult a data platform instead of an almanac.

One company leading the way is Canada's Elevated Signals. The company has created a digital production management platform that leverages wireless IoT (Internet of Things) sensors and modern software tools to help optimize crop production and manage complex compliance requirements. 

The Challenges of Opportunities of COVID-19 for IoT and Innovation

COVID-19 has hit globally with a reach and scale far beyond what we could ever have imagined.  Besides the significant impacts our health and that of our families and friends, how we live our daily lives has shifted. Our home is no longer a haven but a powerhouse of work, leisure and childminding and everything in between. 

I live in the city of Berlin, a city that is a mish-mash of innovation adverse and innovation when it comes to daily life (despite whatever attestations you here about Germany and efficiency). Before COVID-19, cash was king. Faxes and posts were still commonplace when it came to dealing with healthcare and government officials — OK, you mostly had to submit paperwork in person. GDPR and privacy are prioritized over digital tracking (stay tuned for an additional article expanding on this). It may be 2020, but the ICILS (International Computer and Information Literacy Study) in 2019 found that only 26.2 percent of young people in Germany attend a school where both teachers and students have access to a WiFi network. This puts Germany behind the international average of 64.9 percent. 

Can Smart Thermometer Data Predict the COVID-19 Pandemic?

Rapidly identifying emerging epidemics remains a massive challenge that limits our ability to effectively curtail outbreaks, such as COVID-19. In response, smart thermometer company Kinsa has developed a method to identify anomalous influenza-like illness incidence (ILI) outbreaks in real-time using their county-level illness signals, developed from real-time geospatial thermometer data and highly accurate 12-week illness forecasts. Through their analysis, Kinsa flags anomalously high incidence data by comparing real-time ILI to expected seasonal influenza trends, where these expectations are generated from geo-specific influenza forecasts made from a point prior to potential outbreaks.

Creation of The U.S Health Weather Map

Farmobile Shows the True Value of IoT Data

When you think of data monetization, you're probably thinking of data generated from cars (the ultimate computer on wheels) or perhaps wearables, and then sold on through a marketplace. But, today's farm is a hotbed of data analytics, taking the lead from laboratories and factories. Data enables farmers to gain critical insights to assist with precision agriculture, including planning, water and fertilizing, yield optimization, etc. But, it also is a product that can be bought and sold and a former commodity trader has created hardware and a market place to sell this data. That company is Farmobile.

I spoke to CEO Jason Tatge to find out more. Jason shared: