Senior Software Engineer

  • Foundation Medicine
  • Boston, MA, USA
  • Nov 19, 2019
Information Technology

Job Description

Foundation Medicine

Job Location: Boston, MA
Req Number: 10151
Department : Technology Products

(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); = id; js.src = ""; js.setAttribute("data-applicant-info", "false"); fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'jobtarget-jssdk'));


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.


The Senior Software Engineer 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 Senior Software Engineer 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.
  • Mentor and coach team members with less experience.
  • Write high quality distributed system software.
  • Build batch and streaming pipelines for the analysis of FMI's data assets.
  • Lead other team members in:
    • Investigating design approaches;
    • Prototyping new technologies; and,
    • Evaluating 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.
  • Drive engineering best practices in the team.
  • Deliver contributions in an Agile approach and leveraging Agile methodology.
  • Other duties as assigned.


Basic Qualifications:
  • Bachelor's Degree.
  • 6+ year(s) of software engineering experience.
  • Proficiency in two or more of the following software languages: Java, Scala, Python, or Go.

Preferred Qualifications:
  • Advanced degree in Computer Science, Software Engineering, or a related concentration.
  • 8+ years of prior software engineering experience.
  • Prior life science industry experience, particularly in genomics or biotechnology industry experience.
  • Demonstrated understanding of Agile software delivery.
  • Experience leading large-scale data warehousing and analytics projects.
  • Professional experience developing software in a distributed computing environment.
  • Expertise in languages covering both object oriented (OO) and functional programming (FP) paradigms.
  • Strong refactoring abilities and test automation skills.
  • Deep professional experience with:
    • Amazon Web Services (AWS) or similar cloud platform.
    • Object-oriented programming (OOP) and functional programming (FP) paradigms.
    • Distributed event streaming systems: Kafka, Pulsar, Kinesis, and others.
    • Profiling applications and JVM tuning.
    • Data pipeline and workflow management tools: Airflow, Glue, Azkaban, and others.
    • Relational databases, including:
      • SQL.
      • Database design.
      • Query tuning.
      • Object-Relational Mapping (ORM).
    • Data processing tools Spark, Storm, Hadoop, Heron, and others.
    • Containerization/containerized deployment of software: Docker, Kubernetes, and others.
    • NoSQL database technologies such as document stores and graph databases.
    • Concurrency and asynchronous programming concepts.
  • 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.
  • Understanding of HIPAA and importance of privacy of patient data.

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)6e5XY8IzEVjAIZp1cokmy