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 it is information processing technologies that have played an important role in maintaining it’s competitive advantage in this area. According to Bloomberg’s CTO (Chief Technology Officer) Shawn Edwards, “in contrast to an investment bank, programmers will be the stars at this company.” Edwards is responsible for Bloomberg’s technology strategy, and we spoke to him about topics including the ideal engineer that Bloomberg is looking for 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 background up until now.
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 of the joy of software development at my university. I entered a company that creates CAD systems for circuit designers, and four years later I transferred to the investment bank Bear Stearns.

Four years later, I joined Bloomberg in 2003. This career change was encouraged by the enthusiasm of former colleagues of mine who had gone to Bloomberg ahead of me. While I wasn’t really on board 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 and the passing of 14 years, you are now Bloomberg’s CTO. Can you tell us more about what your job entails?
Edwards: I mainly have two main responsibilities. One of my roles is to lead our team of researchers who are investing advanced technologies and strategically consider what kind of technological approaches should be adopted. 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 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 who 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 efforts to foster deeper partnerships with universities. We’ve already built many products using machine learning.

For example, what kind of products?
Edwards: One example is Twitter sentiment analysis corresponding to fluctuations in company stock prices. We conduct the sentiment analysis of 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 a 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 cooperate with the open source community. What kind of open source software does Bloomberg use?
Edwards: Several years ago we started looking at open sources for our fundamental systems. We use open source software for some of our most important, large scale systems.
Examples include the Lucene/Solr search engine and Hadoop/ Spark distributed database.

How is Bloomberg cooperating with the open-source software community?
Edwards: For example, 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 the code was released through GitHub for a project called bqplot.

This bqplot project is 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 the 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 three-month training. 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 an expert in technology on a career path to become 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 are sought 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 just came out of a collage, we are looking for the understanding of fundamentals of computer science. Candidates need to have not only knowledge related to computers, but able to build out programs.

Will the candidates 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 chances. Very importantly, be well-rounded, and do not just learn programming. You have to learn about literature and communication, not only 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.