NinjaOne is a company focused on automating IT operations to enhance visibility and control over endpoints for its customers. They are seeking a Senior Software Engineer, Java - Technical Lead to design and implement scalable solutions for their IT Operations product suite while mentoring junior engineers and ensuring high-quality software delivery.
Responsibilities:
- Lead the development of large-scale software applications, ensuring high quality and adherence to our quality-first standards
- Influence critical architectural decisions, ensuring that systems are scalable, maintainable, and aligned with business objectives
- 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 across projects
- Take ownership of technical initiatives, proactively address challenges, and drive improvements based on data reported by support teams
- Advocate for and implement quality assurance practices, ensuring the delivery of robust, high-performance software
- Contribute to additional responsibilities as needed to support the team’s success
Requirements:
- 12+ years of experience in Java software development, particularly for product applications
- 5+ years of experience with highly scalable systems
- 2+ years experience with Kotlin is a plus
- Expertise in API design and RESTful services, with experience using frameworks like Spring (Spring Boot) or Jersey
- Proven experience in scaling systems and solving complex system design challenges
- Strong knowledge of object-oriented programming (OOP) design principles and practices
- 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
- Bachelor's degree in Computer Science, Computer Engineering, Information Technology, or equivalent work experience