Senior macOS/Apple Platform Engineer – Endpoint State and Control
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.
About the Role
We are hiring a Senior macOS/Apple Platform Engineer to join our Endpoint State and Control team, building the system-level components that define, enforce, and maintain endpoint behavior on managed Macs. Trusted by over 40,000 customers globally, our software gives IT teams and MSPs (managed service providers) the foundational controls to monitor, manage, and secure endpoints at scale.
You will work in a fast-paced, agile environment alongside other Software Engineers, Product Designers, and Product Managers. This is a net new system with no existing internal architecture to inherit, so you will help shape it from first principles, with direct product impact on software that runs on millions of endpoints.
If you are a macOS systems engineer who has gone beyond app development, into system extensions, LaunchDaemons, and the security frameworks that sit underneath them, this is the role for you.
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, 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
- macOS system-level development: design and build system extensions, LaunchDaemons, and Authorization Services plugins in Swift (preferred) or Objective-C that enforce endpoint state and policy.
- Multi-process architecture: design and evolve privileged and unprivileged components that communicate over well-defined XPC contracts, with a strong security boundary between them.
- Platform security integration: work with TCC/PPPC, Security.framework, and Authorization Services to deliver controls that behave correctly under real-world managed-device conditions.
- Design and documentation: write design documents, define IPC contracts, and drive technical decisions with limited supervision.
- Cross-language integration: collaborate on our existing C++ codebase, where C ABIs at the boundaries keep the interface clean and learnable on the job.
- Shipping: be one of our most trusted engineers committing code, and ship products that customers rely on.
- Other duties as needed.
About You
- Strong professional experience in Swift or Objective-C on macOS, with Swift as our preferred, modern language.
- You have written or maintained a macOS system extension, kernel extension, LaunchDaemon, or Authorization Services plugin.
- Solid understanding of TCC/PPPC, XPC, Security.framework, and Authorization Services.
- System-level experience, not just macOS app development.
- Ability to write design documents, define IPC contracts, and drive technical decisions with limited supervision.
- Comfort designing from first principles on a net new system, and working in problem spaces with sparse documentation, under-documented OS APIs, and undefined requirements.
- Comfort experimenting with AI tools in your development workflow.
- Prior experience at an MDM or endpoint security company is strongly preferred.
- Nice to have
- C++ experience. Our existing codebase uses C ABIs at the boundaries, so it is learnable on the job.
- Linux platform experience (PAM, polkit, eBPF). Future scope, not a requirement.