

Like many giant enterprises, we should navigate the wonder and chaos of legacy code. In our case, many years 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 chance. We’re a small, specialised crew charged with exploring rising and future applied sciences. Our purpose is to establish the place they’ll have the best affect, and assist the broader group perceive learn how to use them meaningfully.
We’re enablers and ambassadors for change. Our work spans all the things from product improvement and cybersecurity to the way forward for the workforce. Our guiding mannequin is McKinsey’s Three Horizons of Progress reimagined for innovation. Horizon 1 focuses on what we are able to implement at the moment. 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 dropping 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, all the things modified. Like most within the tech world, we had been fascinated. Generative AI provided a tantalizing imaginative and prescient of the longer term stuffed with sooner insights, prompt summaries, and automatic refactoring. However the pleasure rapidly gave option to doubt. We handed very succesful builders a robust LLM and stated, “Go for it.” The outcomes had been blended at greatest.
They inserted code into the immediate home windows, stripped out context to avoid wasting area, and hoped the AI would perceive. It didn’t. Builders had been confused, annoyed, and, understandably, skeptical. They noticed the AI as a shortcut, not a accomplice, 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 particular person utilizing it. We had assumed that talent in software program engineering would routinely 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 had been finishing the duties persistently round 80% of estimated time. There was positively one thing right here. We simply weren’t certain 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 sooner. It’s stylish. It’s seductive. But it surely isn’t danger free.
With out a clear understanding of intention or context, vibe coding can rapidly 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 ok. We would have liked greater than vibes. We would have liked imaginative and prescient.
Context Over Content material
The turning level got here after we realized the true job wasn’t educating AI learn how to write higher code. It was educating people learn 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 would like it to change into.” This perception is vital.
Our builders, particularly these tackling probably the most advanced, interdependent issues, tailored rapidly. They had been used to considering deeply, offering rationale, and navigating ambiguity. They received 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 received it fallacious. It was at instances that we weren’t clear on what we had been asking.
RAG, GraphRAG, and the Energy of Grounded Context
To construct dependable, human-aligned AI help we would have liked a option to floor what the AI was seeing in truth. That’s the place we noticed the ability of Retrieval-Augmented Era (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 sooner to implement and extra versatile than fine-tuning, making it supreme for dynamic, domain-intensive environments like ours. Builders can replace the data base with out retraining the mannequin, protecting outputs present and grounded.
However RAG has its limits. When a query spans a number of techniques or requires reasoning throughout disconnected items of data, conventional RAG, which relies on textual content similarity, begins to falter. That’s why we turned to GraphRAG, a extra superior method that makes use of a data graph to boost 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 in case you 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 achieve worthwhile perception on how the system works.
To construct it, we began by parsing all our database objects together with tables, views, procedures, features, and many others. into summary syntax bushes (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 factor did, and added runtime statistics like execution frequency, CPU time, and skim volumes.
The outcome 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 by way of 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 necessary to notice is that many of the system’s worth lies within the graph, not the mannequin. The AI doesn’t must know all the things. It simply must know the place to look, and learn how to ask the proper questions. That’s the ability of grounding.
For us, GraphRAG wasn’t only a nice-to-have, it grew to become 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 achieve additional perception to change into code reviewers, system designers, and transformation brokers at an professional stage throughout large division spanning architectures. All from a easy interface permitting pure language inquiries That’s the true shift. The longer term 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 all the things 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 proper questions. The expertise was the straightforward half. The individuals half, now that was the true breakthrough.