Senior Software Engineer, Performance | Scalability and Systems Engineering
- Market p25–p75
- $150k–$194k
- NinjaOne p25–p75
- $130k–$185kn=10
- Opened · 30d
- +18
- Closed · 30d
- −10
- Opened · 7d
- +1,4589% of open
- All software engineering
- 75,410open
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
As a Senior Software Engineer, Performance Engineering, you will drive performance engineering, optimization, and performance standards across the NinjaOne organization. You will collaborate closely with software engineers and stakeholders to translate real-world usage patterns into actionable performance insights, ensuring systems that are highly responsive, reliable, and scalable. You will analyze applications, databases, and system-level behaviors, define performance standards and benchmarks, and work with engineering teams to deliver data-driven optimizations that improve throughput, reduce latency, and enhance overall system efficiency.
We are looking for a strategic, hands-on engineer who combines deep expertise in performance engineering with a systems-oriented mindset. You will build reusable frameworks, tooling, and best practices that empower engineering teams to proactively identify and resolve performance challenges, and you will write code to fix them alongside those teams.
Please note: this is a software engineering role, not a QA or testing role. You’ll find performance bottlenecks and fix them in code, queries, and architecture.
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++, 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
- Performance Research and Development: Investigate system behavior to find bottlenecks, analyze the results, and drive optimizations across application code, database, and architecture. Work directly with engineering teams to design, implement, and ship the fixes.
- Performance Frameworks and Tooling: Design, build, and maintain performance testing and data generation frameworks that surface actionable insights, using k6, JavaScript, Grafana, and InfluxDB. Automate these in CI/CD pipelines.
- Performance Best Practices: Define and evolve standards for performance optimization, scalability, and measurement. Partner with engineering teams to shape scalability approaches and performance strategies.
- Documentation: Develop and maintain technical documentation, architectural decision records, and performance standards.
- Other duties as needed.
About You
- Bachelor’s degree in Computer Science, Computer Engineering, Information Technology, or equivalent work experience.
- 6+ years of experience as a Software Engineer, with hands-on contributions to production code.
- Strong understanding of system design and architecture: how the components of a system fit together (load balancers, services, datastores, caches) and how data flows through them.
- Strong background in application optimization, query optimization, and performance debugging, with a solid grasp of performance methodology.
- Deep experience with relational databases, including execution plan analysis, indexing strategies, and partitioning. PostgreSQL experience is a plus.
- Experience debugging distributed systems and container-native environments.