Principal Software Engineer, Trading Systems
You will take on a pivotal role on the Trading Services team, designing, evolving, and optimizing core trading infrastructure. You will help scale and enhance a highly scalable, low-latency trading system, ensuring it meets the highest standards of performance, scalability, and reliability. Your work will directly impact the ability to support rapid growth in the retail futures trading space.
Responsibilities
- Design, develop, and optimize Scala-based trading services for high-volume, low-latency, 24x7 environments.
- Lead architectural strategy for future-state scalability and performance optimization.
- Mentor and guide junior engineers, promoting best practices and technical excellence.
- Collaborate cross-functionally with product, engineering, operations, and security teams to translate business requirements into robust and secure technical solutions.
- Optimize system performance, with focus on JVM tuning for Scala/Akka-based distributed systems.
- Enhance monitoring and observability of services for real-time trade execution and operational transparency.
- Ensure compliance with security policies, regulatory standards, and industry best practices.
Requirements
- Bachelor's degree in Computer Science, Information Technology, or related field, or equivalent experience.
- Extensive experience with high-performance, high-concurrency distributed trading systems.
- Proven expertise in JVM and performance tuning for high-performance environments.
- Experience supporting 24/7 production systems, ideally in trading environments.
- Deep knowledge of networking and protocols including HTTP/HTTPS, WebSockets, DNS, and TCP/IP.
- Experience with CI/CD tools such as Jenkins and GitHub Actions.
- Strong troubleshooting and debugging skills in high-pressure, real-time conditions.
- Excellent communication skills.
- Experience in functional programming languages within exchange or trading environments.
- Experience in low-latency, lock-free development and design.
- Strong experience with multithreading and concurrency.
- Familiarity with binary or custom trading protocols.
- Knowledge of Kafka, RabbitMQ, UDP, and TCP.
- Hands-on experience with HTTP/WebSockets, REST APIs, OAuth, gRPC, and Redis APIs.
- Deep understanding of order handling and matching engines.
- Experience with FIX or other market data and order-entry protocols.
- Practical experience with Kubernetes and Docker.
- Knowledge of IP multicast and TCP protocols used in market data feeds.
Benefits
- Generous PTO
- 7 paid holidays annually plus 5 conditional holidays annually
- 1 service day annually
- 401k with 3.5% company match
- Paid parental bonding leave
- Health, vision, and dental coverage
- Life and disability insurance covered 100% by NinjaTrader