Welcome to Bloomberg. The company delivers data to customers across the globe in milliseconds, and relies on one thing to do so: technology. The research and development (R&D) team is responsible for developing, building and delivering the systems and functions the business depends on. Here, we catch up with Paul Williams, a senior manager within R&D, and Kassem Wridan, a software developer in the Mobile team, to find out more...
What is the Bloomberg terminal?
The Bloomberg Professional Service, better known as "the terminal", is Bloomberg's core product. The terminal delivers real-time financial information and news to more than 310,000 customers in finance and government worldwide.
"Our users rely on the terminal because it gives them all the up-to-the-minute and historical data they need - both in raw form and analysed - so they can make their business decisions wisely," explains Paul.
When it was first developed, the terminal ran on custom-built hardware, but it's now a piece of software that runs on a PC, connected to two or more monitors. "Typically a user will have a number of windows displaying data and rely heavily on the keyboard, which features short-cut keys to access functions displayed on the desktop," says Paul. The terminal features over 30,000 functions, which provide real-time overviews of different markets.
What is R&D?
Bloomberg's R&D department employs 3,000 people in London and New York. Its programmers build infrastructure and technology for Bloomberg's internal server and its client-side systems, including the terminal and its mobile applications.
There are a number of sub-teams under the R&D umbrella. The infrastructure group builds the systems and toolkits that allow application specialists to write new functions for the terminal. There are also teams devoted to segments of the financial markets, which write software and functions for those business areas.
Programmers within R&D work closely with other departments within Bloomberg, and occasionally directly with external customers, to understand their business needs and how they can develop technology to meet them.
Many users of the terminal now want to access information from their mobile devices. The Mobile group builds software specifically for phones and tablets, and adapts existing software, so real-time financial data and news can be accessed and displayed on a much smaller screen.
In London there's a team of around 30 programmers dedicated to building applications for mobile devices. Demand for mobile products, such as the iPad app Bloomberg Anywhere, is growing rapidly.
Senior Manager, R&D
Paul learnt most of his computing skills by writing music sequencers and video games. He gained a degree in Electrical and Electronic Engineering from the University of Bath in 1987 and began his career as a software developer at a start-up company, before joining Bloomberg in 1995. Paul has overseen the expansion of the research and development (R&D) team in London and is now a senior manager within the department of 300 programmers.
How did you become interested in financial technology?
I never envisaged myself going into the finance industry because I was a technology guy - that's what I've always been interested in. I planned to go down a traditional software route, but then I worked on a data-feed processing project for Bloomberg that challenged me and turned out to be very successful, paving the way for me to join Bloomberg.
Why is technology important to Bloomberg's business?
Bloomberg's customers depend on us to deliver financial data and analysis to them in real-time. This information often has the potential to move the financial markets, so we have to be able to process it through our system and pass it on to our users in milliseconds.
In R&D, this means we need to develop efficient networks to move data across the globe and build systems that won't become overloaded when there's a lot of market activity. These challenges are similar to those faced by the likes of Google or Facebook, but our customers are paying significant amounts of money to use our systems, so we have an extra level of responsibility to make sure they're fast but reliable.
Can you tell us more about your role and what it involves?
I'm a software manager and developer within the infrastructure department, which sits within R&D. I lead the teams that are responsible for developing the graphical user interface (GUI) framework - the technology that controls how information is displayed on our customers' desktops - and making this display toolkit available to the teams that write applications for the terminal.
Some traders have up to eight monitors, so we need to build infrastructure to display up-to-the-second graphics across large areas of screen space and deliver useable information even when there's a lot of market activity. To do so, our work involves writing code, largely in C++, and maximising system resources such as processing and memory capacity. We also focus on higher-level software engineering principles, such as building modular, scalable and easily-debuggable code.
Can you tell us about an interesting project you've worked on?
I was heavily involved in transforming the terminal into a more flexible system that could display a wider range of data, which became known as our Launchpad project.
Previously, data had to be viewed in fixed browser windows, but I suggested a system in which customers could take the data they were interested in and drag it onto their desktop to view dozens, or even hundreds, of smaller windows showing them real-time information. This means they'd be able to see the status of markets across the world on their desktop wallpaper at all times, instead of having to open and close windows.
I produced a prototype and showed it to a senior manager within Bloomberg. He liked the idea, so we put a team together to build it, and it became the next generation of the terminal.
What do you enjoy most about your job?
I'm a technology enthusiast, and at Bloomberg I can find the best technology to solve a problem, and then develop that technology so it allows us to provide world-leading functionality. I also have the opportunity to work with extremely smart programmers in London and New York, learn about new technologies and techniques, and develop my own career as a team leader.
What skills do graduates need to work in R&D?
We run two R&D graduate training programmes: one for those with a background in computer science, and another for those who've studied subjects such as maths or engineering, but have used basic programming during their degree. On the latter, we teach the programming skills they'll need to succeed at Bloomberg.