
Jane Street and the OCaml Compiler (2018) [video] - chmaynard
https://www.janestreet.com/tech-talks/jane-and-compiler/
======
codingslave
Seems to me that firms like two sigma and jane street form some sense of
"mystique" about them with regards to how elite their developers are. But once
you get inside, most people are writing run of the mill software. Google has
the same tactic, even paying below market rates to people willing to work
their for the brand. Jane Street does pay very well, but still, most of their
hiring is based off of prestigious colleges, less off of people who have
written brilliant software. Not that they arent smart. I've just seen enough
marketing, and met too many people working at these firms to give them much
credit from an "elite software" perspective.

~~~
ironSkillet
With so much money on the line, hedge funds and other trading firms focus _a
lot_ of effort on marketing and building up a perception that they truly are
something special (at least those that take outside client money). Internally,
things could be rather mundane, and even downright awful (from a technology
perspective). Not commenting on Jane Street in particular, just the industry
in general.

Source: I've worked at a hedge fund and I've seen how the sausage is truly
made. Many friends have told me similar stories about other firms.

~~~
hermitdev
Also having worked for a hedge fund, they're generally going to do their best
to get you at the lowest salary possible. The overall benefits might be good,
but they're going to do their best to low ball on the salary, "you'll make it
up at bonus time!" Bullshit, You have to negotiate with hedge funds and be
willing to walk away from a shit offer. I started at one a year out of
college. Made 3x what I did as an intern. I was happy, at first. You can
budget around a salary for rent, utilities, etc. You can't budget hoping for a
bonus to make ends meet.

Took me about 3 years to realize I was being paid half of my coworkers doing
the same to lesser jobs as mine. Took me resigning with an offer in hand for
twice what I was making before they upped their offer. I stayed for another 3
years before I got so fed up with the bullshit I actually left for a lower
paying job (also less stress).

~~~
zarkov99
There is another, more sinister reason for low base: typically if you have a
non compete and are forced into a one year garden leave, they can get way with
paying you just the low base.

------
smabie
i asked this question at my Jane Street interview, but never got a real
answer: how does a market making latency arb firm handle GC pauses that are
inherent with any GC language? OCaml is better in this regard than, say, the
JVM, but it still seems problematic. I know they wrote some FPGA compiler
stuff with OCaml, but I can't imagine that all of their execution is running
through FPGAs. Even if it's possible, it seems like an uphill battle;
something like Rust would probably be easier to deal with (at least for their
realtime code).

~~~
helsinki
Things to consider:

The company is >20 years old.

OCaml is a general purpose language that provides an equilibrium between the
avoidance of bugs introduced by state (like all functional languages), speed,
and polymorphic type inference. At the time of adoption, the other choices
were Haskell (too academic, not practical), Erlang (no type inference, not
suited for large code bases with complex business logic), and lisp (too slow,
loose/optional type system). The last time I checked, OCaml was third only to
C and C++ in terms of speed. It is also important to consider how
intellectually stimulating it is to write OCaml. If you can achieve the three
things mentioned at the top of this paragraph while also creating a brand of
gravitas and intellect that attracts top-tier talent, of course you would
choose OCaml.

Would a new, uninitiated market maker write something in OCaml? Unlikely, as
they would probably use C++, Rust, or Scala with a 1TB heap and GC disabled.
Ignoring the learning curve and time/dollar constraints of starting a hedge
fund, I would choose OCaml over the three mentioned.

[1][https://en.m.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_...](https://en.m.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system)

[2][https://courses.cs.washington.edu/courses/cse341/04wi/lectur...](https://courses.cs.washington.edu/courses/cse341/04wi/lectures/06-ml-
polymorphic-types.html)

~~~
tartoran
Why C++ now but not then, 20+ years ago? And would F# be suitable for the
task? Im genuinely interested

~~~
cmrdporcupine
Everything in the C++ ecosystem is better now than it was 20 years go. The
language, the tools, the libraries, the build systems. It's actually fairly
pleasant to work in these days.

~~~
pjmlp
Not really, everything related to app development is just gone, dead, with Qt
and wxWidgets being the remaining survivors.

VCL is only available to corporate shops and those that aren't into FOSS
religion.

MFC is in maintenance mode, and so far Windows developers are more keen moving
into one of .NET UI stacks while keeping some C++ code as COM/DLLs or even
C++/CLI, than jumping into UWP/WinUI. It remains to be seen if WinUI 3.0 will
change the migration trend.

Then on mobile OSes, it isn't even an option, unless you want to write your
own GUI from scracth using OpenGL/Metal/Vulkan.

~~~
dirtydroog
I doubt HFT firms are writing apps in C++.

------
jasone
This is the third time I've watched this video (admittedly with a bit of
distraction today). After the first time I went off and learned about modular
implicits, which appear to be a huge ergonomic improvement, especially the way
the JaneStreet library APIs are designed. The second and third times I got
increasingly sad that so much brain power is being sucked up by algebraic
effects, to the detriment of other advancements. Oh well, that's their
decision to make; JaneStreet continues to do huge service to OCaml in myriad
ways, and I really value these tech talk videos as part of that.

