Artificial Intelligence
The AI developer tooling landscape has rapidly expanded from simple autocomplete to a complex ecosystem of assistants, agents, and AI-first environments. In this post, I propose a practical classification based on how AI is positioned within your workflow—from "arm’s length" tools like ChatGPT to fully "AI-first" environments like Cursor.
Tech
Learn about how Functors and Monads provide patterns to write cleaner, more composable, and robust code that helps us deal with operations like handling nulls, managing errors and sequencing asynchronous actions.
Testing
Developing a greenfield project inherently requires decisions to be made both up front and along the way that have the potential to dramatically steer the course of the journey. This is not just true for the development of the product itself, but also testing methodology and tooling.
Artificial Intelligence
In response to the FinTech Scotland innovation challenge we developed InferESG; augmenting ESG analysis and identifying potential greenwashing.
Sustainability
Oliver's reflections on the Sustainable AI and Data Centres type content at Data Centre World London March 2025.
Podcast
In this episode, I'm joined by colleagues Jess McEvoy and James Heward, and Atom Bank's Head of AI and Data Science, Russell Collingham, to explore the transformative impact of generative AI and the critical role of architecture in ensuring sustainable and scalable implementations.
People
Imposter Syndrome is a sector-wide problem and employers should be taking action to create an environment that works against it, not putting the problem back on the under-represented groups that feel it to solve. In this blog post I suggest some actions for the workplace to take in tackling imposter syndrome.
Artificial Intelligence
LLMs are not just limited by hallucinations—they fundamentally lack awareness of their own capabilities, making them overconfident in executing tasks they don’t fully understand. While “vibe coding” embraces AI’s ability to generate quick solutions, true progress lies in models that can acknowledge ambiguity, seek clarification, and recognise when they are out of their depth.
Tech
In this post we will see how Intersection types help us better model type constraints promoting reuse and how Union types increase code flexibility. We will compare and contrast approaches and how to use in the latest Java and Scala.
Artificial Intelligence
AI's potential is immense, yet clunky user interfaces and a lack of discoverability are holding it back from seamless adoption. To unlock AI’s true power, we need interfaces that guide, adapt, and engage—moving beyond the blinking cursor to something more intuitive, proactive, and, ultimately, more human.
Artificial Intelligence
AI doesn't have to be brute forced requiring massive data centres. Europe isn't necessarily behind in AI arms race. In fact, the UK and Europe's constraints and focus on more than just economic return and speculation might well lead to more sustainable approaches.
This article is a follow on to Will Generative AI Implode and Become More Sustainable? from July 2024. It's purpose is to challenge some of the narratives that the big tech players are pushing out
Tech
In this post we look at Variance in Generics and how it is handled in Java and Scala. We consider use-site and declaration-site approaches and the trade offs of erasure. Finally we take a look at Phantom and Existential types and how they can enhance the capabilities of the type system when it comes to modelling.
Testing
This blog aims to explore the effectiveness of Playwright snapshot testing for regression against visual UI elements.
Podcast
In this episode of Beyond the Hype, I'm joined by Bradon Rogers from Island, along with Scott Logic colleagues Dean Kerr and Robat Williams, to explore the potential of enterprise browsers to simplify security and enhance user productivity.
Testing
This blog explores the overlap between life in Business Operations and Software Testing. It examines the distinct skillsets required for each discipline and how they are applied in the world of business.
Podcast
In this episode, I’m joined by Technology Lead Andrew Carr and CTO Colin Eberhardt to delve into the evolving nature of technology strategies within organisations.
Artificial Intelligence
Last week the UK government launched their 50-point AI Opportunities Action Plan. The plan is ambitious, but it is something of a mixed bag. Some sizeable and worthwhile investments, alongside others which are quite questionable. But what I am more concerned with is what is missing. The plan has optimistic, upbeat and pro-innovation, but is rather silent on the risks.
Tech
In this post we explore the power of Algebraic Data Types(ADT) with Pattern Matching in Java. We look at how they help us model complex business domains and how using them together gives improvements on the traditional Visitor Pattern.
Open Source
A short blog about my experience developing on the vAirify project.
Tech
This post is designed for Java developers who want to adopt JSpecify for consistent nullability handling in their projects. By following the steps and examples, you should be able to set up and utilize the core JSpecify annotations effectively in your codebase.