As a Senior Software Engineer, you will work with a team of skilled developers building services that support our medical devices, mobile applications, partner integrations, and data analytics. You will partner with teams, both local and abroad, to build world class medical device software. Candidates should have experience developing production-quality software.
Minimum Requirements:
- Bachelor's degree in software engineering and 5+ years of relevant work experience.
- Proficiency with React, JavaScript, CSS, and HTML, as well as experience with React Native tools like Webpack, Enzyme, React.js, Flux, and Redux.
Nice to Have
- Experience with KMM (Kotlin Multiplatform Mobile) with Kotlin and Compose. - Mega plus
Preferred Skills and Competencies:
- Demonstrated working knowledge of software design.
- Able to work independently with minimum supervision.
- Able to be responsible for designing, implementing, and maintaining a section of a design.
- Detail-oriented, with effective verbal and written communication skills.
- Able to communicate with candor and trust at multiple levels of the organization.
- Demonstrated abilities to leverage creativity to overcome obstacles and work with a sense of urgency.
- Proven +3 years work experience as a React Native Developer.
- Proven +3 years work experience as a React Developer.
- Experience with HTML/CSS.
- Understanding of REST APIs, the document request model, and offline storage.
- Familiarity or experience with Android and/or iOS development tools (e.g. Android Studio, Xcode, Espresso, XCTest, etc.)
- Experience with performance benchmarking and optimization.
- Excellent analytical skills with a good problem-solving attitude.
- Ability to perform in a team environment.
- Good understanding of software development principles and patterns, e.g. TDD, SOLID, Gang of Four.
- Experience with a CI/CD pipeline, e.g. Azure DevOps Gradle, Maven, Bamboo, Jenkins - Preferred Skill
- Experience with Git
- Experience with FDA and HIPAA regulations a plus
- In-depth Object-oriented programming is useful.
- Able to organize and judge multiple priorities.
- Agile or other software development life cycle concepts is a plus.