"The best C++ engineers in the industry work for Bloomberg"

eFC logo

If you're a C++ developer in financial services, and you haven't at least vaguely considered working for Bloomberg, you may want to take your head out of the sand. In the finance industry, Bloomberg's espousal of C++ seems kind of legendary.

"We have nearly 7,000 engineers, and all of them write C++ sometimes," says Vittorio Romeo, a software engineer at Bloomberg in London who along with legendary Bloomberg coders like John Lakos is a member of the C++ committee that works to improve the language. "It's probably fair to say that we're one of the biggest users of C++ in the finance industry," Romeo adds.

Bloomberg's history with C++ goes back a long way. The Bloomberg terminal was originally written in Fortran and then C and there's still some of that code knocking around in areas of the UI. Nowadays, Bloomberg is also a big user of Javascript and Python, but it still expects all its engineers to be familiar with C++ and employs C++-focused teams to work on projects requiring low latency code. "We need people who can incorporate code into our ecosystem," says Bret Brown, a software team lead at Bloomberg in New York. "We have teams that need to get data from point A to point B in nanoseconds, and they may need to share code with teams that are mostly writing in Python and working on something that's less time sensitive. This means both teams need C++ knowledge," Brown adds. 

The omnipresence of C++ at Bloomberg is reflected in the fact that the company has what Brown says are tens of thousands of C++ projects and around 2,000 C++ libraries to reflect its use cases. 

Bloomberg's devotion to a language that's usually seen as too esoteric to learn without a considerable investment of time, and therefore too expensive to teach to anyone you've already hired, means the company offers C++ training to its engineers. Although everyone at Bloomberg has to be able to code in C++, you don't need to know C++ before you apply. 

"We're language agnostic, but we look for people who have strong engineering skills and who are quick learners," says Romeo. "Because C++ is one of our main languages, we've developed a lot of training courses that bring people up to speed. It's not one-off training - we have a continuing set of courses to make sure people are up-to-date with the evolution of the language." 

While Bloomberg's pitch to C++ engineers sounds compelling, the company has its detractors too. Forum website Blind has plenty of people complaining about the old iterations of C++ in use in the Bloomberg stack. "Tech stack isn’t very great, C++ is stuck at 03," is one typical complaint posted there. "Many teams are stuck at using C++03," is another. One ex-Bloomberg engineer confirms that this is an issue: "I worked with a lot of C++03 at Bloomberg, and I had to put a lot of thought into things like memory management," he tells us.

Romeo and Brown insist that legacy code isn't that much of an issue, though. Yes, it exists, but you're not going to spend your entire career coding in C++03. "We trust our application teams a lot, and they get the final say in the technology they use," says Brown. "There will be some teams still using C++ 03, but it's far more common to use an iteration of modern C++ from after 2011. If you'd prefer to work on a different project, we also offer the opportunity to move to a new team. - I've switched teams several times since I've worked here."

Vittorio says it's common for Bloomberg engineers to shift between teams according to their interest. "If you don't mind working on order management systems but are particularly interested in concurrency frameworks, you will usually have an opportunity to find that kind of team," he says. 

With C++ engineers hard to come by in finance, Bloomberg's deep pool of C++ talent in unquestionably appealing to competitors. Brown says the firm's flexibility in terms of projects encourages people to stick around: "We hire for the long term. We want people to come here and to stay, not just to see this as two years on your resume."

One potential downer is the fact that Bloomberg engineers are expected to work at least partially from the office: two or three days a week is the norm. Romeo says every effort is made to accommodate developers within this paradigm: "We're very flexible and very adaptive to your needs - if you want to wear pink fuzzy slippers in the office, we're fine with that."

Romeo adds that working in the office a few days a week isn't that much of a big deal in light of the opportunity to learn from developers you'll find there. "The best C++ engineers in the industry work for Bloomberg. This is such a special case for C++. You have some of the oldest use cases of the language, plus the people who are pioneering changes in the language alongside other experts.

"If you're passionate about C++, Bloomberg is the place to be, and there's really no way around that." 

Click here to create a profile on eFinancialCareers. Make yourself visible to recruiters hiring for top jobs in technology and finance. 

Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com in the first instance. Whatsapp/Signal/Telegram also available (Telegram: @SarahButcher)

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

 

Related articles

Close