Staff Software Engineer - Scala
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.
Funding
Investors
Projects
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.
Skills
About the Role
You will join the Trading Services team to help evolve an advanced trading system that powers a high-throughput, low-latency trading application. You'll design, develop, and maintain a Scala and Akka-based trading system deployed on Kubernetes in the cloud, and you'll architect, deploy, and manage backend services to ensure scalability, availability, and resilience. You'll implement and enhance the services architecture for trading applications, promoting modularity and maintainability, and build distributed systems that support high-performance, low-latency requirements. You'll set up robust monitoring and logging to track backend performance in real time, integrate backend systems with market data feeds, and collaborate closely with other engineering teams and Product Managers to deliver end-to-end customer solutions.
Requirements
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field
- 8+ years of software development experience with reactive, message-driven, distributed near real-time applications
- 5+ years of professional experience with Scala (or similar JVM-based languages) backend software development
- Familiarity with functional programming principles
- Experience with Kubernetes and cloud services (e.g., Google Cloud Platform), with a focus on scalability and high availability
- Familiarity with CI/CD tools such as Jenkins, GitHub Actions, or equivalent
- Exceptional troubleshooting, debugging, and diagnostic skills for cloud and web-based technologies using observability tooling
- Deep understanding of modern distributed systems and ability to troubleshoot HTTP/HTTPS, WebSockets, TLS, DNS, TCP/IP
- Ability to take full ownership of projects (design, implement, test, deploy, maintain, and iterate)
- Strong written and verbal communication skills
Responsibilities
- Design, develop, and maintain the Scala and Akka-based trading system deployed on Kubernetes in the cloud
- Architect, deploy, and manage backend services in a Kubernetes environment to ensure scalability, availability, and resilience
- Implement and enhance services architecture for trading applications, promoting modularity and maintainability
- Develop distributed systems to support high-performance and low-latency requirements of trading platforms
- Implement robust monitoring and logging solutions to track and analyze backend system performance in real time
- Integrate backend systems with market data feeds, ensuring accurate and timely data for trading activities
- Collaborate with other engineering teams and Product Managers to deliver end-to-end customer solutions
Benefits
- 401k with 3.5% company match
- Generous PTO
- 7 Paid Holidays Annually + 5 Conditional Holidays Annually
- 1 Service Day Annually
- Paid Parental Bonding Leave
- Health, Vision, Dental Coverage
- Life and Disability Insurance covered 100% by NinjaTrader
- 20 additional flex remote days annually
- 5 Company Wide Office-Optional weeks tied to major holidays
- Hybrid work schedule with remote work on Mondays and Fridays
