Discover your dream Career
For Recruiters

The coding language used by the most elite developers in finance

If you're learning a coding language with a view to becoming employable in a technology role in financial services, should you choose something like Python, which is well-used across the industry, or should you go for something a little more obscure?

A recent Substack blog post argued for the obscurity route. We've already looked at the value of languages like K and Q for finance jobs, but there's also merit to learning functional programming languages like Clojure, F#, Scala, Elixir, and...OCaml.

OCaml is the language used by Jane Street, the quantitative market making firm that last year paid its lucky graduate trainees a $200k annual base salary, plus a $100k sign-on bonus, plus a $100k-$150k guaranteed performance bonus. Jane Street's revenues in the first quarter alone of 2020 were greater than Citadel Securities' for the entire year. 

Jane Street uses OCaml as its primary development language. In a YouTube video posted six years ago that's had over 62,000 hits and counting, Yaron Minsky, Jane Street's head of technology and the man who convinced the firm to use OCaml in the first place, said the language is "in a kind of sweet spot in the design space."  - "It is concise, like traditional dynamic languages are and efficient on the scale that traditional compiled languages are," said Minksy. "It has a type system that catches lots of errors for you.. and is relatively easy to work with." OCaml sits in a "nice place," he added: it's good at catching bugs and relatively simple to understand what it's doing. 

At one point, Minksy said Jane Street thought of using C#, but that OCaml was much more concise and easy to read, making it less prone to errors.  

Separately, Minksy observed that Python is, "crushingly horribly insanely slow." 

Because OCaml is so flexible, Minksy said Jane Street uses the language for everything from little scripts to automate small tasks, to big trading systems trading billions of dollars a day. It's a "single tool that works for a large variety of applications." 

The only problem with OCaml is that not many people know how to code in it, and therefore not many people use it. At Github just 0.121% of pull requests are in OCaml, putting it slightly ahead of R (0.093%) and Julia (0.071%), but way behind Javascript (18.8%) and Python (16.6%). Moreover, OCaml is becoming less rather than more popular - in 2016, 0.226% of of Github's pull requests were in the language; OCaml has more than halved in popularity in the space of five years. 

Maybe this doesn't matter. Minksy explains that Jane Street's rationale for using OCaml is partly based on the "Python Paradox" posited in the early days of Python by YCombinator founder, Paul Graham. This says that: “If a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it.”

On this basis, your value as a developer is partly defined by your commitment to learning obscure languages. And although Jane Street doesn't actually mandate knowledge of OCaml for its interviews, if you can code in its pet language, it will show a lot more interest in the role than if you can't. 

As multiple forum posts attest, OCaml isn't easy to learn. However, it learning it can be worthwhile even if you don't get into Jane Street. "Anyone apt enough to learn OCaml can likely pick up other languages," said one poster on Blind last year. "OCaml will teach you some deep and transferable skills," said another poster on Reddit, adding that the OCaml route is, "profound and mind changing."

It's not just Jane Street that uses OCaml, and it's not just Jane Street's developers who can code in the language. Technologists and quants who can code in OCaml are to be found everywhere from Citi to Morgan Stanley, JPMorgan and Goldman Sachs. Bloomberg uses OCaml for an advanced financial derivatives risk management application. Outside of finance, it's used by Facebook (for some developer tools) and by Dropbox, among others. 

The potential danger of becoming highly proficient in OCaml is that you'll get a job at Jane Street, become immersed in the language, and - in the style of Slang at Goldman Sachs - slowly become less employable anywhere else. However, as one headhunter points out, this isn't really an issue: "If you get a job at Jane Street, you won't want to leave because nowhere else pays as much," he says.

Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com

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.)

Photo by Quinton Coetzee on Unsplash

 

author-card-avatar
AUTHORSarah Butcher Global Editor
  • Ro
    Roberto Enrique Prosperi Fanti
    20 June 2021

    Funny how many people are touched by then saying that python is slow, not all people love all languages and is funny to me that people nowadays utterly hate C, C++, Pascal and the likes. That something is hard to understand doesn't mean that is bad.

    C and the likes are easy if you have understanding of how computers works the problem is that now the trend is pushing coders and not developers that you can make a program doesn't really make you a good developers I have seen people struggle to find an Integer Overflow in a pascal language, they asked me what is failing and came see the number turn to negative and automatically told him you have an overflow you used a small variable for the values that you are using, they never told you that in university? The answer was NO. Because they learned only light typed languages like Javascript (my God I love its speed but hate how you can make anything accept almost anything creating a horrible code without a good plan).

    TLDR: People today despise old languages to the point of saying the aren't used anymore or they will disappear. But, a lot of those people don't even know how a computer work how memory work and don't even know how to read documentation, just copy paste stack overflow.

  • Mi
    Minnow
    17 June 2021

    To get ahead of the pack, i'm learning Y, J and G

  • Ab
    Abhijeet
    16 June 2021

    While we are at it let's just move to good old ASM, nothing, can beat ASM in "performance".
    I honestly would like to see real world benchmarks that prove OCaml is faster(better!?).

  • no
    northhinkle
    16 June 2021

    Ocaml, c, assembler, yapl. If you don't understand how all of them generate relatively inequivalent machine language you are journalist or upper management.

  • wo
    wonderwho
    15 June 2021

    My total compensation offer was only $150k, including sign on bonus and end of year bonus.
    Ivy league grad with 3 previous internships, multiple conference talks, and published papers.
    This was for 2020.
    Either they lied to efinancial about the offers or some people are getting significantly higher salaries than others.
    Demographic information : Hispanic female

Sign up to our Newsletter!

Get advice to help you manage and drive your career.

Boost your career

Find thousands of job opportunities by signing up to eFinancialCareers today.
Recommended Jobs
Garrison Associates, LLC
Quantitative Developer
Garrison Associates, LLC
Manhattan, United States
McCabe & Barton
Senior Software Engineer C# 12 month FTC, London, City
McCabe & Barton
London, United Kingdom
CW Talent
Quantitative Researcher
CW Talent
New York, United States
Bank Vontobel
Senior C# / .NET Developer
Bank Vontobel
Zurich, Switzerland
Westbury Partners
Senior C# Developer
Westbury Partners
Sydney, Australia

Sign up to our Newsletter!

Get advice to help you manage and drive your career.