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.

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.

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.