Principal Software Engineer, Trading Systems

NinjaTrader is a futures trading provider offering integrated desktop, web, and mobile trading platforms, futures brokerage services, single stock futures, market data, charting, simulation, education, and support. It serves retail, professional, new, and experienced active traders.

Distributed

Funding history

Investors

About NinjaTrader

NinjaTrader provides futures brokerage and proprietary trading-platform services through NinjaTrader Group, LLC and its affiliates. Its offerings include access to global futures markets, single stock futures, desktop, web, and mobile trading platforms, charting and analysis tools, market data, simulated trading, risk-management features, customization through a C# development framework, education, livestreams, and customer support. NinjaTrader Clearing, LLC is a CFTC-registered futures commission merchant and NFA member serving retail and professional traders.

View jobs by NinjaTrader

Skills

Candidate Availability

Required and preferred rules are kept separate and reflect the wording in the original posting.

About the Role

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.

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.

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.

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