Pricing and Derived Data team within UP is seeking an outstanding
Senior Software Engineer to join us in building a new data platform that provides intra-day and end-of-day prices across the firm.
The team is responsible for pricing millions of instruments across many asset classes and exchanges in near-real-time. Clients range from trading systems needing low-latency updates to researchers working with large historical datasets.
Our current architecture is written mostly in Elixir, which we enjoy and derive great value from. Inter-service streaming communication is over gRPC and the data layer comprises PostgreSQL, Kafka, and ClickHouse. Demand for our services is growing rapidly across a variety of access patterns, and we are now building a comprehensive data platform as an extension of our existing system to meet this demand.
This position presents an opportunity to shape the future direction of our work. The successful candidate will play a key role in answering questions such as:
- How do we guarantee that a client sees the same prices whether they query the warehouse, subscribe to a stream, or call our gRPC API?
- How do we let clients load a snapshot and then switch to live updates with no gaps or duplicates?
- What parts of our systems should stay in Elixir, and where should we consider other technologies?
ExperienceWe are looking for strong senior generalists who have a considerable experience building data products.
Candidates should be able to provide examples of significant projects that they have led from design through to operating in production, including responsibility for architectural decisions. We are interested in hearing from candidates who have had to choose between technologies and can talk to us about why they would or would not make that choice again.
Relevant areas include event streaming, change data capture, open table formats and stream and batch processing. Associated technologies include Kafka, Delta Lake, Iceberg, ClickHouse, Spark, and Flink. We are interested in a deep understanding of the architectural requirements that these technologies are suitable for rather than years of experience in a specific one of them.
Prior experience in Elixir or in the financial domain is not required, but candidates should be interested in working in these areas.
Examples of projects you may have led include:
- Designing and building a high-volume and/or low-latency data processing system, including ingestion, storage, and distribution.
- Scaling an ingestion pipeline handling thousands or tens or thousands of events per second on a single node (optimisation) and/or across multiple nodes (distribution).
- The operation and support of a data product which has time- and correctness-sensitive delivery requirements.
Personal traitsWe value:
- Humility and respect for others, and trust in our teammates.
- The ability to learn, adapt and grow.
- The capacity to independently drive projects to completion, but a preference to collaborate with teammates.
- Excellent listening and communication skills
The annual base salary range for this position is $175,000 to $250,000 depending on the candidate's experience, qualifications, and relevant skill set. The position is also eligible for an annual discretionary bonus.
In addition, DRW offers a comprehensive suite of employee benefits including group medical, pharmacy, dental and vision insurance, 401k (with discretionary employer match), short and long-term disability, life and AD&D insurance, health savings accounts, and flexible spending accounts.
#LI-SH1