
24 Sep Senior Software Engineer
Senior Software Engineer
Engineering · Chevy Chase, Maryland · Full time
We are seeking a Senior Software Engineer to support our diverse technology portfolio. The ideal candidate will work with our team to build and maintain Android applications, desktop and web service applications, and our on-premises virtualization infrastructure all of which support a variety of medical device products. These applications are based on Kotlin, Java, C/C++, Python, C#/.NET, and SQLite. This person should be familiar with some portion of this portfolio as well as MVP or MVVM, interfacing with APIs, and common Android and microservices development and deployment concepts. Our primary applications are public facing, so we are seeking developers that have an eye for design and color and know their way around an Android and Web UI view system. The candidate will also be directly interfacing with the rest of the team, so strong and clear communication skills will be critical to getting the job done.
Key Responsibilities:
- Develop and review specifications and code for medical devices, including product functional specifications, design specifications, and verification/validation procedures.
- Prepares complete software documentation as prescribed by U.S. and international medical device regulations (IEC 62304) and corporate quality management systems procedures.
- Develop critical and robust application code for Android-based, connected devices and back-end services.
- Key development areas include application UI and layout implementation, inter-application communication, embedded signal acquisition, and cloud-based services and data management.
- Write, analyze, review and rewrite programs, using workflow charts and diagrams, while applying knowledge of Android, Kotlin, Java, python, and/or C#’s technological capabilities.
- Develop in a DevOps environment supported by GitLab, Artifactory and static analysis tools.
- Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements.
- Consult with management, engineering and technical personnel to clarify program intent, identify problems and suggest changes.
- Compile and write documentation of program development, design and subsequent revisions, inserting comments in the coded instructions so others can understand the program.
- Handle complaint investigations and user feedback.
- Support continuous improvement of company SDLC processes conforming to the IEC 62304 medical device software standard, utilizing CMMI and various software development models.
- Works within timelines, resources, and budgets for completion of assigned projects.
Required Qualifications:
- Bachelor’s Degree (minimum) in Computer Engineering, Computer Science or related technical field required, Masters preferred.
- 5+ years of experience with software development in a regulated environment, with a focus on stability and robustness.
- Optimistic and innovative, with the ability to look at the whole picture, beyond the current problem at hand.
- Knowledge of best practices in Android application and library development.
- Knowledge of modern Android architectural patterns such as Model-View-ViewModel or Model-View-Presenter.
- Experience developing applications in one or more of the following Kotlin, Java, Python, C#, or C/C++.
- Experience with build scripting within Gradle using Groovy for Android application development.
- Experience developing applications with asynchronous task handling using RxJava.
- Experience developing applications interfacing with a RESTful API using Retrofit and OkHttp.
- Experience writing automated tests with a preference for Junit, Espresso, or PyTest.
- Demonstrate very strong knowledge of the software development life cycle, including deployment in a regulated industry.
- Knowledge of best practices and direct experience with formal software engineering principles (code design regarding architecture, re-use, and testability).
- Operate effectively in a multi-disciplinary, team-oriented culture that emphasizes professional development and continuous feedback.
- Strong written, verbal, and interpersonal skills.
- Comfortable working in a fast-paced, start up environment with changing and competing priorities.
Please click here to apply.
Sorry, the comment form is closed at this time.