There has always been a mystery around it since back in my college days.
top schools outside of the US work too...
I applied there 15 years ago. They asked me some logic puzzles and some typical quant interview probability questions. It wasn't about OCaml at all even though I do have an OCaml background and I thought I interviewed for a SWE position. I remember the interviewer was unpleasant for no reason.
A friend of mine interviewed there recently, he got some typical leetcode questions (hard ones).
There is also a steep learning and onboarding curve to climb when you onboard new employees. Significantly low help when you face issues, and just overall lack of help and information when you are stuck in a non-trivial issue. This is not just with F# or OCaml, but with all non-C based languages.
Only reason hedge funds can continue using this is they can pay people to suffer through this.
As far as I can tell Jane Street's use of OCaml serves a dual function in talent acquisition and retention.
1. You attract the kind of Haskell adjacent academic talent who proves their natural curiosity by their interest in pure functional languages.
2. You are the only game in town for your newly created OCaml experts. Monopsony power baby!
Do they need to use a functional language? Almost certainly no.
FP provide type system that are really hard to emulate in other languages. Static type interference is easy to use and at the same time extremely powerful. Static type interference with algebraic types is even more powerful.
In addition OCaml has an absolutely pedantic type system. While ints may be implicetly coerced to a double in other languages, this kind of conversion will be rejected by the OCaml compiler.
Since Jane Street uses their code on the stock market for trading, they don't want to have tests showing their code is correct, they want definite proof. And OCaml can in fact provide that. If you write the libraries correctly, the compiler will prove the correctness of the code.
At the same time OCaml isn't as pedantic about coding paradigms as e.g. Haskell, allowing imperative and object oriented code as well. You could do similar proofs in Haskell but a lot of stuff is much harder to do in a language that is pure FP and not multiparadigm.
It's usually best to pick the most interesting item on the list and submit that instead!
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...