Jobs · Information Technology

Senior Software Engineer, Java | Backup

NinjaOne · California, United States · 2 wk ago
RemoteRemoteInformation Technology$140k–$220k/yrFull-time

About the Role

As a Senior Software Engineer on the NinjaOne team, you will contribute to our IT Operations product suite by designing and implementing scalable new solutions and product improvements. You’ll develop high-quality software applications that exceed customer expectations, focusing on clean and optimized coding solutions. Our customers love our products, and you’ll play a key role in maintaining that trust.

About the Backup Team

The Backup Engineering team at NinjaOne solves one of IT’s hardest problems: protecting millions of endpoints, servers, and cloud-managed applications reliably, at scale, and from a single console. Our work spans three squads (Server Backup, Endpoint Backup, and SaaS Backup), covering everything from image-based bare-metal recovery to identity restore for Microsoft Entra. You’ll own software trusted by 40,000+ customers worldwide to recover quickly from ransomware, hardware failures, or cloud outages.

NinjaOne is built on Java, Kotlin, C++, Golang, and Postgres, supporting millions of user endpoints as a scalable cloud service in AWS. Experience with large-scale datastore bottlenecks, asynchronous application design, and client-server architecture will be beneficial.

Responsibilities

  • Java and Kotlin Software Development: Contribute to the development of large-scale software applications, ensuring quality is an invariant part of your work.
  • Committing Code and Shipping Products: Implement design patterns and tackle enterprise-level software challenges in a startup environment, impacting product development hands-on.
  • Debugging and Profiling: Debug and profile production Java services using tools like New Relic and structured log analysis to identify and resolve performance bottlenecks.
  • Database Optimization: Design and optimize relational database schemas and queries for performance at scale, including index tuning, query planning, and storage efficiency improvements.
  • Mentoring: Support the growth of engineers across the team through knowledge sharing, targeted feedback, and coaching.
  • Code Reviews: Conduct thorough peer code reviews, providing constructive feedback and contributing to architecture discussions and key technical decisions.
  • Documentation: Document system architecture, design tradeoffs, and operational procedures to ensure knowledge is shared and decisions are traceable.
  • Cross-team Collaboration: Work with engineers across backend, infrastructure, and product teams to drive system reliability, integration, and long-term platform improvements.
  • Other duties as needed.

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Information Technology, or equivalent work experience.
  • 10+ years of experience in Java software development for product applications or equivalent.
  • Solid expertise in Kotlin is a strong plus.
  • 6+ years of experience designing and operating highly scalable software systems, with a proven ability to identify and solve scale challenges.
  • Deep understanding of OOP design principles, with expertise in scaling data structures and object-oriented design for high-performance systems.
  • Knowledge of API best practices and REST service development using frameworks like Jersey or Spring.
  • Relational Database design, development, and performance optimization experience, including query tuning, index design, and schema optimization at scale.
  • Experience with client-server development, event-driven architectures, and message brokers such as RabbitMQ, Amazon SQS, or SNS.
  • Experience with caching systems (Redis a strong plus) and expert knowledge of quality testing practices.
  • Excellent debugging and problem-solving skills, with the ability to diagnose complex issues across distributed systems.
  • Strong Linux and scripting fundamentals, with familiarity in containerization and orchestration tools such as Docker and Kubernetes.
  • Hands-on experience using AI coding assistants and LLM-based tools in day-to-day development is a big plus.

About Us

NinjaOne unifies IT to simplify work for more than 40,000 customers in 140+ countries. The NinjaOne Unified IT Operations Platform delivers endpoint management, autonomous patching, backup, and remote access in a single console to improve efficiency, increase resilience, and reduce spend. We are obsessed with customer success and have retained a 98% customer satisfaction score for more than 5 years.

Benefits

  • Comprehensive benefits package, including medical, dental, and vision insurance.
  • 401(k) plan to help you prepare for your financial future.
  • Unlimited PTO to prioritize your work-life balance.
  • Opportunities for growth and advancement.

Pay

Starting pay for this position depends on a variety of job-related factors, including location, market demands, experience, job-related knowledge, and skills. For roles based in California, Colorado, Maryland, New Jersey, or Washington, the base salary hiring range is $140,000 - $220,000 per year. For roles based in New York, the base salary hiring range is $140,000 - $220,000 per year.

Schedule

Full-time work that is hybrid remote, with flexibility to work from home if located in one of the following states: CA, CO, CT, FL, GA, IL, KS, MA, MD, ME, NJ, NC, NY, OR, TN, TX, VA, or WA. Physical offices are available in Austin, TX and Tampa, FL for those who prefer a hybrid option.

This position is NOT eligible for Visa sponsorship. Due to operational policies, NinjaOne is unable to hire for this role within the city limits of Chicago. We will consider all qualified candidates who reside outside of the city proper or are willing to self-relocate.

Similar jobs