top of page


A personal blog addressing software quality across all aspects of software development, testing, design, and people.
Search


The Modern Software Engineer: Why Coding Alone Is No Longer Enough
For decades, software engineering has largely been synonymous with writing code. Job descriptions focused on programming languages, algorithms, frameworks, and technical expertise. The best engineers were often measured by the quality, efficiency, and quantity of the code they produced. While these technical foundations remain critically important, the role of the software engineer has evolved dramatically. Modern software is no longer built in isolation by individuals workin
Craig Risi
Jul 107 min read


Building a Security Culture in Engineering Teams
Security is often associated with tools: vulnerability scanners, firewalls, monitoring systems, and automated security gates in delivery pipelines. While these technologies are essential, they cannot secure software on their own. The strongest defence against security threats is not a tool; it is the mindset of the engineers who design, build, and operate the systems. Organizations and teams that consistently deliver secure software understand this well. They invest not only
Craig Risi
Jun 55 min read


Reliability and Recovery Metrics: Measuring Your Ability to Withstand and Recover from Failure
In the previous blog post , we looked at the importance of measuring quality and stability. These are important to ensure failures are reduced and system design remains optimal for the user experience. In complex software systems, failure is inevitable; what defines high-performing teams is not whether incidents happen, but how quickly, safely, and confidently they recover. Reliability and recovery metrics measure the resilience of your delivery ecosystem and your organisatio
Craig Risi
Feb 275 min read


Turning Tool Data into Engineering Insight
I started writing in my previous blog post about the importance of metrics and how they provide detailed insight into the development life cycle and identify key areas for improvement in software delivery for teams. Before delving into the different metrics themselves, though, it’s important to look at how we actually gather the data in the first place. After all, there is no way we can gain insight into our delivery if we don’t have access to the data that provides it. How
Craig Risi
Jan 236 min read


Measuring Software Delivery: You are what you measure
The software world may be looking to always deliver innovation and new features faster. However, delivery speed alone is no longer a meaningful indicator of success. Teams are expected to deliver quickly and safely, sustainably, and predictably. Doing so though is a big challenge for many teams and the key to this improvement is understanding your software well and knowing what is going in in your software delivery process very well. This is where metrics play a critical rol
Craig Risi
Jan 94 min read


Learning the Art of Prompt Engineering
As the industry continues to rapidly adopt Large Language Models (LLMs) to power chatbots, copilots, search, automation, and decision support, one discipline has emerged as a critical success factor: prompt engineering. While LLMs are incredibly powerful, their outputs are highly sensitive to how they are instructed. The difference between a vague, unreliable response and a precise, trustworthy one often comes down to the quality of the prompt. Soemtihng which is a completely
Craig Risi
Dec 12, 20255 min read
bottom of page