How to Optimize Technical Team Structure in a Genomics Company: Lessons Learned from a Startup
All growing startup companies deal with the emergence of separate teams from what was initially the responsibility of a small, close-knit group of individuals. For a typical technology company, the emergence of separate Data Science and Engineering teams is a fairly common phenomenon, though variants of the two teams can exist.
At a genomics company with a strong focus on Research & Development, there is additional complexity: both Research & Development and Bioinformatics exist as highly-related concepts to Engineering and Data Science. The current team structure at Phosphorus is the result of a long evolutionary process that began at Recombine as we grew from a team of 6 to a team of 80. Through trial and error, Phosphorus is now equipped with firsthand experience and invaluable lessons to share with other startups so they may avoid similar pitfalls. Our number-one takeaway? A larger team doesn’t automatically translate to increased output without clear delineation of responsibilities.
What technical challenges did we face at Recombine?
In the early days at Recombine, we were a lean team of six people as we scaled up our first product, CarrierMap. Alongside me, there was one part-time bioinformaticist, a full-stack web developer, and a few part-time web developers, along with Product and Operations roles. As any startup founder will attest, everyone does everything at this stage. Constant communication among a small group of people makes success possible. There were are a myriad of technical challenges we faced (and solved) as this small group. Here are a few examples:
- Designing a DNA microarray-based genetic test
- Building & deploying a web application for managing patient accounts
- Mining and integrating data from medical literature into our web application
- Defining a pipeline for importing raw genetic data from the lab to our web application
- Developing algorithms to detect challenging regions of the genome
- Optimizing processes within the laboratory for the delivery of testing results
- Defining and organizing clinical studies within our web application and genetic tests
- Validating and integrating data from multiple different laboratory assays
- Creating a methodology for constantly curating and updating our test
Undefined responsibilities cause challenges.
After our product launch in 2013, we started scaling up the business – in sales, operations, and, necessarily, personnel. On the technical side, our bioinformaticians were working side-by-side with engineers and research scientists to figure out what would be our ‘next thing’. Naturally, at that time, we realized that developing a testing platform based on next-generation sequencing (NGS) was essential.
As the company grew to 20 people, our workload expanded proportionately to include the development of the new platform, validation experiments, and the implementation of a scalable architecture for analyzing, storing, and delivering the data. But more people = more power…right? Not necessarily.
The breakdown took some time to spot, but ultimately, there was a lack of definition as to who was responsible for which part of the process. Should engineers be focusing on analyzing the results of validation studies? Should the bioinformaticians be committing some of the pipeline code directly to our web application architecture? Where does data science even fit in?
Finally, the leadership team stepped in: we realized there was a problem. There was an important need to tease apart our process and separate the concerns. Though it took some time to settle on an ideal structure, we reaped the benefits quite a bit once we found it. The structure we found now translates into improved speed, for while our first NGS test took over a year to develop, we currently have the ability to develop new tests at Phosphorus in less than 3 months! Practice makes perfect, and so do well-defined sets of responsibilities.
What is our current team structure at Phosphorus?
Today, the technology challenges at Phosphorus are ultimately handled by two large teams: Engineering and Research & Development. This separation facilitates not only division of labor, but also helps us target the ideal candidates to join each group. The more specific the role, the better we have been able to zero in on the best talent. A description of each team follows:
The Engineering Team is responsible for the development and maintenance of our end-user focused web application. Whether by serving our business applications, developing new tools, or otherwise implementing stronger testing procedures, Engineering is concerned with the art of building a highly-scalable, performant, consistent architecture to execute key business and product functions for us and our users. We have multiple engineering teams focused on various areas of our stack.
The Research & Development Team is responsible for creating new diagnostic tests, algorithms, and producing other findings that may be useful to the end-users of our software. Typically, once the R&D team creates something, it is scoped into a Technical Product spec so that our engineering team can translate it into production-level code for the end-user. The R&D team does not touch our web application code. There are four main sub-branches of the R&D team:
- Bioinformatics is concerned with the integration of raw data from the laboratory into our engineering infrastructure and business applications. While the laboratory essentially takes a physical molecule of DNA and converts it into digital data, the bioinformatics team tests and defines the pipelines for taking this data, along with library and reference data, and turns it into something useful for patients and providers. Bioinformatics works with Engineering to make these processes standard and scalable within our applications.
- Research Science is the team furthest removed from application/business logic. This team is responsible for taking ideas from our Clinical Product team, determining strategies for testing their feasibility, defining the scope of work or study needed, and implementing and executing on a scientific research project. The goal of these research projects are myriad: the development of new genetic tests, the discovery of a new clinical/gene association, and the evaluation of previous studies based on more information.
- Platform Development is the team responsible for working between the Laboratory and Research Science teams to develop new, reliable, validated diagnostic tests. This team performs experiments with DNA sequencers, Sanger Sequencers, and various iterations on sample preparation in order to optimize the output and increase signal for the bioinformatics interpretation of our genetic tests.
- Data Science works on both R&D and business-based projects that involve the analysis of large sets of data with the goal of reliably processing inputs and producing strong predictions as outputs. Broadly, R&D-focused Data Science at Phosphorus involves determining if we can predict a clinical outcome or detect specific genetic mutations based on known patient samples analyzed in our laboratory. Our Research Science team defines the scope of an experiment, and the Data Science team digests and analyzes these large data sets to test our hypotheses. On the Business Logic side, our Product and Operations teams work with Data Science to help optimize laboratory processes within our software.
Separation of Concerns is Important.
In startup land, “hierarchy” and “management” are often branded as evil words. Take a look at the Netflix Culture Slides or Valve’s Company Handbook. How about Holocracy or Tribal Leadership? All these documents describe incredible concepts of flat organizational structure where people can focus on work instead of meetings or management overhead. However, at a biotechnology company specializing in genomics, I would argue that there is far more complexity. We are not simply a team of engineers.
That being said, so long as separation of concerns can be achieved by the definition of high-level teams, we do not have to abandon the attempt at flat structures. At Phosphorus, we encourage each team to manage how they want, and most trend towards flat. As the company grows, we want to bring on the best talent, and the most talented people benefit from intense focus. A good definition of each team’s responsibilities allows individuals a better opportunity to achieve maximum focus, and Phosphorus is becoming a stronger company as a result.