Senior Software Engineer

Apply Now

Senior Software Engineer

Summary

The Senior Software Engineer will report to the Software Engineering Lead. The Software Engineering department strives to deliver high-quality software that provides our customers with the capabilities they need to access and manage the data acquired by our sensors and loggers. We focus on ease-of- use for maximum end-user benefit, maintenance of the integrity of our customers' data, and extensibility of the products to facilitate short development cycles for new features and hardware support. The Senior Software Engineer will act as part of a team to design, code, and debug enterprise back-end components to multiple enterprise applications. 

Responsibilities

  • Participate in design and development efforts for new releases of Onset software products and updates to existing products
  • Assist other developers on technologies selected and used within the projects
  • Effectively communicate progress/problems to management, QA, and other departments within the organization
  • Be responsible for innovation, design, and development of new product models and features
  • Suggest and champion new technologies or technical improvements that will improve usability, stability, and maintainability of the application
  • Participate in software development and maintenance infrastructure enhancement efforts

Qualifications

Required

  • Excellence in writing server-side application logic in Java or another JVM-based environment
  • Strong understanding of modern web architectures.
  • Experience with back-end communication with web and IoT
  • Experience with RESTful, Query, and hybrid APIs using OAuth 2.0
  • Database and ORM experience, with both relational and data warehouse schemas
  • Specific experience or knowledge of Agile/Scrum software development practices and tools

Desired

  • Experience with Git and Maven
  • Experience with Java microservices in Spring Cloud and Spring Boot
  • Experience working with AWS or similar cloud-computing platform
  • Experience with unit testing using JUnit
  • Knowledge of continuous integration and static code analysis
  • Experience with mobile device platforms (iOS, Android)

This is a full-time, salaried position offering attractive compensation and a comprehensive benefits package. 

EEO/AA
Local candidates only