Senior Software Engineer, Java | Patching
As a Senior Software Engineer 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 while ensuring our software meets the high expectations of our customers. This role offers the opportunity to design and develop high-availability software systems that support global operations, working alongside a team of engineers and technology experts.
About the role
You will be part of a team delivering mission-critical services that help customers manage, protect, and maintain millions of endpoints and servers. This role provides high autonomy for builders who push back and suggest improvements, focusing on a foundational, mission-critical piece of NinjaOne’s endpoint management product.
Responsibilities
- Lead the development of large-scale software applications, ensuring high quality and adherence to quality-first standards.
- Influence critical architectural decisions to ensure systems are scalable, maintainable, and aligned with business objectives.
- Balance technical debt, performance concerns, and scalability with business needs.
- 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.
- Take ownership of technical initiatives, proactively address challenges, and drive improvements based on data from support teams.
- Advocate for and implement quality assurance practices to deliver robust, high-performance software.
- Contribute to additional responsibilities as needed to support the team’s success.
Requirements
- 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 Jersey or Spring.
- Proficient in relational database design and development.
- Experience with caching systems, particularly Redis, is a plus.
- In-depth knowledge of quality testing practices and ensuring the delivery of high-quality software.
Skills
NinjaOne’s stack includes Java, Kotlin, C++, Golang, and Postgres, running as a scalable cloud service in AWS. Familiarity with large-scale datastore bottlenecks, asynchronous application design, and client-server architecture will be beneficial.
Location
We are flexible with remote work from home if you are located in the USA and reside in one of the following states: CA, CO, CT, FL, GA, IL, KS, ME, MA, NJ, NC, NY, OR, TN, TX, VA, OH, or WA. Hybrid options are available at our physical offices in Austin, TX, and Tampa, FL.
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.
- Full-time work that is hybrid remote.
Pay
Starting pay for this position ranges from $160,000 to $220,000 per year, depending on location, market demands, experience, job-related knowledge, and skills. The ranges provided apply to roles based in California, Colorado, New Jersey, Washington, and New York.
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.