We're building a deep learning system to structure and organize all the free text in patient medical records. Our first application for this system is automatically turning that text into health insurance billing codes. Each year, $3.5 billion is spent on using manual labor to solve this problem with only 83-85% accuracy achieved. Our financing was led by Google Ventures and 8VC and our engineering team comes from Google, Facebook, and Twitch.
Software Engineer, Backend San Francisco, CA, United States, Toronto, ON, Canada, or Remote
Software Engineer, Data San Francisco, CA, United States, Toronto, ON, Canada, or Remote
Software Engineer, Infrastructure San Francisco, CA, United States, Toronto, ON, Canada, or Remote
Software Engineer, Machine Learning San Francisco, CA, United States, Toronto, ON, Canada, or Remote
Why join us?
You are passionate about learning and personal growth. You'll be working with the latest, cutting edge deep learning approaches, infrastructure, tools, and frameworks.
You are looking to make an impact. Our mission is to structure and organize all healthcare data. By doing this we'll directly save lives and improve the experience of healthcare for millions of people.
You want to learn from and work with an A+ team. Our engineering team comes to us from Google, Facebook, Dropbox, and Twitch and has been educated at Harvard, Stanford, Caltech, and University of Waterloo.
Engineering at Fathom
We are a pretty small engineering team so it’s very flat with the entire team reporting directly to Chris (one of the cofounders). We have a strong emphasis on communication, personal development, process, and craft.
Key components include: - Daily engineering standup - Code reviews on every PR - Biweekly OKRs - Written designs with peer or manager review for all major components - Monthly check-ins with technical cofounder/manager (role, challenges, technical growth, feedback) - Bi-monthly check-ins with non-technical cofounder (career, challenges, culture, feedback)
We have unique challenges across our stack: - Designing and building an interface to seamlessly blend human and machine intelligence - Scaling data pipelines and machine learning processes to deal with tens or hundreds of millions of documents - Continuous integration/delivery for machine learning, which is challenging because ML is inherently stochastic and evolving - Combining machine learning methods with both hard-and-fast rules and expert domain guidance - Creating classifiers against sometimes very noisily labeled data - Building analytics that help surface and target the myriad of failure modes present in the complex domain of medical coding - Maintaining an aggressive, quality security program which provides safety and privacy across a complex pipeline and large volumes of very sensitive data
Backend or Full-Stack: - Drive development of what Andrej Karpathy calls the most underappreciated and yet most important portion of the ML Software Stack: building the human-machine labeling loop (https://vimeo.com/272696002) - Design and build the human-in-the-loop software that lets humans quickly clarify the points of confusion for the automated machine learning system. Intelligently integrate human judgment with what the machine “knows” with high confidence, while leveraging external knowledge bases to further help the human rapidly make decisions. - Construct a platform which must scale across many users, all while staying highly secure, and providing the analytics and controls to monitor both the users and the underlying machine learning, to ensure that all parts of the system (human and the machine) are operating both efficiently and effectively.
Data: Implement the build-out of a data pipeline to support scaled, long-term training of a language model on proprietary data: - Construct a pre-processing pipeline capable of cleaning and aggregating tens or hundreds of millions of documents - Extend our ML training systems to support interfacing with a highly scaled solution, such as Google’s TPUs, Google’s ML API distributed Tensorflow interface, or an internal Kubernetes-based distributed Tensorflow - Put in place the systems and monitoring to ensure successful training over an extended period of time (days or even weeks) - Implement analytics to track and determine efficacy of training against a wide variety of data sets
Infrastructure: Stand up a CI/CD pipeline that supports real-time ML inference: - Use Spinnaker to set up a highly scalable, red-black continuously deployment bake off - Implement robust canary testing to push sample data through “new” and “old” ML pipelines; generate and track the metrics (accuracy, throughput, etc.) to automate deployment of new code/models
Working at Fathom
We are driven and passionate, motivated by learning, personal growth and impact. We have a heavy emphasis on feedback and communication, running our OKRs on two weeks cycles and monthly one hour check-ins.
Interested in this company?
Skip straight to final-round interviews by applying through Triplebyte.