Senior Software Engineer, Java - Endpoint State & Control Team
NinjaOne
United States$140,000 - $200,000 / yearSoftware Development
Description
About the Role
NinjaOne is investing in a new Endpoint State and Control team, and we're looking for a Senior Software Engineer, Java to help build its server-side foundation from the ground up. This is a true greenfield opportunity — no server-side code exists yet. You'll join during the transition from proof-of-concept to production and help define the service architecture, API contracts, and data storage strategy from scratch, working shoulder-to-shoulder with the engineer who owns the low-level agent/driver work and the engineer who owns the management console UI.
This role calls for genuine comfort with ambiguity: requirements will evolve, and you'll need to make real architecture decisions before every downstream constraint is known. You'll design the systems that manage policy, ingest telemetry from endpoints at scale, and enforce multi-tenant isolation for a platform serving customers across the globe. If you want to shape a backend from its very first data model and API contract — not maintain someone else's — and you want to do it on a team that treats AI tools as part of the everyday workflow, this is that role.
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.
We hire the best software engineers, but experience in our stack can’t hurt: NinjaOne is built on Java, Kotlin, C++, Golang and 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
- Design and build the server-side infrastructure for the Endpoint State and Control team, including the policy management service, agent-facing APIs for policy delivery, event/log ingestion from endpoints, and the data model for rules, configs, and telemetry.
- Define service architecture, API contracts, and data storage strategy from the ground up, with no existing prior art to constrain you.
- Collaborate closely with the engineer who owns agent/driver-level work and the engineer who owns the management console UI to keep contracts and constraints aligned across the stack.
- Design and enforce multi-tenant data isolation patterns — per-tenant scoping, parameterized queries, no d state — as a foundational concern, not an afterthought.
- Design for high-volume event ingestion from distributed endpoints, balancing storage efficiency with the need for customers to query that data reliably.
- Write technical design documents, drive cross-functional alignment, and lead backend technical design as requirements evolve.
- Other duties as needed.
About You
- 5+ years of backend Java/Kotlin engineering.
- Strong Java 11+ skills, with Kotlin preferred — or a demonstrated ability and willingness to ramp quickly, since new NinjaOne code is Kotlin-first.
- Experience designing RESTful APIs for multi-tenant SaaS platforms.
- Experience with PostgreSQL or an equivalent relational database.
- Comfortable with multi-tenant data isolation patterns and designing backend systems from scratch — defining data models, API shapes, and service boundaries with limited prior art.
- Comfortable operating in ambiguous problem spaces where requirements are partially defined and will evolve.
- Demonstrated ability to lead backend technical design: writing architecture documents, defining API contracts, and driving cross-functional alignment.
- Curious about and comfortable experimenting with AI tools as part of your development workflow.
Nice to have:
- Experience designing event ingestion pipelines from distributed endpoints (agent telemetry, log aggregation, high-volume event storage).
- Experience with RBAC/permission enforcement in a multi-tenant backend.
- Experience with message queues (RabbitMQ, Kafka, or SQS) for async event processing.
- Accessibility compliance experience in enterprise B2B products.
- Prior work in endpoint management, IT operations, or security tooling.
About Us
NinjaOne unifies IT to simplify work.