☰ Menu eFinancialCareers

The six hottest programming languages to know in banking technology

Working on project

It’s rare that developers in banking are armed with only one programming language. Now, the demand is for ‘full-stack’ developers who can bring multiple programming language skills – combined with industry knowledge – are most likely to get hired.

Nonetheless, banks are still asking for Java developers, C++ developer or Python programmers for the roles they have. With this in mind, we looked which programming languages are being asked for in major financial centres – through the jobs advertised on eFinancialCareers – versus how many candidates who uploaded their CV to our database over the past year possess these skills. Competition for places is much tougher now than this time last year, when we last did the analysis.

However, these are the hottest programming languages to know in the financial sector right now.

1. Python: 13.9 candidates for every available job

J.P. Morgan uses Python for its Athena programme, and Bank of America Merrill Lynch has built Quartz using it. Python is now wide-spread across investment banking and hedge funds. Banks use Python for pricing, risk management and trade management platforms. More recently, they’ve been reprogramming their trading systems to run off Python rather than other, clunkier languages.

Most banks ask for Python in conjunction with Java. With or without Java, however, our stats suggest there aren’t that many Python jobs out there. There are now close to 270 jobs requesting Python on eFinancialCareers – fewer than the big object-oriented languages but a big uptick on last year. However, there are also not that many candidates.

“It’s a simple case of demand picking up and the supply of talent not keeping pace,” says Paul Bennie, managing director of financial technology headhunters Bennie MacLean.

2. C++: 14.7 candidates for every available job

C++ has enjoyed something of a reversal of fortunes over the past 12 months, largely because of increased demand from less obvious sources, combined with the relative shortage of programming expertise.

“C++ is used in situations where speed is everything,” says the head of one technology search firm. “We’ve seen more requirements not just from the large banks, but also high frequency trading and smaller prop trading houses.”

3. C#: 20 candidates for every job

Investment banks are bringing in C# WPF developers from the bottom up – offering packages for graduates willing to make the move into an investment banking tech role. They’re also hiring old hands to assist with everything from front-to-back projects to cross-asset class trading platforms.

“C# remains a sought-after skill-set in investment banking, but there’s a challenge finding people not just with the skills, but with the depth of knowledge that banks require,” says the head of IT search.

4. Java: 22.4 candidates for every available job

Java has long been the golden child of investment banks, but the problem is that while demand remains (relatively) high with 460 available roles, there are plenty of people who have the skill-set. There’s no shortage of people on the market, but these days it’s all about being both an elite developer and having the financial domain knowledge

“There are fewer Java jobs than there were because of the shift in types of projects,” says Bennie. “Banks are focusing more on quant modelling, which usually means Python, or big regulatory projects.”

The most employable Java candidates now are also well-versed in Scala and – increasingly in the Big Data-led world, Oracle’s Coherence, says Bennie.

5. R: 36.6 candidates for every available job

Banks are using R programming language as big data becomes more important to gaining an edge in the industry. High frequency or low latency trading systems use the statistical programming language R to develop programmes to analyse investment data and risk management. R is often used in conjunction with Python, which (again) is cited as being much more efficient than Java.

“The same equivalent program in Python can be done with four times less code than Java, and using the R language for statistical computing, you can run simulations easily, use the apply function and say in one statement what might take 10 lines of codes in another language,” an analytics lecturer told us recently.

Relatively speaking, however, R is a common skill-set among financial services technologists and while the number of jobs asking for it is undoubtedly growing, it still pales in comparison to the ‘big’ object-oriented programming languages.

6. Matlab: 57 candidates for every available job

In the battle for quantitative finance programming languages, Matlab is losing out to R. There were just a handful of jobs requesting Matlab on eFinancialCareers and it’s a relatively common skill-set among technologists on our database.

Again, though, Matlab should be part of a tech stack among programmers working in quant research. As Gary Collier, co-CTO at Man AHL, told us recently: “In 2001, for example, the chief language we used to build our trading models was SD. This was a language known as Strategy Design, and it was built in-house by people working here. We then moved to C++ and Java for trading systems and moved from SD to MATLAB and R for quant research.”

Contact: pclarke@efinancialcareers.com

Photo: Getty Images

Comments (4)

  1. SQL is definitely bundled with another skill. To be a front-office data analyst you need SQL combined with SAS or MS Office (if you’re stuck pulling data into excel spreadsheets). Back end work you need to know SQL, but you’ll probably be working with programmers for back-end tasks like payroll functions or such. So, you have to know some programming languages in order to know where to draw the line between what SQL will do and what the programming langugae will do. Why? Because while SQL can do some complex things if your statements are coded right, a vast majority of the stuff is just easier to do in a more robust programming language. Querying up data? SQL’s totally great for that. Looping through a data set or something … not so much. The looping and such is just really annoying. I’ve spent a lot of my career doing SQL work, and it’s great for what it does, but I’ve seen some cases where folks are trying to use it to make up for end-interface activities, and cases where someone’s trying to use some VB to go through each record and determine if something is XYZ when a simple SQL statement could easily query those records in a snap. Generally, if you’re going to be “the SQL guy” you will do better if your’e versed in a few programming languages that help you act as a business analyst in addition to data analyst. It’s also good to be well-versed in MS Excel, because some departments are stuck with it, and a SQL statement that can generate a nice table to dump right into Excel, then turn it into some charts can be a life saver for a department that doesn’t get access to the cool-kid tools like SQL Reporting Services. (I’ve seen IT departments withhold access to SRS for out-of-IT data analysts that really needed it for robust reporting, but the IT guys are using it for glorified table pulls … and they call them “reports”. No, a table / query pull is not a report. It’s a data pull. Get over yourselves.)

  2. Python, C++, C# and Java as “hot” programming languages … well, they are widely used but are they really hot?

    SQL and HTML as “hot” and as “programming languages” …LOL. the former is a querying language the latter is a markup language. Both are not considered as fully fledged programming languages. However “hot” is non of them.

    Really hot are functional languages such as Scala, Erlang or OCaml. They are extremely efficient in particular when it comes to implementing distributed, highly concurrent systems.

  3. Most experienced programmers will know several if not all of these. That’s why during job interviews they’re asked to code in the language they prefer. Sometimes the coding test is given before the interview to filter out the weaker developers, often through third-party platforms like TestDome: https://www.testdome.com/
    The technical interview then only takes place after candidates pass that first obstacle. All this nonsense about certain languages being “hot” or popular is… well nonsense.

  4. As the above commenter correctly stated: SQL and HTML are not programming languages.

    Why not R or Matlab? Both are widely used in Financial Engineering and many applications of modeling and analysis of data.

The comment is under moderation. It will appear shortly.


Screen Name


Consult our community guidelines here