TSINT Software Engineer Job Description

A cute blue squid with the words TSS Integration above it

The Two Sigma Securities Integration (TSINT) focus group deals with the Two Sigma trading system as a whole, and is tasked with making the system simple, unified, runnable and reusable. TSINT's general architecture and focus is described here. If you think this sounds cool, you may be a good fit.

As an engineer on TSINT, you will work on many systems and technologies throughout the company to make the trading system better as a whole. Your work will be significantly self-directed, collaborating with many other teams to make improvements, depending on what areas you judge will give the best reward for investment.

You will work to improve the whole trading system, by:

Some skills/experience that would be useful, and why we want them, in descending order of importance:
Skill Reason
Linux userspace programming Linux is the common standard that all components interact within
Type systems to organize complex systems We like types
Object-capability design That's one of our core design principles
Contributing to open source We open source wherever possible, and our model is open-source inspired
Working with other teams on components That applies to almost everything we do
Writing reliable integration tests We spend much time helping other teams write integration tests for the system
Property-based testing, fuzzing, etc. For integration testing the system
C, C++, Java, Rust, System Verilog, Python You'll need these to work with components
Python, with type annotations and async You'll need it to work with the single-program system and component libraries
Code archaeology Since we often need to understand why things are the way they are
Benchmarking and optimizing systems We want the system to start up and run fast, including for tests
Network protocol implementation We have lots of custom protocols between components
Concurrent programming The single-program system is concurrent Python
Distributed systems in general That's what the system is
Trading systems, finance in general That's the domain we're working in
Creating web UIs It would be nice to have a web UI for the single-program system
Network configuration, SDN It would be nice to do this with the single-program system
Dynamic open systems, like Erlang, Lisp It would be nice to support modification of a live system better.

If you're interested, email me.