Senior Software Engineer, Java Backend
Summary
Senior Java backend engineer at NinjaOne working on Ninja Remote, the remote access/control piece of its RMM platform — building the signaling and session infrastructure that connects IT technicians to managed endpoints across a multi-region AWS environment. Day to day: designing scalable Java services, influencing architecture, and mentoring engineers.
About the Role
As a Senior Software Engineer, Java at NinjaOne, you'll play a key role in enhancing our IT Operations product suite by designing and implementing scalable solutions and platform improvements. You'll contribute to new features and support existing functionality, all while ensuring our software meets the high expectations of our customers.
In this role, you’ll be part of a team of engineers and technology experts, delivering mission-critical services that help our customers manage, protect, and maintain millions of endpoints and servers. You will have the opportunity to design and develop high-availability software systems that support our global operations.
Ninja Remote is NinjaOne's remote access and control product. It gives IT teams secure, low-latency connections into managed endpoints at scale, across environments. It's a core piece of NinjaOne, tightly integrated with our broader RMM platform, and relied on daily by IT professionals to troubleshoot, support, and manage fleets of devices remotely.
The team spans C++ agent engineers, UI engineers, and backend engineers, working together on everything from the low-level agent that runs on endpoint devices to the cloud services that negotiate and sustain remote sessions in real time. On the backend side, the focus is on the signaling and session infrastructure that connects technicians to remote endpoints: connection negotiation, session state, streaming data paths, and reliability of communication between the C++ agent and the cloud backend across a distributed, multi-region environment.
Location
We are flexible on remote working from home, if you are located in the USA and reside in one of the following states - CA, CO, CT, FL, GA, *IL, KS, MA,MD, ME,NJ, NC, NY,OH, OR, TN, TX,VA, and WA. We have physical offices in Austin, TX and Tampa, FL, if you prefer a hybrid option.
*Onsite interviews may be required for this role.
We hire the best software engineers, but experience in our stack can’t hurt: NinjaOne is built on Java, Kotlin, C++, Golangand Postgres; supporting millions of user endpoints and running as a scalable cloud service in AWS. Knowing large-scale datastore bottlenecks, asynchronous application design and client-server architecture will help you.
What You’ll be Doing
- Software Development: Lead the development of large-scale software applications, ensuring high quality and adherence to our quality-first standards.
- Software Architecture & Leadership: Influence critical architectural decisions, ensuring that systems are scalable, maintainable, and aligned with business objectives. Balance technical debt, performance concerns, and scalability with business needs.
- Collaboration & Mentorship: Collaborate with cross-functional teams to align on technical decisions and drive improvements. Mentor junior engineers, providing guidance on best practices and setting technical standards across projects.
- Ownership of Initiatives: Take ownership of technical initiatives, proactively address challenges, and drive improvements based on data reported by support teams.
- Focus on Quality: Advocate for and implement quality assurance practices, ensuring the delivery of robust, high-performance software.
- Other Duties: Contribute to additional responsibilities as needed to support the team’s success.
About You
- Bachelor's degree in Computer Science, Computer Engineering, Information Technology, or equivalent work experience.
- 10+ years of experience in Java software development, particularly for product applications.
- 5+ years of experience with highly scalable systems.
- Proven experience in scaling systems and solving complex system design challenges.
- Strong knowledge of object-oriented programming (OOP) design principles and practices.
- Expertise in API design and RESTful services, with experience using frameworks like Spring.
- Proficient in relational database design and development.
- Experience with caching systems
- Data warehouse exposure and testing/automation tooling a plus
About Us
NinjaOne unifies IT to simplify work for nearly 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. By automating IT and managing all endpoints, organizations give employees a great technology experience at work. NinjaOne is obsessed with customer success and has retained a 98% customer satisfaction score for more than 5 years.