Search...

Principal Software Engineer, Trading Systems

NinjaTrader logo
NinjaTrader

NinjaTrader is a futures trading provider offering an integrated, multi-device trading platform for active traders. It provides tools, services, and support for both new and experienced traders to access global futures markets, including Micro E-mini futures.

Chicago, USA

Investors

About NinjaTrader

NinjaTrader delivers integrated multi-device trading using a cloud-based technology designed for active futures traders. They provide access to the world’s most popular futures markets, including E-mini indexes, with no deposit minimums, low margins, and low commissions. The platform is highly customizable, allowing users to integrate thousands of third-party add-ons or develop their own tools using a C# based framework. NinjaTrader is a futures trading provider that centralizes tools and services for both new and experienced traders, offering professional trading platforms for charting, free trading simulation, and comprehensive support resources.

View jobs by NinjaTrader

Skills

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 (HTTP/HTTPS, WebSockets, DNS, TCP/IP)
  • Experience with CI/CD tools (Jenkins, GitHub Actions)
  • Strong troubleshooting and debugging skills in high-pressure, real-time conditions
  • Excellent communication skills, capable of clearly articulating technical concepts to diverse stakeholders
  • Experience in functional programming languages within exchange/trading environments
  • Experience in low-latency, lock-free development and design
  • Strong experience with multithreading and concurrency in high-performance environments
  • Familiarity with binary or custom trading protocols
  • Strong knowledge of messaging frameworks (Kafka, RabbitMQ) and network protocols (UDP, TCP)
  • Hands-on experience implementing HTTP/WebSockets, REST APIs, OAuth, gRPC, and Redis APIs
  • Deep understanding of order handling/matching engines
  • Extensive experience with FIX or other market data/order-entry protocols
  • Practical hands-on experience with cloud-native technologies (Kubernetes and Docker)
  • Solid grasp of network communications, particularly 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 system
  • 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 + 5 Conditional Holidays Annually
  • 1 Service Day Annually
  • 401k with 3.5% Company Match
  • Paid Parental Bonding Leave
  • Health, Vision, Dental Coverage
  • Life and Disability Insurance Covered 100% by NinjaTrader