site banner

Small-Scale Question Sunday for February 18, 2024

Do you have a dumb question that you're kind of embarrassed to ask in the main thread? Is there something you're just not sure about?

This is your opportunity to ask questions. No question too simple or too silly.

Culture war topics are accepted, and proposals for a better intro post are appreciated.

3
Jump in the discussion.

No email address required.

Does anyone have advice for transitioning from FAANG -> finance/HFT?

I know some c++, but not a ton, so "learn more c++" is the obvious first step. Beyond that, unclear to me what to do. I'd like something fully remote that pays better than FAANG and is less soul crushingly boring. Something with high performance code instead of just tons of business logic.

Relatedly, I'm about halfway from (1-2 years away from) promotion to senior. Worth sticking around to get it, or jump ASAP? Leaning "stick around" to hedge my bets and have time to study.

Does anyone have advice for transitioning from FAANG -> finance/HFT?

Move to where the HFT work is: Chicago or New York City.

Already tried that, got an offer >2x FAANG, doing cool work. Ain't worth it to me. I bought a house I could happily live in, indefinitely, in shorts. Hence, in OP:

something fully remote

Understood. Good luck in your search. Unfortunately, many firms aren't keen on fully remote work.

Mostly unrelated to answering your question. I'm too low IQ for FAANG so yeah.

But is C++ a thing in HFT? I thought most HFT guys were just using Python given the limitation is mostly network latency and not necessarily compute. And given that, shouldn't they just use a more web friendly low level language like Rust or Golang?

I'm always a bit taken aback when I hear of yet another group of people other than game devs or embedded devs torturing themselves with C++ in 2024 when so many equally performant alternatives exist.

HFT operates at such low latencies that they choose where to locate their servers based on length of fibre optic travel. Within the same city. When things are that tight the programming language will matter.

Golang 1.0 came out in 2012 and Rust in 2015. HFT was long established by then, so they already had significant C++ codebases.

Also at the highest performance levels they may be using things like SIMD or CUDA, and the C++ tools for those are much more mature.

I also didn't think that c++ was a quant trading thing. I remember actually that I had a friend at Jane Street that talked a lot about OCaml.

I had a friend at Jane Street that talked a lot about OCaml.

Jane Street is an anomaly. Most firms rely on C++.

Plenty of shops do use C++ for their production code. JS is known for their OCaml but they are unique in choosing that language.

Yup. Blog post if you're curious: https://blog.janestreet.com/why-ocaml/

Their podcast, Signals and Threads, is awesome. https://signalsandthreads.com/

I think count is a quant, actually.

Yep, I don't develop prod code with C++ (actually I think it is a terrible language and the future belongs to Rust) but rather all my coding is in the standard data science Python ecosystem of numpy/statsmodels/pandas/sklearn/matplotlib and their variants.

I'm not an expert on C++ or HFT, but I think in short: yes. Very much so. The main thing. When I've interviewed in the past (Citadel, Two Sigma, etc), C++ is a huge topic. Outside finance, I get language agnostic leetcode type things (and usually answer in Python). In finance, details of C++ are the majority of the interview topics. E.g., implement your own shared_ptr class.

I think that while there are finance jobs where Python (no doubt wrapping Pandas or similar, and therefore C++) is adequate, something faster/more customizable/more predictable is usually needed. Golang is garbage collected, so the pauses will ruin your tail latency. "Web friendly" is not relevant at all to HFT.

Rust is an option - it should in general have equal control and performance to C++. But, the institutional knowledge and ecosystem are just not in the same league as C++. The basic rust tradeoff vs C++ is that you get more safety, but it's harder to get anything done. Maybe a sufficiently good Rust programmer can be actually more productive, since the safety lets you avoid thinking about certain things, but there's vastly more adequate C++ programmers than Rust ones.

Idk if "too low IQ for FAANG" was a joke or not, but I think "medium IQ, high conscientiousness, high willingness to be bored for money" is more the requirement. Sure, there are people doing cool shit who need all the IQ they can get, but it ain't most of us. For every engineer optimizing the company-wide database engine, there's thousands shuffling bits from A to B.

If you’re interviewing with Citadel (and presumably didn’t get the offer, hence your question), surely you can just ask them what you were missing that the accepted candidate(s) had?

Almost nowhere I've ever interviewed gives feedback. It's a legal/reputation risk for no gain.

BTW, I personally would recommend against joining Citadel unless you very strongly know the team you are joining is a chill one. That place single handedly generates over half the horror stories you hear about the area.

Their compensation is top notch but it doesn't come for free, you pay in terms of scarring to your heart and soul.

How does that malignancy manifest directly? Is it shitty/abusive management? Long hours? Excess length shifts? Etc.

Curious as someone coming from an unrelated but likely similarly awful field.

Basically all of them. Citadel (Citadel Securities here, I'm not familiar with the hedge fund but I've heard it's even nastier) works you worse and longer without your weekends being protected compared to other firms (of course this all depends on exactly which team you are in but the culture there is not the best, plus as you can probably tell given how different things are between different teams it's very siloed which in my book at least is a significant negative).

I had (multiple) friends who were given offers for internships with Citadel in December only to find that the person who gave them the offer had been fired by the time they started the internship in June. Also things like Citadel Securities having hired close to 5000 people between 2019-2021 when at the end of 2021 it had a total head count of 2500 people. Just goes to show you what the turnover is at that place.

Random story I heard about Citadel (this was gossip so no idea how true it is, but it sounds like the thing Citadel would do):

When the Citadel higher ups are not happy with the performance of a portfolio manager (PM) they want to get rid of him. Naturally it's possible that the dude just had some bad luck recently so they can't be sure firing him is a good idea (because they want the dude to continue to make Citadel money if he is good) but equally they don't want to lose any more money in giving the dude a grace period if he is actually bad.

So instead what they do is secretly cut off his team's access to the real markets and connect it to a mock market instead without informing the person. When the dude thinks he is doing a trade what really happens is that the trade is routed to this fake show market Citadel have created for him. That way the dude keeps thinking he is managing an order book when in reality all that is happening is that he's trading with play money no different to what you can do with one of any dozens of apps on your mobile phone.

This way if the dude is actually bad he doesn't cost Citadel any more money before they fire him. Of course if he is good (less likely than the alternative because only low performers end up in this regime anyways) all his trades where he thought he was making money weren't doing anything so Citadel does loses out on some money. But that's basically fine for Citadel because they can just reduce his bonus down to reflect the real amount he made for Citadel and not the amount he thought he had made because that was what his screens were showing him. Plus he still has his job so as far as they care, he should be happy...

That is hilarious and sad. Thank you for sharing.

If you're in FAANG, don't you already have finance people messaging you every other day on linkedin trying to get you to switch already? Context: I have been in FAANG for 8 years and I personally have these recruiters constantly messaging me, and have had this since year 3 in FAANG.

I assume that when you're talking about getting into finance, you're talking about getting into the software side of quant trading. If that's not what you mean, then maybe it's harder to do than just taking the recruiters up on their offers.

I do have those recruiters, yeah. I've even successfully gotten an 2x FAANG offer, but turned it down because it wasn't remote. I still think there's things I don't know about how to optimize the process, e.g. what pay/companies to aim for, beyond "trust your recruiter."

Software side of quant trading roughly, yeah. I also don't really know what the options are. I don't want go in the SRE/ops direction, probably - my only experience with that at FAANG was more stressful and less interesting than SWE. I have a math bachelors from a top program, which maybe opens up my options slightly. If nothing else, it seems to make companies happier to talk to me.

Well, I don't know too much about switching, then, but I do know that I've seen previous coworkers make the switch, and at least one switched via some sort of special program designed for taking engineers and teaching them what they need for quant trading.

I myself would be very interested in whatever findings you come up with!