
Like many giant enterprises, we should navigate the wonder and chaos of legacy code. In our case, a long time of SQL procedures and enterprise logic that underpin a platform able to dealing with over 3 million concurrent customers and a whole lot of micro code deployments per week. It’s a posh machine. Contact one half, and also you danger breaking 10 others. That’s why modernizing the codebase is each a technical problem and a human one. It requires empathy, belief, and the power to make knowledgeable guesses.
Contained in the Innovation Engine
At bet365, the platform innovation perform was established to impress risk. We’re a small, specialised group charged with exploring rising and future applied sciences. Our intention is to determine the place they will have the best influence, and assist the broader group perceive find out how to use them meaningfully.
We’re enablers and ambassadors for change. Our work spans the whole lot from product improvement and cybersecurity to the way forward for the workforce. Our guiding mannequin is McKinsey’s Three Horizons of Development reimagined for innovation. Horizon 1 focuses on what we are able to implement in the present day. Horizon 2 explores what’s coming subsequent. Horizon 3 dares us to think about the longer term nobody is speaking about but.
This framework helps us steadiness ambition with pragmatism. It creates area to experiment with out shedding sight of operational worth, and it ensures our builders, architects, and stakeholders are all a part of the identical dialog.
When GenAI Met Builders
When GPT-4 dropped in 2023, the whole lot modified. Like most within the tech world, we have been fascinated. Generative AI supplied a tantalizing imaginative and prescient of the longer term crammed with quicker insights, on the spot summaries, and automatic refactoring. However the pleasure shortly gave strategy to doubt. We handed very succesful builders a robust LLM and stated, “Go for it.” The outcomes have been combined at finest.
They inserted code into the immediate home windows, stripped out context to save lots of area, and hoped the AI would perceive. It didn’t. Builders have been confused, pissed off, and, understandably, skeptical. They noticed the AI as a shortcut, not a associate, and when the output didn’t match expectations, frustration adopted. Many requested the identical query: “Why am I asking a machine to write down code I may simply write myself?”
What we realized was profound. The issue wasn’t the AI. It was the connection between the AI and the individual utilizing it. We had assumed that talent in software program engineering would robotically translate to talent in immediate engineering. It didn’t. Did we miss one thing? The purpose we couldn’t overlook was through the train, our builders have been finishing the duties persistently round 80% of estimated time. There was positively one thing right here. We simply weren’t positive what it was. So, we went again to fundamentals.
Vibe Coding and the Limits of Belief
There’s a brand new time period in developer tradition: “vibe coding.” It’s the place you throw a bit of code at an LLM, get a response, tweak it, throw it again. Iterate quick. Ship quicker. It’s fashionable. It’s seductive. But it surely isn’t danger free.
With out a clear understanding of intention or context, vibe coding can shortly change into a recreation of trial and error. And when your system is as advanced as ours – many databases processing 500,000 transactions a second – “trial and error” isn’t adequate. We would have liked greater than vibes. We would have liked imaginative and prescient.
Context Over Content material
The turning level got here once we realized the true job wasn’t instructing AI find out how to write higher code. It was instructing people find out how to talk with AI. We realized a brand new mantra: intention + context + element. That’s what the AI wants. Not simply content material. Not simply “repair this perform.” However: “Right here’s what this code does, right here’s why it issues, and right here’s what I want it to change into.” This perception is essential.
Our builders, particularly these tackling essentially the most advanced, interdependent issues, tailored shortly. They have been used to considering deeply, offering rationale, and navigating ambiguity. They obtained it. They fed the AI what it wanted. They flourished. The distinction was mindset. We got here to name this phenomenon “the unreliable narrator.” Not simply the AI, however the developer. As a result of usually, the issue wasn’t that the machine obtained it unsuitable. It was at instances that we weren’t clear on what we have been asking.
RAG, GraphRAG, and the Energy of Grounded Context
To construct dependable, human-aligned AI assist we wanted a strategy to floor what the AI was seeing in truth. That’s the place we noticed the facility of Retrieval-Augmented Technology (RAG). RAG permits an AI mannequin to retrieve related context from an exterior supply – like documentation, system metadata, or a data base – earlier than producing a response. It’s quicker to implement and extra versatile than fine-tuning, making it excellent for dynamic, domain-intensive environments like ours. Builders can replace the data base with out retraining the mannequin, preserving outputs present and grounded.
However RAG has its limits. When a query spans a number of methods or requires reasoning throughout disconnected items of knowledge, conventional RAG, which is predicated on textual content similarity, begins to falter. That’s why we turned to GraphRAG, a extra superior strategy that makes use of a data graph to reinforce LLM outputs.
A data graph doesn’t simply maintain info, it encodes relationships. It captures how elements work together, the place dependencies lie, and what may break for those who change one thing. GraphRAG makes use of this construction to reinforce prompts at question time, giving the AI the relational context it must reply with precision. That is very true in environments the place accuracy is essential, and hallucinations are unacceptable.
As a real-world train, we checked out our SQL server property. We wished to construct a system that we may use to realize worthwhile perception on how the system works.
To construct it, we began by parsing all our database objects together with tables, views, procedures, capabilities, and many others. into summary syntax timber (ASTs). Utilizing Microsoft’s ScriptDOM, we extracted key info and used them to assemble the preliminary data graph. We overlaid this with pure language descriptions to additional clarify what every aspect did, and added runtime statistics like execution frequency, CPU time, and skim volumes.
The consequence was a wealthy, relational illustration of our SQL property, full with contextual insights about how objects are consumed and the way they work together. Then we surfaced this intelligence to builders via three core instruments:
- A chatbot that lets customers question the system in plain language
- A visualiser that renders a 3D map of dependencies and relationships
- A Cypher executor for superior graph querying and evaluation
What’s vital to notice is that many of the system’s worth lies within the graph, not the mannequin. The AI doesn’t must know the whole lot. It simply must know the place to look, and find out how to ask the precise questions. That’s the facility of grounding.
For us, GraphRAG wasn’t only a nice-to-have, it turned important. It helped us transfer from generic code help to one thing way more worthwhile: a system that understands what our code means, the way it behaves, and what it impacts.
We’re not simply writing code anymore. We’re curating it. We’re shaping the intentions behind it. Our builders now have tooling to realize additional perception to change into code reviewers, system designers, and transformation brokers at an skilled stage throughout large division spanning architectures. All from a easy interface permitting pure language inquiries That’s the true shift. The long run isn’t about AI doing our jobs. It’s about reimagining what the job is.
The success of our code modernization program has little to do with algorithms and the whole lot to do with perspective. We needed to unlearn previous habits, rethink our relationship with code, and embrace a tradition of curiosity. We needed to cease asking AI for solutions and begin giving it the precise questions. The expertise was the straightforward half. The individuals half, now that was the true breakthrough.