How the Bloomberg internship helped Clive build a levitating supersonic train

August 18, 2017

Clive Chan, a summer 2017 engineering intern at Bloomberg, explains how he applied what he learned developing software for financial professionals to building a Hyperloop with his team at the University of Waterloo.

During my Bloomberg internship, I worked on the Document Search (DS) function on the Bloomberg Terminal. This tool helps Terminal users find government filings, financial reports and other documents. Sounds dull?

I thought so too – at first. But it became far more interesting and impactful than I expected.

Financial professionals need these filings, earnings call transcripts, in-depth research reports and other documents to better understand industry trends and company performance – so that they can make informed investment recommendations. The DS function on the Terminal enables them to find these documents for their analyses from more than 1,500 providers, all in one place.

For part of my internship, I worked on building topic models for the DS function using Latent Dirichlet Allocation, a statistical model that mines text to find groups of similar words in documents. This could be used, for example, to automatically recognize what categories a given document belongs to – helping Terminal users quickly find related documents.

So much of the financial industry depends on the Bloomberg Terminal and services; it really forces you to always keep in mind the efficiency, understandability and reliability of the code that’s produced. A single stock tick, news alert or search query has to go through a long chain of data processing and notification systems – in a fraction of a second!

The best part of my internship was taking an existing Python service in the main DS function codebase, and rewriting and launching it in the much faster C++ programming language. As a Bloomberg intern, I wasn’t given an exploratory project with no clear impact or purpose. Rather, I got to work on real code, on real servers, for real users – and make a real impact.

Most importantly, I gained a greater understanding of how engineering “works” – that it’s more than just hacking together something that works. At Bloomberg, software product development follows an efficient, disciplined technical process with regular communication between engineers to ensure we’re meeting users’ needs swiftly and reliably.

I feel really lucky to have learned from an established example, like Bloomberg. I definitely will be carrying these software development skills into my future career. In fact, I’ve been able to apply them to a current endeavor.

Before coming to New York from Ontario for my internship, I’ve been serving as the Software Systems Lead for my school’s Hyperloop team, named Team Waterloop. (Check out our website and Instagram!).

Hyperloop is a cutting-edge method of transportation proposed by Elon Musk. The vision is a network of vacuum tubes with supersonic (faster than sound) trains that travel 12 times faster than highway speeds, which is twice the speed of the fastest recorded maglev train.

Team Waterloop, posing with the half-scale prototype, is Canada’s only full SpaceX Hyperloop Pod Competition team, and was the first team in the world to achieve pneumatic levitation. Team Waterloop is among the 24 qualifying teams (of the initial 115 teams) advancing to Competition II.

At the beginning of my internship, I asked my mentor if I could continue my Waterloop role remotely while at Bloomberg. The answer was an enthusiastic yes – as long as I was getting my Bloomberg work done.

The moment I started working with the code for the DS function, I realized the extent of Bloomberg’s experience in managing and deploying well-developed software. At the first Waterloop team meeting since I started my internship, I told my teammates we’ve been approaching our software development process entirely wrong.

Over the course of several weeks, we applied the technical discipline and engineering principles of code efficiency, understandably and reliability I learned at Bloomberg to completely redesign our Waterloop Software Systems team administration and code structure.

With much credit to that transformation, our half-scale prototype now works! It moves on a track, and is able to levitate while maintaining stability at about 100 miles per hour. And, it can be operated remotely. We’ll soon be heading off to California to compete in the SpaceX Hyperloop Pod Competition against student teams from around the world in creating the fastest, safest and best-engineered Hyperloop pod prototype.

I’ve grown so much from my Bloomberg internship, as a person and as an engineer. It’s incredibly rewarding to discover how my work has a concrete impact.

I will miss being around the other 300 Bloomberg interns doing practically everything – from volunteering with Bloomberg’s philanthropy partners, to participating in (and even writing practice problems for) internal coding competitions and (of course) munching on snacks from the Bloomberg pantry.

We gained real-world experience from industry experts who work at Bloomberg, learned from each other and had so many awesome internship moments together. I’d come back in a heartbeat.

Read how other Bloomberg engineering interns have built new features from scratch and learn more about our Engineering careers here.