Designing Support-Friendly Software: Transforming Operational Efficiency from the Ground Up

Introduction Over the past twenty years, I have worked in various companies, from fast-growing startups to enterprises. The lack of support-friendly software design and development practices remains a recurring challenge. Neglecting support considerations during the design phase often results in frustration across teams—support agents struggle with diagnostics, developers are pulled into frequent firefighting, and users face prolonged … Read more

Unlocking Developer Efficiency: A Practical Guide to Internal Developer Portals

Summary Have you ever felt overwhelmed by the sheer number of tools and systems developers have to juggle daily? Or maybe you’ve noticed that onboarding new team members takes longer than it should? These are common challenges that many software development teams face today. What if there was a way to simplify this chaos, streamline … Read more

Rethinking Technical Debt: A Pragmatic Approach to Software Maintenance and Housekeeping in Development Teams

In the realm of software engineering, the term “technical debt” has long been a go-to explanation for many of the challenges we face in maintaining and evolving systems. It evokes frustration, slowdowns, and the sense that something was done wrong in the past that now demands our attention. But while nearly every developer, designer, and … Read more

Sustainability and Carbon Footprint in Software Architecture, and Development

Introduction: In our increasingly digital world, the carbon footprint of software has become a critical concern. Data centers, the backbone of our digital infrastructure, consume vast amounts of energy. In 2020, data centers accounted for approximately 1% of global electricity use, equivalent to about 200-250 TWh per year. To put this in perspective, if we … Read more

Expression Trees 2: Creating a Business Rule Engine

In the previous post, I covered the basics of expression trees, including their structure and how to create them in .NET. Now, let’s dive into a real-world example: building a simple Business Rule Engine (BRE) using expression trees. This engine will apply discount rules based on certain conditions. Scenario: Discount Calculation Imagine you are working … Read more