Reports to:
Director, Engineering
The Team: Trading Platform Engineering
The Trading Platform Engineering team is responsible for designing and optimizing the high-performance, mission‑critical foundation that powers our trading activities. Operating at the intersection of software and hardware, the team builds low‑latency systems that demand expert‑level proficiency in Linux kernel internals, networking pipelines, and distributed systems architecture. The team focuses on architectural excellence, reliability, determinism, and the relentless elimination of tail latency.
What You’ll Do
* High‑Performance Service Development: Design, build, and optimize high‑performance systems using C and Java.
* Kernel & User Space Engineering: Engineer performance‑critical components across user space and kernel interfaces, focusing on memory, scheduling, I/O, and networking paths.
* Advanced Networking: Develop and tune networking pipelines (multicast/unicast UDP and TCP) and implement kernel‑bypass or fast‑path networking (e.g., DPDK, XDP).
* Kernel Optimization: Interact with and optimize Linux kernel subsystems, including memory management, schedulers, device drivers, and filesystems (VFS).
* Latency & Determinism: Optimize systems for deterministic latency through CPU isolation, thread pinning, NUMA locality, cache awareness, and lock contention reduction.
* Distributed Systems: Apply distributed systems patterns, such as sequencer (virtual synchrony), for total ordering and consistency.
* Profiling & Debugging: Use tools like perf, strace, eBPF, and flame graphs to identify and eliminate system bottlenecks.
* Operational Excellence: Collaborate cross‑functionally to deliver robust production systems with clear SLOs, reproducible performance tests, and actionable runbooks.
What You’ll Bring
* Language Mastery: Expert‑level proficiency in Java.
* Linux Internals: Deep understanding of Linux kernel internals, including memory management, driver models, and scheduler tuning.
* Low‑Latency Expertise: Practical experience in end‑to‑end latency optimization, jitter reduction, and techniques like lock‑free or wait‑free programming.
* Networking Depth: Experience with socket options, buffer sizing, epoll, io_uring, RSS, and NIC queue configuration.
* Distributed Systems Knowledge: Understanding of sequencer‑based total order broadcast, partial order broadcast and the tradeoffs between latency, throughput, and availability.
* Concurrency & Systems: Solid understanding of concurrency, synchronization primitives, and memory models.
* Analytical Mindset: A focus on measurement over assumption, using benchmarks and profiles to drive decisions and communicate complex tradeoffs.
* Collaborative Craftsmanship: Commitment to high code quality through rigorous reviews, mentoring, and clear documentation.
Nice To Haves
* Trading Infrastructure: Experience in financial markets (e.g., market data, order routing, or FIX/exchange‑native protocols).
* Time Synchronization: Familiarity with PTP or other high‑precision time synchronization for low‑latency environments.
* Observability: Experience using eBPF and tracing for observability in production.
* Hardware Interfacing: Knowledge of RDMA, NIC offloads (TSO, LRO), or experience maintaining kernel modules and device drivers.
* JVM Tuning: Experience with low‑latency JVM practices and deterministic GC tuning for Java‑based systems.
* Advanced Benchmarking: Deep knowledge of benchmarking methodology, including workload design and variance analysis.
Bullish is proud to be an equal opportunity employer. We are fast evolving and striving towards being a globally-diverse community. With integrity at our core, our success is driven by a talented team of individuals and the different perspectives they are encouraged to bring to work every day.
#J-18808-Ljbffr