Software Engineer (Java / Kotlin)
About The Company
NinjaOne is a leading provider of IT management solutions dedicated to empowering businesses with reliable, scalable, and innovative technology. Our mission is to simplify IT operations by delivering high-quality software tools that enable organizations to manage, protect, and maintain their IT infrastructure efficiently. With a focus on customer satisfaction and continuous improvement, NinjaOne has established a reputation for excellence in the IT industry. Our team is composed of passionate technology professionals committed to creating impactful solutions that meet the evolving needs of our global client base.
About The Role
As a Staff Software Engineer at NinjaOne, you will be instrumental in advancing our IT Operations product suite by designing, developing, and maintaining scalable and robust software solutions. You will work closely with cross-functional teams to deliver mission-critical services that support millions of endpoints and servers worldwide. Your expertise will influence architectural decisions, ensuring our systems are highly available, maintainable, and aligned with strategic business goals. This role offers an excellent opportunity to lead technical initiatives, mentor junior engineers, and contribute to the ongoing innovation of our platform. The position is remote, with flexible work arrangements available for candidates based in select U.S. states, and hybrid options at our offices in Austin, TX, and Tampa, FL.
Responsibilities
- Lead the development of large-scale software applications, ensuring adherence to quality standards and best practices
- Influence and make critical architectural decisions to ensure system scalability, maintainability, and alignment with business objectives
- Collaborate with cross-functional teams to align technical strategies and drive continuous improvement
- Mentor junior engineers, providing guidance on coding standards, best practices, and technical problem-solving
- Take ownership of technical initiatives, proactively identifying challenges and implementing effective solutions
- Implement and advocate for quality assurance practices to ensure the delivery of robust, high-performance software
- Contribute to team success by supporting additional responsibilities as needed
Qualifications
- 12+ years of experience in Java software development for product applications
- 5+ years of experience with highly scalable systems
- 2+ years of experience with Kotlin (preferred but not mandatory)
- Expertise in API design and RESTful services, with experience using frameworks such as Spring (Spring Boot) or Jersey
- Proven experience in scaling systems and solving complex system design challenges
- Strong knowledge of object-oriented programming (OOP) principles and practices
- Proficiency in relational database design and development
- Experience with caching systems, particularly Redis, is a plus
- In-depth understanding of quality testing practices and delivering high-quality software
- Bachelor's degree in Computer Science, Computer Engineering, Information Technology, or equivalent work experience
Benefits
- Medical, dental, and vision insurance coverage
- 401(k) retirement plan with company matching
- Life insurance coverage
- Unlimited paid time off (PTO)
- Flexible hybrid remote work options
- Opportunities for professional growth and career advancement