Bloomberg CTO’s vision of an ideal engineer: Students aiming to become an engineer should study not only mathematics, but also literature

June 16, 2017

This article is written by Gaishi Shukatsu, link to original publication (in Japanese).

Bloomberg is a global financial information company. The company reports and disseminates real-time news and information that is critical to the business world, and its data processing technologies have played an important role in maintaining its competitive advantage in this area. According to Bloomberg’s CTO (Chief Technology Officer) Shawn Edwards, “in contrast to an investment bank, programmers are the stars at this company.” Edwards is responsible for Bloomberg’s technology strategy, and we spoke to him on topics including what Bloomberg looks for in an ideal engineer, when he recently visited Japan.

Shawn Edwards, Bloomberg’s Chief Technology Officer

Company where the programmers are the stars

Please tell us about your career.
Edwards: I received a bachelor’s degree and master’s degree in electrical engineering from Columbia University in New York.  While I had originally considered the field of hardware, including computer circuit design, I decided to go into software after learning the joy of software development at my university. I started at a company that creates CAD systems for circuit designers, and four years later I went to work for the investment bank Bear Stearns.

Four years later, I joined Bloomberg in 2003. This career change was encouraged by the enthusiasm of my former colleagues who worked at Bloomberg before me. While I wasn’t sure at first, I was deeply impressed by the interview at Bloomberg. What I mean by this is that while the traders are the stars at investment banks, I learned that programmers can be the stars at Bloomberg because it is a financial information technology company. I was really excited and blown away by this.

After starting off as a programmer, 14 years later, you are now Bloomberg’s CTO. Can you tell us more about what your job entails?
Edwards: I have two main responsibilities. One of my roles is to lead our team of researchers who are investing in advanced technologies to consider what kind of technological approaches we should strategically adopt. We build such projects in cooperation with universities, companies, the open-source software community, and other organizations.

My other responsibility is serving as a product manager for Bloomberg’s core infrastructure. We have nearly 5,000 developers. While my team is not that large, we conduct work in conjunction with engineers from the product development team.

Cooperation with universities that are strong in information technology around the world

While there are various types of advanced technologies such as AI (artificial intelligence), fintech, VR, and robots, what kind of technologies would Bloomberg like to incorporate and develop?
Edwards: AI is one of them. We have invested quite a large amount of time, money and energy to building up our AI capabilities. The head of our data science group is an expert in natural language processing and he originally worked at Google. We’ve been hiring many experts in this field and engineers that work with them.

In addition, we also provide funding to universities around the world that are active in data science research including: Columbia University, Cornell University, Stanford University and Edinburgh University. We also provide scholarships for the University of Delhi in India as part of our efforts to foster deeper partnerships with universities. We’ve already built many products using machine learning.

What kind of products, for example?
Edwards: One example is the Twitter sentiment analysis that corresponds to fluctuations in company stock prices. We conduct sentiment analysis on a large number of tweets in real-time to see if they are positive, negative or neutral. Then score each one of those tweets to decide whether if it is good or bad news for the company. Twitter plays an important role in financial markets. AI is being used to analyze these trends in real-time.

You mentioned that Bloomberg also collaborates with the open source community. What kind of open source software does Bloomberg use?
Edwards: Several years ago we started looking at open source for our key systems. We actually use open source software for some of our most important, large scale systems. Examples include the Lucene/Solr search engine and the Hadoop/ Spark distributed database.

How is Bloomberg collaborating with the open-source software community?
Edwards: Low latency (fast reaction) is extremely important for Bloomberg’s systems.  We provide knowledge on technologies for achieving low latency to the open-source software community. In addition, we have provided funding for several projects. Furthermore, we have adopted open-source software for some internal projects as well. For example, code was released through GitHub for a project called bqplot.

This bqplot project is a library that enables data visualization. An interactive data map can be generated by just writing a few lines of simple Python code.

What is the aim of releasing source code to the open source community?
Edwards: We do it because we would like to contribute to the community. Being able to give something back to the open source community is a major motivation for Bloomberg employees as well. Many of our engineers do it because they think it is the right thing to do.

Engineers have a strong sense of curiosity

What is the career path like for engineers at Bloomberg?
Edwards: New graduate engineers learn about our technology in a three-month training period. In addition, they learn about the markets, financial theory and our clients. They are then assigned to a team that creates infrastructure and applications.

After that, engineers can select from several career paths. One option is becoming a technology expert by taking a career path towards becoming a technology or architecture senior staff member.

The second option is a management position such as a team leader or manager. This means becoming a mentor and providing direction for team members. Another less common option is transferring to another department and becoming a product manager.

What kind of qualities do you seek when hiring young engineer candidates?
Edwards: It’s hard to say because we hire for several different jobs and areas and they have different requirements for what expertise that they are looking for. However, in general, for students who are just out of college, we are looking for their understanding of the fundamentals of computer science. Candidates not only need to have knowledge related to computers, but are able to build out programs.

Will the candidates be asked to conduct coding for a program in the screening process?
Edwards: When hiring new graduates, we have candidates conduct coding online before the interview, and write code on the whiteboard during interviews.  Pseudocode is normally used. We look at what kind of processes and ways of thinking are used to solve a given problem.

Rather than checking whether it is possible to implement a specific feature, we check the overall knowledge of candidates, for example, their knowledge of basic software structure and how they would write an algorithm.

For some specialized positions, we focus on whether they have knowledge in a specific field. If we are hiring for our machine learning team, knowledge such as artificial intelligence and Bayesian statistical analysis will be required. In addition, in the field of financial engineering, it is more important to have financial background than just computer science.

In closing, do you have any advice for students who want to become engineers?
Edwards: Be very curious and take risks. Most importantly, be well-rounded, and do not just learn programming. You have to learn about literature and communication, not just math and science.

In addition, it is extremely important for agile teams to be able to accurately communicate their ideas to achieve rapid development as part of a team. If you are not able to effectively communicate ideas to other team members, you will not be able to convince them and work cannot get done as a result. I want engineers to be aware of this point.

For more information about Bloomberg Careers in Japan, visit our website.