The Software Engineer II on Lab systems team is responsible for building and supporting software applications in use by FMI. This role completes design, development, unit testing, code reviews, and generates technical documentation and, as such, the incumbent has a high-level understanding of the codebase and is self-sufficient in at least one domain of FMI's architecture. The Software Engineer II makes well-reasoned decisions and trade-offs, is able to work in other parts of the codebase with guidance, and as an experienced practitioner, provides guidance to lower level Software Engineers.
Key Responsibilities
Technical:
Create custom programs and applications as designated by business need.
Write, test, and refactor code that is:
Reusable
Testable
Efficient
Clean
Well commented
Maintain efforts for product or platform to be:
Cloud-native
Resilient
Secure
Scalable
Ensure code adheres to patterns and any established standards.
Integrate and deploy code using provisioning tools, release tools, and continuous Integration CI/Continuous Delivery CD pipeline.
Debug highly complex problems escalated by other team members.
Engineer installation qualifications and operational qualifications.
Project Delivery:
Perform testing of code and work prior to implementation.
Help define and participate in software development processes that leverages best practice and supports continuous product delivery.
Participate in and conduct regular peer design and code reviews.
Conform to coding conventions and all aspects of the software development life cycle.
Deliver contributions in an Agile approach and leveraging Agile methodology.
Collaboration:
Design initiatives that ensure applications integrate seamlessly with other programs in-use at FMI, including Customer Relationship Management tools, Medical Reporting systems, Billing systems and the Laboratory Information Management System.
Participate in scrum ceremonies.
Provide software engineering expertise and support to the business per business needs.
Other:
Generally, provide fully independent contributions.
Other duties as assigned.
Qualifications
Basic Qualifications
Bachelor's Degree AND 2+ years of professional software engineering experience OR 8+ years of professional software engineering experience
Hands-on Proficiency in one or more of the following programming languages: Java, JavaScript,
Python, C#, NodeJS
Preferred Qualifications
Experience in software engineering and development.
* Experience/Familiarity in Genomics domain.
* Experience working with Lab system software.
Experience/Familiarity with Amazon Web Services or similar cloud platform
Experience/Familiarity with .NET and/or JAVA server-side programming and web development, including but not limited to:
C#
ASP.NET
.NET CORE
IIS
RESTAPI using .NET WebAPI framework
Java 8 or above
Spring framework
RESTAPI using Spring boot.
JPA / hibernate
Experience/Familiarity with modern web technologies and techniques, including but not limited to:
CSS pre-processors (SASS, Less, Stylus)
JavaScript framework libraries like ReactJs, AngularJS
NodeJs
Python
Experience/Familiarity with Lambda, Docker, Kubernetes, microservices and containerization/ containerized deployment of software
Experience/Familiarity building and delivering Continuous Integration/Continuous Deployment (CI/CD) solutions for applications built on .NET and ReactJs platform
Experience/Familiarity with REST API development and Writing unit tests
Solid knowledge of HTML5, CSS3, and SCSS
Experience/Familiarity with:
With distributed computing (HPC)
With Operating Systems: Windows, EC2s
Working with relational databases like SQL Server, Oracle, Postgres, Aurora DB
With Object-Relational Mapping (ORM) using Entity Framework/ Hibernate and query tuning
writing software in a cloud environment with AWS or a similar cloud platform, including to deploy and maintain deployment of software and other automated processes
Understanding of Agile software delivery
Excellent presentation skills and basic knowledge of presentation software
Experience writing code for cross-browser compatibility
Ability to work under regulated environment
Ability to use source control effectively like GitHub
Demonstrated ability to work in a dynamic, collaborative team environment
Strong interpersonal skills that include excellent skill in collaboration and problem solving with other departments and colleagues
Excellent organization and attention to detail
Ability to work well under pressure while maintaining a professional demeanor
Ability to prioritize and thoroughly follow up on assigned tasks
Ability to adapt to changing procedures, policies and work environment
Understanding of HIPAA and importance of privacy of patient data
Commitment to FMI values: Patients, Innovation, Collaboration, and Passion
Foundation Medicine, Inc. (FMI) began with an idea - to simplify the complex nature of cancer genomics, bringing cutting-edge science and technology to everyday cancer care. Our approach generates insights that help doctors match patients to more treatment options and helps accelerate the development of new therapies. Foundation Medicine is the culmination of talented people coming together to realize an important vision, and the work we do every day impacts real lives.
Foundation Medicine is proud to be an Equal Opportunity and Affirmative Action employer and considers all qualified applicants for employment without regard to race, color, religion, sex, gender, sexual orientation, gender identity, ancestry, age, or national origin. Further, qualified applicants will not be discriminated against on the basis of disability or protected veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also FMI's EEO Statement and EEO is the Law and Supplement . If you have a disability or special need that requires accommodation, please let us know by completing this form . (EOE/AAP Employer)