The coding languages that will get you a job in banking and finance, ranked
Choosing which programming language to learn should be a decision based on passion, but as AI heightens fears over job security for coders, basing it on employability may be the shrewder move. For technology jobs in financial services, there are a few obvious choices.
Click here to sign up to our technology newsletter 🔧
Using data from workforce intelligence company Revelio Labs, we've looked at each of the world's most popular programming languages to see how frequently job listings in financial services and beyond request them. Below are the ten most popular.
True to its 'Excel junkie' reputation, the most popular language in financial services by a significant margin is still SQL. While only around 18% of total technology jobs request experience with it, that figure is closer to a quarter in financial services.
If you're allergic to spreadsheets, the obvious alternatives are Python and Java. Experience in these programming languages are requested in 18% and 14% of financial services job listings, respectively. No other programming language occupies more than 6% of the market share for technology job listings.
You may be surprised to find some internet-favourites not on the list. C++ and Rust, for example, have devout fanbases, and C++ is especially popular in high speed trading. So where are all their jobs? We've gone into more detail in specific categories of programming language below, with descriptions of those categories, should you be a novice looking for your first language to learn.
The best procedural programming languages for a job in financial services
Procedural programming languages follows the procedural programming paradigm; this means that the program is made up of a number of procedures which call each other, resulting in fairly rigid, straightforward programs often used for calculations and data processing. The most popular of these languages in finance is Visual Basic for Applications (VBA).
eFinancialCareers currently has 554 jobs mentioning VBA. VBA pays well in financial services: at the upper end, a hedge fund operations manager using "VBA on a daily basis" can earn total compensation of up to $400k. Shell is a language built for Linux and Unix users, making it a comparatively niche language, but we still have 288 Shell jobs on eFinancialCareers.
It's worth noting that you'll rarely see a listing for a 'VBA developer' or 'Shell developer'; these languages are expected to be used alongside others. They are rarely the star of the show. That doesn't mean you shouldn't take the time to learn them.
The best object-oriented programming languages for a job in financial services
Object oriented programming languages operate under the same broad paradigm as procedural languages, but with a key difference. Object-oriented languages divide their programs into 'objects' rather than functions; these objects consist of both data and functions. Data contained within an object can move freely between functions without the rigidity of procedural languages. This set of languages is home to two of the TIOBE index's top four languages, but one has far fewer jobs than the other.
Java and C++ are both immensely popular languages among coders, but the former has more than seven times as many jobs in finance as the latter. On eFinancialCareers, we have around twice as many Java jobs (1,444) as there are C++ ones (745). However, when it comes to C++ then quality beats quantity; it's the language of choice for a number of major hedge funds due to its excellent low-level control (which we'll touch on again later). An equity derivatives strat role requesting five or more years of experience in C++ can earn up to $900k.
If you're a truly excellent programmer looking to make a lot of money, therefore, consider C++. Otherwise, there are plenty of opportunities in Java, and it will likely be a lot easier to learn.
The best scripting languages for a job in financial services
Scripting languages are most frequently used in an automation context, making them especially valuable in the age of AI. Realistically, there's only one of these languages you should be learning.
Python, one of the big three programming languages for jobs in finance, occupies over 60% of all jobs requiring a scripting programming language. This is due to its vast array of external libraries; there is external support for just about everything you can think of in Python. There are currently over 2,000 jobs in Python on eFinancialCareers, and a London-based Python quant in the high-frequency trading space can earn up to £600k ($766.8k)
If you're looking for a more niche language to learn, consider Ruby. It's got some cult fans in the fintech startup space, including one of the top paying companies - Stripe.
The best data analysis programming language for a job in financial services
It's all about the numbers in finance, so naturally data analysis occupies the largest market share of tech jobs in finance (34.8% in total).
Data analysis is also the only category of language with multiple viable alternatives occupying over 4% of jobs in finance: R and SAS. Both languages are well suited to work involving machine learning models. R in particular is well-loved in big-tech and FAANG, so if you see yourself eventually changing industry, it could be a good language to learn.
Ultimately, though, it's hard to ignore SQL's dominance. There are currently 2179 SQL jobs on eFinancialCareers, including a 'head of global credit and convertible bonds' role in New York paying up to $800k.
The best low-level programming languages for a job in financial services
If you're a technophile that wants as much control over your machine as possible, there are options in finance for you... but not many. As mentioned before, the most abundant low-level programming language is C++. The next most common, Rust, appears in just 0.14% of job listings in finance.
Learning a low-level language is a risk-reward decision. Verilog and VHDL are both specialized for use with FPGAs, which can earn you salaries of up to $200k, but jobs are rare, and the language is apparently "miserable" to work with. Rust is meant to be a more enjoyable alternative to C++ and jobs are fairly common in the crypto space, but even that has mixed reviews.
It's also worth noting that the category of 'functional programming languages', which includes the likes of OCaml, Clojure and Haskell, has been left out entirely as not one language occupied more than .01% of job listings. OCaml in particular is well-loved by Jane Street, but it doesn't even expect its new hires to have experience with it. These languages are often used in similar situations to low-level languages, but they carry more risk and less reward.
Which programming languages should I learn for a job in finance?
The obvious answer to this is SQL, Python or Java... but is it so obvious? Generative AI provides a real threat of making coders redundant, and SQL is presumably one of the easiest languages for it to automate. A language like C++ may have significantly fewer jobs, but it's also significantly harder for AI to replicate at an elite level.
The AI boom may also represent a shift in mentality; it's not about what you're building with, it's now simply about what you're building. If this is the case, then whichever language is your favorite really should be the one you learn, as it will allow you to express your creativity and design fundamentals the best.
Are you surprised by how high (or low) any of these languages rank? Let us know in the comments.
Have a confidential story, tip, or comment you’d like to share? Contact: +44 7537 182250 (SMS, Whatsapp or voicemail). Telegram: @SarahButcher. Click here to fill in our anonymous form, or email editortips@efinancialcareers.com. Signal also available.
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.)