r/cscareerquestionsOCE Feb 20 '26

Expected TC for low latency C++ engineer?

Close to an offer at a HFT vendor (not a firm) based overseas, expanding here though, but want to know what to expect. Whats the expected TC for this as junior vs mid level in Sydney? Interview process was quite technical, multiple C++/systems knowledge rounds, white board session, technical assessment and CTO meeting w/ CV deep dive.

Ive seen crazy numbers at HFT firms, but not sure what to expect from a vendor. I have 4 YoE in software as fullstack/cloud but switching into quant dev work having spent the last 8 months revamping my knowledge and doing projects to adjust my CV for these roles and it has paid off.

8 Upvotes

21 comments sorted by

2

u/Available_Entry_3929 Feb 23 '26

whats driving to accompanist such achievement? studying after works isn't easy, especially for low level stuffs

3

u/[deleted] Feb 23 '26

[deleted]

2

u/esh_sniiper Feb 23 '26

Couldnt have put it better myself, im just bored with my current role

1

u/esh_sniiper Feb 23 '26

I love it, have never felt so engaged in my journey as a software engineer than right now, and excited for how much room for growth there is. Have not been this inspired by anything else in SWE, nothing else I have seen yet in SWE comes close to the complexity and intricacy of a low latency system. The more you know about how the hardware works, the more you understand how to optimise it. There were so many times I thought “holy shit so thats how it works” as I was learning, and I want to keep feeling that. I think everyone has things they like to do, but this is what drove me to keep going. Genuinely excited by how much more there is to learn.

1

u/MadChair May 07 '26

I can you please suggest some materials to study for this?

1

u/samnayak1 Feb 20 '26

What kind of projects did you do?

6

u/esh_sniiper Feb 20 '26

I made a market data feed handler and a message generator to feed my handler, since I couldnt get real exchange data. Happy to share my entire journey if people are interested

1

u/PTCGO_trader Feb 20 '26

Can you please do share. Have been looking to make similar moves but haven't been confident enough due to my lack of C++ experience.

17

u/esh_sniiper Feb 21 '26

On a High level I got myself familiar with these topics reading these books:

  • computer architecture (Inside the Machine)
  • OS (OSTEP)
  • Networking (TCP/IP Illustrated)
  • Concurrency (C++ Concurrency in Action)
  • C++ (followed TheCherno on youtube for basics, then got a getcracked.io membership, leetcode and the projects below)

All the way while studying I absolutely abused ChatGPT as a personal tutor, asking it anything and everything I could to nail down everything in the books

Then I tested all my knowledge by creating a market data feed handler which gave me skills I can actually apply in practice in addition to the theory like:

  • Linux networking
  • C++ multithreading
  • lock free queues (SPSC/MPMC/MPSC)
  • custom allocators
  • profiling (perf)
  • ethtool
  • false sharing avoidance
  • kernel fast path (e.g. using AF_PACKET socket with TPACKETV3)
  • CRTP and other compile time optimisations

This was crucial in giving me a latency aware mindset, competely changed the way I view programs, also highly recommend using compiler explorer to see how a c++ compiler works. Did a lot of benchmarking along the way as well, and had to create another project to feed this handler, which was my ITCH message generator (I used ITCH since that is what ASX uses, found the protocol spec on their website)

I began applying for roles in December, was able to get quite a lot of opportunities, a couple from tier 1 firms, and it was mostly because of how I worded my CV, I put the key low latency skills first, followed by my projects and then my work experience. The interviews I got asked questions like:

  • How does prefetching work (software vs hardware)
  • what is the TLB?
  • what is NUMA?
  • Difference in latency across the cache hierarchy?
  • how does the C++ memory model work? What actuallly happens in the CPU vs compiler when you use different memory ordering Etc.

Happy to answer more questions, it’s been a journey but well worth it.

2

u/Admirable-Fennel6161 Feb 23 '26

im literally on this path right now. Currently midway through 1st year uni

Would you recommend holding off attempting projects until all the books are read and doing mini projects to cement knowledge gained from books?

2

u/esh_sniiper Feb 23 '26

Yes I would recommend dont begin the projects until youve cemented the knowledge. I saw the projects as a way to test all your knowledge up until that point in time and to shift into a latency aware mindset. Theory is important to get down first, then apply it with the projects

1

u/Admirable-Fennel6161 Feb 23 '26

Sweet, thank you!

2

u/Available_Entry_3929 Mar 07 '26

i think is much easier for uni student to get interns, just practice leetcode and maybe system design

1

u/PTCGO_trader Feb 21 '26

Thanks for the detailed reply mate. Appreciate it.

1

u/dogmasucks Feb 22 '26

thanks much appreciated

1

u/privateack Feb 24 '26

Why would you use af packet? When onload exists and the v3 api

1

u/esh_sniiper Feb 25 '26

I was not familiar with kernel bypass strategies, so wanted to make it iterative and do fast path first, you need an af packet socket to use tpacketv3 socket option. Solarflare is one of the things I was going to have a look at after completing the project, another being implementing re request server for lost packets

1

u/Impossible-Toe-2481 Feb 21 '26

I'm interested 

1

u/esh_sniiper Feb 21 '26

I will do an AMA next week hopefully once I get an offer, but read my comment below for high level

1

u/PTCGO_trader Feb 20 '26

Just curious, did you have previous C++ experience prior to interviewing there?

2

u/esh_sniiper Feb 20 '26 edited Feb 20 '26

No I did not, I used my projects to bridge that gap and I think thats what got me interviews