When you're embarking on a legacy modernisation initiative, it’s crucial to gain a holistic understanding of the project, and you need to be able to devote sufficient time to this and involve all the right people. In this blog post, I explore this further, describing the expert input you need to draw on, the role of leadership in this context, and the kind of up-front planning that’s required.| Scott Logic
Increasingly, I’m seeing that government procurement is not giving suppliers the chance to demonstrate their ability to deliver meaningful social value. In this blog, I explore what government procurement sets out to achieve, what is actually happening, and how things could be improved if the government simply heeded its own guidance.| Scott Logic
For junior developers just starting with CSS, the vast array of available length units can feel overwhelming. This post offers a clear breakdown of the main categories - absolute units; relative units, which adapt better to different screen sizes and accessibility settings; viewport units and niche units.| Scott Logic
When I wanted to learn a new programming language and a new programming paradigm, I decided to cut my teeth on a practical problem.| Scott Logic
AI is reshaping the testing landscape, but it can’t replace the value of human judgement. In this post, I explore how experience, intuition and healthy scepticism remain essential to building better software.| Scott Logic
Automating Playwright visual test maintenance with GitHub Actions simplifies updating baseline screenshots across platforms. By running tests on both Windows and Linux via a workflow, developers avoid manual setup and ensure consistent UI validation, even when third-party libraries like CO2.js change underlying data.| Scott Logic
Learn how to build a custom, user-friendly search language using ANTLR and Elasticsearch. We'll cover grammar design, query parsing, and indexing techniques to turn plain user input into powerful search results.| Scott Logic
Messaging-based communication tools such as Slack and Microsoft Teams are commonplace in development teams, often being the main platform for textual communication. “Channels” are a key concept in these tools for organising communication. How these are organised and used makes a big difference to their effectiveness and in turn the overall effectiveness of the team communication. In this post, I’ll share my thoughts on what makes a good approach, and provide some example channels based ...| Scott Logic
Switching testing teams in the middle of a live project can feel like changing pilots mid-flight — risky if you’re unprepared, smooth if you’ve planned it right. In this post, we’ll look at how to hand over testing between vendors without letting quality or deadlines slip.| Scott Logic
In this post, I describe how your business can assess whether a system is ready for modernisation and, if so, how to set your project up for success. I then explain why, in most cases, you’ll probably want to take an incremental approach rather than replacing the old system in one fell swoop. I end by providing an example of one of the ways your business can do this – by using Event-Driven Architecture.| Scott Logic
In the course of building a new system for a client over the past year, we evaluated and selected a couple of commercial software products to use as components of that system. In this post, I’ll share some observations and thoughts which may be of interest or help you with your next selection.| Scott Logic
A quick guide to implementing a test framework for IAM permissions using the AWS IAM Policy Simulator API and a tiny hack.| Scott Logic
Poor AI implementation can reduce motivation and identity—hindering business performance and employee wellbeing. Here’s why your AI strategy needs a human touch.| Scott Logic
When it comes to legacy modernisation projects, there’s a kind of rework – let’s call it ‘cultural rework’ – that organisations often seem to accept as an inevitable part of their investment. In this blog post, I look at some of the main cultural, team and human challenges that arise on legacy modernisation projects, and how they can be tackled.| Scott Logic
I have recently come off my first client project, which I was part of for 9 months, and so I wanted to reflect on everything that I learnt during that time.| Scott Logic
This blog shares Scott Logic's thoughts and ideas, covering topics across Tech, UX Design, Testing and Delivery.| Scott Logic
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.| Scott Logic
Testing an event ingestion service is critical for ensuring reliable, scalable event-driven architectures. This blog dives into our approach to testing an ingestion service integrated with Azure Event Hubs, covering the testing strategy, tools, and process flow, with a detailed diagram to illustrate the pipeline.| Scott Logic
After building a React application with three AI assistants, our developer discovered that extracting your conversation history afterwards is like trying to collect debts in a frontier town: ChatGPT eventually pays up after some serious negotiation, Claude charms you while keeping the vault locked, and Copilot confidently hands you a treasure map to gold buried on someone else's land. The lesson? These AI partners can help you build impressive applications but somehow can't easily tell you wh...| Scott Logic
After two decades of working with highly regulated organisations, we've developed some strong opinions about legacy systems some of which run counter to prevailing industry narratives. Whilst other consultancies and vendors push their "proven frameworks" and "transformational roadmaps," we've watched well-intentioned modernisation initiatives stumble over the same fundamental misunderstandings about what legacy systems actually are and why they persist. This blog covers what we've learned abo...| Scott Logic
In this instalment, I discovered that Cursor IDE transformed my chaotic multi-AI orchestra of wayward soloists into something rather more like a proper piano duet, successfully refactoring my 847-line monolith into modular components without the usual algorithmic amnesia. I found that when your IDE becomes your coding partner, you stop waving the baton at three separate musicians who occasionally abandon the sheet music for their own creative interpretations and start playing chamber music, e...| Scott Logic
A non-React developer built a trade lifecycle simulation using three AI assistants as his coding team, discovering that managing AI agents is rather like conducting an orchestra where each musician excels at different parts of the piece but occasionally abandons the score for a spot of impromptu improvisation. The project demonstrated that whilst AI collaboration can be very useful, someone still needs to wave the baton when your string section decides to have a go at bebop when they should b...| Scott Logic
Scott Logic created the Technology Carbon Standard Schema, an open-source tool that helps companies measure and share their digital carbon emissions data. With the ICT sector consuming 4% of global electricity, most organisations lack standardised ways to track their technology-related carbon footprint. The schema provides a structured format for measuring and exchanging this data between companies.| Scott Logic
Having just completed the Graduate Training at Scott Logic, I wanted to reflect on the last three months and offer some advice to those who may be taking part in the future.| Scott Logic
Practical insights of adapting agile methodologies to empower people. Spanning the topics of Mixed Martial Arts, decision-making and creativity.| Scott Logic
A year after predicting GenAI's sustainability crisis, the 2024/25 financial data tells a concerning story. OpenAI's $10 billion revenue comes with $5 billion losses, whilst Anthropic burns $3-4 billion annually. With the sector consuming over $100 billion in venture funding and Big Tech spending $250 billion on AI infrastructure, we're witnessing what some critics are now calling a "subprime AI crisis" – an entire industry built on services sold at massive losses. The transparency initiati...| Scott Logic
In this episode of Beyond the Hype, Oliver Cronk is joined by Ani Allen from OutSystems and Ryan Grey from Marra to explore the spectrum from No-Code, through Low-Code, to High- (or Pro-?) Code, and consider how AI is reshaping the development experience.| Scott Logic
Last year, I received a combined autism and ADHD (AuDHD) diagnosis. It was a pivotal moment that helped me reframe my life, and I decided early on to be open about my diagnosis, both to advocate for myself and to let others know they’re not alone.| Scott Logic
Data enables faster and more accurate due diligence, informs operational transformation post-acquisition, and supports more effective positioning when it comes time to exit. This post outlines the role of data across each of these key stages.| Scott Logic
If you’re working on an entirely new product with no dependencies on any existing system, you’re free to decide how best to build, test and deploy the product. However, if you’re modernising a legacy system, the approach to development and testing is less straightforward. In this blog post, I look at some of the key considerations that should inform the test strategy for a modernisation project. I also explain why it’s important to go beyond the hype and use the right tool for the rig...| Scott Logic
On the route to delivering and realising value, the aim is to reduce the number of twists and turns in the software development pipework and improve flow. In this blog post, I’ll share some insights into practices and processes that reduce flow and what you can do to improve flow. It’s important to point out this is purposefully methodology-agnostic; I want to get beyond the rituals and practices of the different approaches and focus instead on the underlying best practices.| Scott Logic
Pride Month is both a joyful celebration and a powerful protest — a moment to honour how far we’ve come, and to spotlight how far we still have to go. But every year, as the corporate logos change their colours and the parades grow ever larger, the same question resurfaces: Do we still need Pride? The answer is a resounding yes. In this post, I explain why.| Scott Logic
As the capabilities and accessibility of AI continue to advance—including more sophisticated reasoning capabilities and agentic deployment—several questions and risk areas emerge that really deserve our attention.| Scott Logic
In this post we will see how Thunks and Trampolines can help solve problems by converting deep stack-based recursion into heap-based iteration helping to prevent StackOverflowErrors| Scott Logic
In this post we will see how Higher Kinded Types types can help increase the flexibility of our code and reduce duplication.| Scott Logic
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.| Scott Logic
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.| Scott Logic
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.| Scott Logic
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.| Scott Logic
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.| Scott Logic
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.| Scott Logic
In this episode, I'm joined by Rebecca Rumbul, CEO of Rust Foundation, and Mirko Boehm from Linux Foundation Europe. We discuss the Cyber Resilience Act (CRA), a piece of EU legislation that is actively under development, designed to make end-user products more secure. Early drafts of this act detailed significant obligations on open source maintainers, despite the fact that they often work without financial reward. We discuss how the latest update of the CRA has thankfully addressed these co...| Scott Logic
Join us for the second installment of how we built an assignment algorithm. This blog will pick up from where we left off in part 1, exploring the measure of compromise over the course of multiple talk slots.| Scott Logic
In this episode, Oliver Cronk, Andrew Carr and David Hope talk about the ever-changing world of data, with conversations moving from data warehouse to data lake, and data mesh to data fabric. They discuss the importance of data ownership and common tooling, and their view that data mesh is an approach rather than an architecture.| Scott Logic
The principles that underpin our approach to testing at Scott Logic, and how this shapes the services we offer our clients.| Scott Logic
You're organising a conference and the delegates have voted for what talks they would like to attend. How do you give them the fairest choice possible with constraints on talk size? Join us for the first blog in a series of 3 which go into the nitty gritty of an algorithm that gave rapid results, 30% fairer than those done by hand!| Scott Logic
There is no one-size-fits-all approach to delivery. Here we describe the grounding principles and behaviours that enable us to deliver excellent results for our clients with a reassuringly human touch.| Scott Logic
This is the first in a series of articles where we outline our approach to consultancy through the lens of principles we have honed through our experience delivering complex, mission-critical programmes. In this post, we define our approach to Architecture...| Scott Logic
FINOS Common Cloud Controls (CCC) is an open standard by FINOS, to describe consistent controls for compliant public cloud deployments in the financial services sector. The project is supported by Scott Logic, aligning with its mission to promote and support open-source initiatives. This is an effort to introduce FINOS CCC and its goals.| Scott Logic
This is the first of a series of blog posts that examine the various methods of measuring carbon emissions on end-user devices. In this post, we take a closer look at the Sustainable Web Design Methodology.| Scott Logic
An investigation of the methods available to measure energy consumption programmatically.| Scott Logic
The tech industry has driven incredibly rapid innovation by taking advantage of increasingly cheap and more powerful computing – but at what unintended cost? What collateral damage has been created in our era of "move fast and break things"? Sadly, it's now becoming apparent we have overlooked the broader impacts of our technological solutions. This blog is the start of a new series that explores what we can do as technologists to consider and reduce the impact of the tech we create.| Scott Logic
Generative AI is moving at an incredible pace, bringing with it a whole new raft of terminology. With articles packed full of terms like prompt injection, embeddings and funky acronyms like LoRA, it can be a little hard to keep pace. For a while now I've been keeping a notebook where I record brief definitions of these new terms as I encounter them. I find it such a useful reference, I thought I'd share it in this blog post.| Scott Logic
The buzz and excitement around generative AI is continuing to grow as their capabilities rapidly expand. However, their ability to generate content is just the starting point. From my perspective, the emergent reasoning capability, coupled with their intelligent use of tools, is what will make this technology truly transformational, and will mark the start of a new technology epoch.| Scott Logic
In this post I'll discuss ways of estimating the emissions caused by your Cloud workloads as a first step towards reaching your organisation's Net Zero goals.| Scott Logic
This is the second of a series of blog posts that examine the various methods of measuring carbon emissions on end-user devices. In this post, we look at methods and tools for power profiling and measuring the energy use of devices with a bottom-up approach.| Scott Logic
Generative AI has a Sustainability problem – across environment, cost and continuing to meet expectations. Many companies are racing to implement GenAI in their projects, lured by its hyped potential to revolutionise industries. However, in applying GenAI to enterprise implementations, I am seeing first-hand the sustainability challenges threatening to implode the first generation of this technology. This blog talks about what I hope will rise from the ashes of such an implosion.| Scott Logic
In this episode, I'm joined by Doro Hinrichs and Kira Clark from Scott Logic and Peter Gostev, Head of AI at Moonpig. Together, we explore whether we can ever really trust and secure Generative AI – and what impact this will have on product and service design – before offering pragmatic advice on what organisations can do to navigate this terrain.| Scott Logic
In this blog, I describe creating InferGPT, a personalized chatbot, using Python, FastAPI, and React without the use of LangChain. Our backend handles complex queries with a multi-agent system and Neo4j database, aiming to provide tailored responses.| Scott Logic
The Cloud Carbon Footprint tool also provides support for carbon calculations from On-Premise sources. I investigate how it works and list some pros and cons with its usage, along with some contributions we are hoping to make.| Scott Logic
In this episode, Oliver Cronk and David Rees from Scott Logic are joined by Hannah Smith, Director of Operations at Green Web Foundation, to explore the potential benefits and limitations of ‘carbon aware’ computing. With global emissions from cloud computing exceeding those from commercial flights, is 'carbon aware' a distraction from getting to grips with the scale of the challenge we face?| Scott Logic
This blog demonstrates how to generate graph database queries using a large language model. This allows users to ask natural language questions in order to understand their data presented in a knowledge graph better! This can be done without extensive understanding of the querying language.| Scott Logic
I'll admit that for me knowledge graphs and graph databases were always something of a mystery, so I spent some time investigating to see how they compare to more traditional relational databases. Are they more than just circles and lines?| Scott Logic
We're excited to announce a proposed standard for assessing technology-related carbon emissions – an approach to classifying an organisation's technology footprint in a way that enables consistent analysis and benchmarking of the carbon impact, aligned with the GHG protocol.| Scott Logic
A case study of testing a customised GPT-powered chatbot to present strategy and challenges to test LLM-Based applications.| Scott Logic
Our journey of learning about Prompt Injection Attacks, securing Generative AI, and how we became undercover spies on the way.| Scott Logic