NantHealth, through its subsidiary OpenNMS, is seeking an experienced Lead Software Engineer to join their team focused on developing their open-source Network Monitoring Solution. The role involves architecting, designing, and developing scalable features while collaborating with various teams and applying software engineering best practices.
Responsibilities:
- Help architect, design, and develop scalable features to meet product deliverables
- Collaborate with other developers, architects, QA, devops and product management teams
- Write well-designed, testable code including unit tests and basic documentation
- Integrate software components into a fully functional software system
- Make decisions about code design, architecture, and refactoring to balance technical debt against delivering functionality
- Review code and mentor other engineers
- Work with little or no supervision
- Apply software engineering best practices across the development lifecycle, including agile methodologies, coding standards, code reviews, source management, build processes, testing, and operations
Requirements:
- Bachelor's degree, preferably in Computer Science or a related field (commensurate experience will be considered as an alternative to a degree)
- Expert level experience in Java (8+ years)
- Experience working in Agile environment
- Must have a “can do” attitude and a hacker mindset to make things work in a complex product environment
- Experience having led, designed, implemented, and delivered, highly performant and scalable, software to a large customer base successfully
- Solid knowledge of SQL and NoSQL data stores and efficient data schemas
- Understanding of message systems such as Kafka, ActiveMQ
- Solid understanding of IP networking principles and network/application security
- General DevOps knowledge: CI/CD, automation, build, deployment
- Working knowledge with Linux/UNIX and familiarity with shell scripting
- OSGi and/or Karaf
- Elasticsearch
- gRPC and/or GraphQL