About the Job
The Senior Software Engineer is responsible for the technical leadership of a software development team at FMI. The incumbent leads by example to create a culture of software excellence and adherence to engineering best practices. The Senior Software Engineer has a high-level understanding of the codebase and leads at least one domain of FMI architecture. This role works with product management, customers, and other technical leaders to develop an engineering roadmap for the team. The incumbent makes well-reasoned decisions and trade-offs and, as an experienced practitioner, provides guidance to less experienced Software Engineers.
Lead assigned team-wide initiatives, such as:
Investigating design approaches;
Prototyping new technologies; and,
Evaluating technical feasibility.
Develop FMI's software; in particular the Artifact Generator and Clara Application.
Write, test, and refactor code that is: reusable, testable, efficient, clean, and well-commented.
Maintain efforts for the product or platform to be: cloud-native, resilient, secure, and scalable.
Engineer installation qualifications and operational qualifications.
Communicate with applicable stakeholders to obtain information on requirements.
Meet with Technology and Product Development Teams for frequent collaboration on specific projects.
Coach, guide, and mentor team members.
Conduct and participate in peer design, code reviews, and knowledge sharing sessions.
Lead and participate in scrum ceremonies.
Establish clear technical roadmaps to ensure the maintainability and quality of the product's code base while reducing technical debt.
Collaboration & Other
Drive efforts for assigned team's adoption of established best engineering practices.
Identify, design, and implement internal process improvements including, but not limited to: automating manual processes, optimizing product delivery, and redesigning infrastructure for greater scalability.
Debug highly complex problems escalated by other team members.
Deliver contributions in an Agile approach and leveraging Agile methodology.
Provide software engineering expertise and support to the business per business needs.
Other duties as assigned.
Bachelor's Degree AND 5+ years of professional software engineering experience OR 10+ years of professional software engineering experience
2+ years of professional experience with the following:
Leading the architecture and design of new and/or current systems
Large-scale Single Page Applications utilizing modern web technologies
Node.js runtime and associated tools for web servers such as Express or KOA
Taking a lead role in building complex software systems that have been successfully delivered to customers
Amazon Web Services (AWS) or similar cloud platform
Proven successful delivery of large-scale Single Page Applications utilizing modern web technologies
Both Object Oriented Programming (OOP) and Functional Programming (FP) paradigms
Distributed event streaming systems such as Kafka, Pulsar, or Kinesis
Relational and NoSQL database technologies
Containerization/containerized development of software: Docker, Kubernetes, and others
Distributed systems and both asynchronous and concurrent programming concepts
Experience building and delivering Continuous Integration/Continuous Deployment (CI/CD) solutions
Prior life science industry experience, particularly in the genomics field
Demonstrated history of successfully managing multiple concurrent initiatives and maintaining one's own workflow.
Strong interpersonal skills that include excellent skill in collaboration and problem solving with other departments and colleagues
Understanding of CCPA, HITRUST, HIPAA, other regulations pertinent to data security, and the importance of patient data privacy
Commitment to reflect FMI's values: Passion, Patients, Innovation, and Collaboration