Coding at bet365: A Computer Weekly Downtime Upload podcast

Listen to this podcast

In this podcast, Alan Reed, head of sports development at bet365, discusses the technical and business challenges of scalability

Computer Weekly last spoke to Alan Reed a few years before the pandemic. During the Covid-19 lockdown, the head of sports development at bet365 says the online betting firm needed to adapt to live sports stopping and the shift to home working. 

He says the UEFA European Football Championship (Euros) represents the culmination of the software development effort that needed to take place during the pandemic. “Our story of the Euros is probably our story of Covid-19, really,” he says. “It’s our story of working in new conditions. It’s about work in an environment, in a space that very few organisations – ourselves included – didn’t really see coming. And we didn’t really prepare for it – it’s how we actually came out on the other side.”

The software development work th at bet365 ran during the lockdown culminated in the functionality added to its website to support the Euros. “Lockdown was a very interesting time for us,” says Reed. “We managed to release a new website and new app. We kept the software development release cadence going. This is very much what it’s been like working towards the Euros.”

For Reed, the post-Covid return to normal work saw bet365 check the processes it had developed during the lockdown and put in place operational capacities. “The Euros offered a way for us to explore the process that we put in place to really understand how we adapted to living post-Covid and how we could keep up our creativity,” he says.

With live sports coming to a halt during the lockdown, bet365 needed to focus on its virtual products, he says. “We moved immediately to a remote development position. There is actually very little difference between remote working and working in the office,” he adds.

“We very quickly understood that provided you can allocate and partition work to an individual or small group of individuals, these people can actually complete the work in its entirety or complete to a certain level with minimal impact.”

According to Reed, the challenge is how to keep the development team fed with a pipeline of work in the same way that allows them to keep working in an office environment. First, when working virtually, he says: “It’s quite hard to be spontaneous. There are a lot of social constructs that don’t exist any more. The power of an office space is the strength of its community.”

As Reed points out, people get interrupted a lot: “There is indirect communication.” This, he says, changes the balance of prescriptive work that is assigned to the software development team, and the non-prescriptive work the team takes on.

“You find ways around this,” he says. At bet365, this involves the way work is segmented to the software development teams. “It’s about segmenting our work so that it can be done in an achievable and timely fashion,” he adds.

Introducing Golang

In 2018, Reed spoke to Computer Weekly about how the company was working on a project based on the Golang programming language. Recalling this conversation, Reed says: “We probably started our journey to Golang around 2017. Prior to 2017, bet365 was a Java and .Net  house. We had Linux and Windows platforms split across the divisions.”

Golang allowed the company to tackle the very peaky nature of online betting traffic, he says. In terms of how enterprise applications cope with peaks and troughs in demand, Reed describes bet365’s use case as very much a niche. “We are always pushing, looking for the next new thing, and we came across Golang,” he says. “We tend not to go with fashions. We tend to go for the best tool for the job and Golang seemed, at the time, to offer a lot of things useful to us.”

Golang was used to build the first version of Bet Builder, a product that bet365 introduced to enable its customers to place compound bets based on a predetermined set of options available to them. It was launched to coincide with the 2018 World Cup.

The second version, developed in Golang during the pandemic, increases the flexibility of Bet Builder. The big change, says Reed, is that the new functionality now presents a grid of all possible bets. “We are not suggesting routes to place your bets,” he adds. “You can pretty much see everything you need on screen in real time.”

The challenge is the potentially huge numbers of permutations of bets that are possible, combined with the need for real-time data and concurrency. “It isn’t just handling a small number of odds,” says Reed. “It’s every possible permutation.”

The computational power needed to present all possible bets to a customer in real time are extraordinarily high, which poses a number of technical challenges for the team responsible for delivering the new functionality. Reed says: “You are presented with a challenge of technology, and the first thing you need to do is look around at what’s available. Do we have enough compute available to us? If it’s something that can be achieved with more powerful CPUs or GPUs, then money is thrown at the hardware to tackle the computational challenge.”

But the problem could not be solved using more powerful hardware, he says.

The challenge can be tackled in software and requires compromises, says Reed. “We just need it to be good enough, and good enough doesn’t mean it’s a concession to something that isn’t excellent. It’s still best in class.

“Often, you’re trying to do the best you can within a fixed timescale. What we’ve learned from this is the fact that you don’t have to be perfect. You need to understand what good enough means and you need to make sure that the right people are defining what good enough means.”

Reed stresses the importance of communicating to a non-technical audience the implications of changes that arise from technical decision-making.

His company is currently embarking on a recruitment and training initiative called the bet365 Software Testing Academy, run from its Stoke office. Rather than looking for candidates with specific levels of technical expertise, the programme focuses on communication, attention to detail, prioritisation, knowledge retention and analytical skills.

As Reed notes, people have come out of the pandemic reassessing their work-life balance. Software development is a job that can potentially be done almost anywhere – at home, in an office or as a contractor working in outsourced software development. Reed hopes the programme will show those who have not come from a technical background that they can develop the skills needed to get a job in the tech sector.