#Mid-level trading job switch (completed)
105 messages ยท Page 1 of 1 (latest)
Not yet. Interviewed with S last week and still waiting for results
How did it go?
Failed interview with big shop S. They asked how to reassemble out of order packets (e.g., receive 1 - output 1; receive 3 - output nothing; receive 2 - output 2, 3). I provided a too complicated solution first and ran out of time.
Going to interview with big shop U next week. Passed their OA this week. Their OA consists of 1 medium leetcode, 1 hard leetcode (match 010111011 binary pattern in a binary sequnce - needs to write KMP to get full score) and one problem asking you to complete their half-baked program for a given problem. Kinda challenging
Interviewed with another smaller shop O this week. They just started this year and have single digit of employees but their profiles are quite impressive (Facebook E6, ex big shop quants etc). The interviewer left me with good impression. However one their cofounders seem to be quite stringent on WFH policy and justifies that with "company values" which is an yellow flag for me. Plus their strategy seems to require little tech challenge. All members except one are Chinese. Overall a maybe, probably to the 'no' end for me.
The interview asked two leetcodes - one medium and one medium-to-hard and asked me to implement a binary heap as the last question. Pretty standard LC interviews as in FAANG.
I got that question at Bloomberg
What was your solution? I just used a hash map in Python with a counter that stores the number of the last message that was printed out
Don't think there was a better one in terms of time/space complexity
They moved me on to the next round at least
Yeah that's the solution. I tried to implement a ring buffer solution but got confused by how to track the last message (thought need to track individual consecutive blocks and maintain a free list etc) initially and ran out of time ๐
Darn, looks like you were thinking about it in a much too complicated way, but it happens. I got confused by that question too initially, as the solution seemed a bit too simple
Is L's offer still valid btw? 480k TC doesn't sound bad at all
Still valid until Oct. It's first year bonus and for smaller shops it's hard to say what the 2nd year bonus would be, so I'd like to postpone a bit until I get other offers
Is this on LC?
No, didnt find it there, atleast after the interview when I looked for it half a year ago
The way it was phrased in my interview was also not the typical way of LC questions (i.e. have a function that takes an input and just returns an output), rather, the function would be called multiple times with the packet number and msg, and I had to store messages in a global variable outside the function
(Though I guess you could just pass a list of tuples containing the packet number and content, and have the function return a list of strings, which are potentially empty, that stores the output after the i-th packet was received, at the i-th string in the list)
What exactly was the "higher subsequent bonus guarantee" at L then? I thought that wouldve meant at least the first year bonus
Or is that too low for you, lol
just an oral promise. Such oral promise from a small shop will only be kept when the market is good according to my experience.
I see
What are the best ways to get information about smaller shops, in your opinion? I have no friends or any "professional circle" that I could ask unfortuntely, and theres very little information on blind as well. Adding people randomly on linkedin doesnt sound like the right way to do it (of course I could still check if people left en masse recently)
Technically speaking professional circle is the best way but as said it can be very hard to get into if you aren't in this field. (I was referred into one by another new hire during onboarding. Joined another group via one of my friend in Optiver).
Linkedin can be helpful if you can find people in that small shop who are willing to answer questions. Asking the right question is important since "good" or "bad" alone from a person only worked in a firm can be highly subjective.
Then come all my personal heuristics: 1. Avoid founders who worked in a toxic shop for a very long time and suddenly left - lots of the times they will bring the toxic culture to the new firms 2. Partner 1:1 talk. Choose the person you like to work with. Ask them what they would do when a) launch a new trading team b) the market goes downturn, and follow their mindflow to figure out what they value most. 3. Regarding their existing tech infrastructure, ask their engineers how long does it take to onboard a new PM to the trading platform.
Nice, thanks for the advice.
Avoid founders who worked in a toxic shop for a very long time and suddenly left - lots of the times they will bring the toxic culture to the new firms
This probably applies to all firms, trading or not... (also see # of people complaining on blind about ex Amazon managers in their companies). But again this would require me to know what shops are toxic and which aren't. The only ones I am sure is bad is probably Citadel, and tower research capital. I have heard bad things about SIG but mostly about their tech (and TC too I think), not about their culture. I have heard Optiver isnt too great either, very transparent bonus structure but also bad WLB (and perhaps culture?). For example, Da Vinci derivatives was founded by ex Optiver ppl, and they write in their job requirements that applicants must not have "a 9 to 5 mentality" and be open to "flexible working hours". Normally I'd see this as a red flag - isnt it?
(by the way, have you heard of https://www.reddit.com/r/IMCWhistleblower/ ? I looked at the blog while it was still online and there was some disturbing shit on there, OTOH I have heard IMC is pretty good culture-wise for a trading firm)
ask their engineers how long does it take to onboard a new PM to the trading platform.
Whats a PM here? Trading firms dont have product/program managers, right?
The heuristics definitely have bias and I consider it a yellow flag depending on the company. Citadel and Tower are like 30% toxic to me while Optiver more like 15% based on my experience. That being said there's no easy way to learn about toxity of a firm without a professional network. I usually ask founders about their opinions about former shops. Regarding the working hours, you can just ask during the interview for the exact working hours and withdraw if it sounds bad. It takes a lot of time though, which is why this job hunt might last for half year.
I'm not aware of the IMC drama linked above, but I have a very close friend working there and it's nowhere as good as Tower/Optiver.
PM means portfolio manager. Siloed firms typically consist of several indepedent trading teams, each led by a PM, responsible for their own profits and losses.
The phone interview with big shop U went on barely okay. They asked how to implement a basic stats algorithm and I have to google its procedure and managed to get it done before running out of time with lots of troubles. Perhaps 30% probability of passing. Still waiting for resutls.
Passed round 2 phone interview with smaller shop O, they asked how to parse arithmatic expressions (leetcode - basic calculator 3).
Very likely I'm failing to get into all major shops this year ๐ hence I'll shift my focus to tech firms in the next couple of weeks
@dreamy topaz do you have a list of companies? trying to find a good list to apply to
Apparently last round's interviewer from big shop U had a great day and gave me a pass. Interviewed with C today. They basically asked the same question as big shop S so I nailed it without any issue.
It's recommended to cooperate with a good headhunter and they will sort out the list for you.
Big shops C rejected me immediately after a good interview. Guess this role is a pipelined dedicated position and someone else signed the offer today. It happened a lot in my firm๐ฅฒ
F
means the company is interviewing multiple candidates for one position, with one candidate in first phone interview, one in onsite, one in offer negotiation, and once the last one accepted the offer the firm immediately rejects all remaining candidates for the role. Very common for hedge funds
Mid-level trading job switch (pausing)
Pausing the update and interviewing for a while due to real life mental issues striking me again ๐ If the therapy goes on well I'll slowly resume the process in weeks
Best of luck
Fortunately the therapy went on well so I'm back!
- Big shop U: second round of interviews : 3 rounds in 3 hrs fully remote
- Round 1 Interviewed by Quant: Only in Python (not my best language). Asked how to fix
for i in range(10): list.append(lambda x: x + i)capturingiby reference (thus always 9) and writing a Redis-based Python cacheit decorator - Round 2 Interview by Senior Dev: Tons of Linux quirks: Fork/Exec. Sticky bit in the output of stats(). Asked how to implement a distributed heuristic-based scheduler
- Round 3 Interview by Senior Dev: Implement an order book supporting Adding orders, removing orders, exec orders and stats of a symbol
- Overall did okay: probably 40% chance of passing
- Round 1 Interviewed by Quant: Only in Python (not my best language). Asked how to fix
- Small shop O final interviews:
- Round 1: Leetcode hard. Barely made it after many hints
- Round 2: Implement template-based LRU cache. Need to work with move-only types in C++
- Round 3: Implement order book (only add and remove orders. no exec)
- Round 4: Founder culture fit
- Did super great but sort of dubious about their firm. It's a pre-series-A startup and they explicitly want me to work 45h/week with no support for remote working in the first half year. However they also offer PnL cut it's really hard to get at my current level. Going to wait for their numbers
Mid-level trading job switch (ongoing)
Glad to hear it went well
sorry to hijack this thread (good luck!) i'm in awe at the sheer range and depth of the questions. holy ****,
implement a binary heap
wow, i can barely remember anything besides percolate up, let alone array-based representation or anything like that. i'd freeze up for sure
(match 010111011 binary pattern in a binary sequnce - needs to write KMP to get full score)
my first gut feeling was rabin-karp / rolling hash, but collisions would be a PITA to deal with
systems, C++ trivia and stats
christ, C++ engineers are a different breed
Hey bro, I hope the search went alright in the end
it's been a bit of time, I was kind of wondering if you had any advice about
new graduates for quant jobs
I was an informatics olympiad student in high school as well
doing competitive programming
I continued doing competitive programming in university, and eventually came 1st place in my country in 2020
it was always just for fun though, and I didn't have a team so I never did the international tournament
(I was kind of expecting to try again in 2022 or something, but didn't get around to it because of family issues)
tbh though, my GPA is terrible, like a 3/9 (equivalent to 2.6 for US), because of all the family issues, I could never really focus on my classes or assignments, and so just, took all the math/compsci/programming I learnt in competitive programming to just ace exams and scrape an assignment or 2. Our uni is stricter than american unis as well generally for how failed classes weigh down your GPA
My university's CompSci courses were also just garbage, which made it just 10x more demotivating (my lecturer would get basic path-finding algorithms like breadth-first-search wrong, and wouldn't give us implementation-based, leetcode style questions. Instead it was "Write down the order of which nodes are traversed" and then it'd be based on an incorrect implementation, or university's own very specific implementation). We had a basic python final exam where a question was worth 20% of the marks, where we had to implement a basic given formula following PEMDAS, and they wrote the formula wrong.
So many problems, terrible uni and staff (except for some of the more specific 3rd year courses)
and the last few trading and quant jobs I applied for, it kind of just felt like I got instant declined cause of my GPA
I've been applying for web development jobs in the mean time, and acing their interviews pretty easily
but tbh, I want to do some form of data analysis, statistics, quant or trading type job, cause I find that really fun
what do you reckon would be the sort of pathway for someone like me
is it still possible to get in with a bad GPA, or do u reckon I like, go do honours and try to get a good GPA this time (given that everything in my life is a lot more stable now)
I think, even the last trading job I applied for, I got 8/10 on their statistics (partly based on pure-math statistics theory, and some medium difficulty probability) questions, and something like 17/20 on pattern finding (some extremely difficulty, some super easy)
but I still got declined, so I'm just a bit lost as what to do in the given situation
TL;DR, not sure if I'm being declined from trading/quant jobs cause of piss poor GPA, or if am just getting unlucky. Wondering if I should do honours in CompSci or something, or just keep applying, and if acing tests and talking well in interviews is enough?
Sorry for the late reply. In the end I stayed in the same position. Although the team isn't great (general infra, pretty far away from profit center) and pay is mediocre, the team grew a lot to face uncertainty recently, and two new hires start to report to me. Career-wise I'm moderately content with my status.
Glad to see you achieved high in competitive programming! The GPA isn't the definitive factor in your case - please include the explanation of family issues on your resume and mpst trading shops are willing to give you a interview. Don't worry too much about the GPA.
For the reason of you getting declined, I think some of them could attribute to communication (did you have a pleasant talk and act smart?), and the others might be purely luck - firms overinterviews more candidates than their needs and it's possible during the rolling interview season someone outperforms you.
For actionable items right now, probably you can seek for referrals on TeamBlind - pretty sure many folks are willing to help you if you post your story
hey thanks for the advice bro, it's good to hear that it's not a definitive factor lol
yeah it could be a good idea to ask them to overlook the GPA ay
I had never heard of teamblind before though that sounds like an interesting as forum
yeah this could entirely just be an issue of luck tbh lol, and
I probably do need to just give it time and patience, and keep working on my CV
I think for now at least, I have landed what seems to be an alright web-developer job
whoops, was still typing but forgot to hit enter lol
I landed a fullstack development role, so I think this will be like a
good job to do in the mean-time so I can save for a bit, and maybe I'll go for quant stuff next year
Good for you. Realistically speaking I feel like continuing the SWE path while using your algorithm knowledge is probably the lowest-fraction path. It's not impossible to switch but you may need some time to build up the background
check my dm
dogstar_7749 was kicked. | probably a bot
thank you for sharing your journey and giving all the details. really informative to read.
Mid-level trading job switch (completed)
@dreamy topaz intrested
where'd you end up?
3-4 YOE at one of the major trading shops as a C++ engineer. Looking for a job switch for TC growth and team change (currently underpaid and in a not-so-interesting team). Won't disclose my current company name because it would bring me into trouble as I may stay in the same team if the search doesn't go well. Looking for both trading and tech oppotunities.
Will create one reply for each firm.
Hightouch (the reverse ETL firm): Senior backend engineer. TC 225K + 0.15% options. Status: HR chat
Another big trading shop: Trading Engineer. Status: Just applied
A small crypto trading shop (L): Status: Offer out. 240K Base + 100% guaranteed first year bonus
Preparation:
- Routine leetcode grinding (800 solved and 1-2 questions a day to sharp mind)
- DDIA (rough read completed. Needs a second read for the latter part)
- Browse interview questions from online forums
Information Source: - Blind (read post and DM folks working there)
- Linkedin (check if there're lots of people leaving that firm recently)
- Friends and professional circle (most reliable, but be aware of individual bias)
On-site interviewed with L today. Overall went on well and impressed the interviewer with several angles they never thought about. However the shop is simply too small have enough work for another senior engineer while I'm not really interested in another mid-level role. Likely I will only use their offer as a leverage in TC negotiation.
I'm interested to see how often that sort of thing happens; there definitely does seem to be a sweet spot where you're experienced enough you're really useful but not enough the number of positions is really limited
(And also, wish you the best of luck!)
thanks for the wishes! I found it happened a lot during trading job search recently. It's kinda weird that smaller shops focus more on your tenure even though 2-3 YOE already suffices for their requirements, while larger shops are more eager to grant you an effectively senior role. To be honest I feel like my current team is not tha bad after the interview.
Interviewed with an Asian-based small trading shop (T) planning to launch a US office: Not impressed. They just want to hire cheap labors to crowdsource strategies and also batch move L1 labors to US. All prospective employees in US office are Asian. All red flags for me
Talked with L's CEO just now. Looks very capable while still raising my concern that to what extent would he view devs as a profit-making instead profit-taking department. Going to wait and see how much they can offer
What are the interviews like?
So curious about the day to day work is it infra related? Lowering latency are these guys like citadel ( the trading arm)
For smaller shops, the interview is pretty simple if you come from a established good shop. All I experienced is: 1) design a simple trading system to arbitrage the price differences between Bitcoin and Bitcoin futures 2) write a program to sum the numbers from a lot of files using all cores as fast as possible 3) translate some Python pandas code to C++, probably plus some C++ odds like what does override/final keyword do
In 2022, lowering latency is no longer an unexplored area in any big playersin this field. Methodologies to reach latency under X have been discovered, so latency optimization work would mostly be replicating previous efforts (still challenging though). I'm not working in the low-lat department and my daily job is like getting new market data, integrating with a new market, telling quants what we can do and what we can't, and get their strategy up and running. Performance is a focus but the goal is to reach a loose target instead of be as low-lat as possible.
L's offer is out: 240K base + 100% guaranteed first year bonus + higher subsequent bonus guarantee. Okay-ish considering the company size and risk
Update: Rejected by Hightouch because of tech stack mismatch
Interview at a big trading shop (S) next week
How would you do 1?
If Future < Bitcoin:
Buy Future, sell Bitcoin
else if Future > Bitcoin:
Sell Future, buy Bitcoin
Exit the trade when Future == Bitcoin?
(of course taking into account that 1 Future = 5 Bitcoins)
For 2:
Would you only have to do it conceptually or do you have to write actual multithreading code?
Sorry for hijacking your thread here
It's fine to comment. For 1), your reply describes the 1000-ft perspective of this system, but in detail there're many issues worth visiting. For example, the size of the minimal futures order is typically larger than Bitcoin; There are multiple Bitcoin exchanges; Network is imperfect so your "futures price" and "bitcoin price" arrive at different times; commissions; How to backtest;
writing actual multithreading code on paper. You can look up references using laptop though
Wow very illuminating thank you
how did you grind 800 LC questions? can you elaborate on your process?
Maybe not the best person to give suggestions since I used to be a competitive programmer in high school, but my way is to pick one question every day, think for at most 15min before writing code or reading answers, and write a short note about new skills/generalizable knowledge learned from the question. The 800 questions were solved over the past 4 years at spare time.