NinjaOne is a company focused on automating IT operations to enhance endpoint management for over 40,000 customers. The Senior Software Engineer, Java will be responsible for developing scalable solutions and enhancing the IT Operations product suite while 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. 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 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:
- 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
- In-depth knowledge of quality testing practices and ensuring the delivery of high-quality software
- Experience with caching systems, particularly Redis, is a plus