Job Description :
Software Engineer
Ann Arbor,MI

Job Description
We are looking for experienced, independently driven engineers who work effectively with a team, and are passionate about continuously improving our product and processes. A qualified candidate will possess the following qualities:

Experience solving technical problems with multiple programming languages and technologies including Java, Python, and JavaScript
Ability to work in a semi-structured environment where requirements and priorities are dynamic.
Exceptional attention to detail
Ability to work independently with minimal guidance
Excellent written and verbal communication skills
Experience using Agile methodologies to build software
Ability to adapt and respond to innovation and change, identifying areas for process improvement

Our current stack includes PostgresSQL as our main data store, Java with Spring Framework on the server, and on the client side we have Typescript and React. Jenkins runs our tests and integrates all our work together. Knowledge of these tools or their equivalents will give you a nice head start if you join our team. A qualified candidate will have expert-level knowledge of the following technologies:

· Java, SQL and PL/SQL
Apache Maven build system
RESTful systems
JavaScript, HTML5, CSS3
Amazon Web Services

As we work to scale our product and team, we will be especially interested to hear from folks who have experience building large distributed systems. An exceptional candidate will have knowledge of the following:

Microservice architecture
NoSQL databases (Cassandra, MongoDB, Apache Ignite, etc
Working on redundant, distributed systems
CI/CD Processes (GitLab preferred)
Distributed engines and IMDG such as Spark and Hazelcast
Python and GoLang
Business intelligence tools such as Tableau
Medical standards (HL7, FHIR,
Experience with ETL and data warehouses