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 esoteric 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 $200,000 annual base salary, plus a $100,000 sign-on bonus, plus a $100,000-$150,000 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.”
Minsky added: “It is concise, like traditional dynamic languages are and efficient on the scale that traditional compiled languages are… It has a type system that catches lots of errors for you.” He claims that the language is good at catching bugs, and is relatively simply to understand.
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.”
Moreover, OCaml is becoming less popular; in 2016, 0.226% of of Github’s pull requests were in the language. In other words, OCaml has more than halved in popularity in the space of five years.
But maybe that 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. The paradox is a simple one: “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 potentially 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,” offered 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.
A modified version of this article first appeared in eFinancialCareers.