Low Level C/C++ Software Engineer at Quantiq Partners (Los Angeles, CA)

Quantiq Partners

Software Engineer Full Time

Quantiq Partners is a high frequency trading company.  You will work with a small team on core trading infrastructure development with two primary goals in mind.  First is the ongoing improvement of existing software, as measured by an increase in clarity, simplicity, and maintainability while improving latency.  In our experience the simplicity and speed of software is a reflection of how well one understands the problem, and thus much of our time is spent in discussions versus actually writing code.  We also intend to maintain a relatively small code base, and any git commit that removes lines while maintaining latency and clarity is highly regarded.  The second goal is to expand our trading infrastructure to new trading venues. Some venues will require us to learn a new market data protocol, while others are effectively copy paste with very important asterisks.  In either case, the addition of a venue into our normalized framework tests our assumptions and generally deepens our understanding.  Both goals have a direct and measurable impact on business performance.

About You:

  • Bachelor’s degree in Computer Science/Engineering, or a hard science.

  • C++ experience (incl. C++20).  Our goal is always to generate the correct machine code while having a maintainable high level representation.  While we believe C++ is the best tool for the job, we do not make heavy use of a lot of the features and have minimal reliance on either the standard or external libraries.  We expect you to be comfortable with templates and lambdas, and to understand the copy/move/assignment operators (although they are not frequently used).

  • Linux familiarity.  Experience with shared memory is a bonus.

  • You have network programming experience.  Ideally you could explain the structure of a TCP packet from the ethernet frame up to the application data, and also be familiar with the protocol itself.

  • You understand modern x86 CPU architecture.  Ideally you're aware of how to write performant code in this environment.

  • You are comfortable with micro optimizations.  We want the fastest code possible in real world scenarios, no exceptions.

  • Assembly knowledge is a plus, as is Python.

  • You love to talk through problems and are as happy being wrong as right if it means you've learned something.

If you fail to check all the boxes but can strongly check others please don't hesitate to contact us.  We're looking for talented people, not some imaginary perfect fit.