What are the responsibilities and job description for the Software Engineer III (Data Engineering Team) position at Foundation Medicine?
About The Job
The Software Engineer III on the Data Engineering Team is broadly responsible for building and supporting software applications in use by the business; in particular, FoundationCORE and its components. The technical products developed by the incumbent help doctors match patients to more advanced treatment options. This role completes design, development, unit testing, code reviews, and generates technical documentation. The Software Engineer III has a high-level understanding of the codebase and is self-sufficient in at least one domain of FMI architecture. The incumbent 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
Basic Qualifications:
The Software Engineer III on the Data Engineering Team is broadly responsible for building and supporting software applications in use by the business; in particular, FoundationCORE and its components. The technical products developed by the incumbent help doctors match patients to more advanced treatment options. This role completes design, development, unit testing, code reviews, and generates technical documentation. The Software Engineer III has a high-level understanding of the codebase and is self-sufficient in at least one domain of FMI architecture. The incumbent 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
- Help to design, develop, and maintain a robust and scalable data platform.
- Write high quality distributed system software.
- Build batch and streaming pipelines for the analysis of FMI’s data assets.
- Partner with other team members to:
- Investigate design approaches;
- Prototype new technologies; and,
- Evaluate technical feasibility.
- Implement algorithms developed by FMI data scientists.
- Identify, design, and implement internal process improvements including, but not limited to, automating manual processes, optimizing data delivery and redesigning infrastructure for greater scalability.
- Deliver contributions in an Agile approach and leveraging Agile methodology.
- Other duties as assigned.
Basic Qualifications:
- Bachelor’s Degree and 3 year(s) of software engineering experience
- Proficiency in one of the following software languages: Java, Scala, Python, or Go
- Bachelor’s Degree in Computer Science, Software Engineering, or a related concentration
- 6 years of prior software engineering experience
- Deep professional experience with:
- Data pipeline and workflow management tools: Airflow, Glue, Azkaban, DBT, Prefect, Dagster and others
- SQL query tuning
- Java, Spring Boot
- Data processing tools Spark, Storm, Hadoop, Heron, and others
- Amazon Web Services (AWS) or similar cloud platform
- Object-oriented programming (OOP) and functional programming (FP) paradigms
- Distributed event streaming systems: Kafka, Pulsar, Kinesis, SQS and others
- Profiling applications and JVM tuning
- Relational databases
- Object-Relational Mapping (ORM)
- Prior life science industry experience, particularly in genomics or biotechnology industry experience
- Demonstrated understanding of Agile software delivery
- Professional experience developing software in a distributed computing environment
- Familiarity with both object oriented (OO) and functional programming (FP) paradigms
- Strong refactoring abilities and test automation skills
- Familiarity with:
- Containerization/containerized deployment of software: Docker, Kubernetes, and others
- NoSQL database technologies such as document stores and graph databases
- Experience building and delivering Continuous Integration/Continuous Deployment (CI/CD) solutions
- Lifelong learner mindset, passionate about software development
- Strong interpersonal skills including successful 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 reflect FMI’s values: Integrity, Courage, and Passion
Salary : $128,400 - $160,500