JOBSEARCHER

Staff Software Engineer - Data Processing & Execution Platform

ARCHIVED

We can't find an active application page for this role right now. It may reopen or be listed elsewhere. Use Next Steps to search for an active apply link and similar live jobs.

Our Why At Dotmatics At Dotmatics, we believe science, data, and decision-making must be deeply intertwined for innovation to thrive. Our Portfolio includes Luma, LumaLab Connect, ELN Platform, Graphpad Prism, Geneious, SnapGene, Protein Metrics, OMIQ, FCS Express, LabArchives, NQuery, EasyPanel, MStar, SoftGenetics and Virscidian.We have a vision for a new Lab of the Future that will change the future of scientific research.We have created the world’s most comprehensive digital science platform – best-of-breed software applications already used by more than 2 million scientists, together in a single ecosystem united by a powerful, flexible enterprise data platform. This is not flat data buried away in digital graveyards. This is dynamic, multi-dimensional decision-making.Scientific enterprises need a new level of effectiveness to achieve tomorrow’s breakthroughs. Illness will not wait. The biosphere will not wait. We are tireless in our vision, because the time for innovation is now.Shaping the Future of Science At Dotmatics Our global team of more than 800 colleagues are dedicated to supporting our customers in over 180 countries. Together, with our scientific community of users, we accelerate scientific innovation in order to make the world a healthier, cleaner, and safer place to live.You’ll join a collaborative, global team pushing the boundaries of scientific innovation. Your ideas and efforts will have a tangible impact, accelerating scientific progress and discovery. We offer a dynamic, remote-friendly environment that fosters high integrity and collaboration, empowering you to excel. Dotmatics is a company built by scientists, for scientists. Combined, we are now the world’s largest cloud-based scientific research R&D platform. We need your help to keep growing and pioneering the future.**We are Science Driven. We are Customer Centric. We are Better Together**What do we Need:As a Staff Software Engineer, you will be the technical lead for the data processing and execution platform — a set of services that take user-initiated operations (data commits, transformations, workflows) and execute them reliably across shared compute infrastructure. This is a distributed, event-driven system with multiple services coordinating through asynchronous message passing.This is no ordinary engineering role - this is working on a product with real world meaning - a product that helps define the way scientists works, helping bring medicine to market quicker, finding cures for diseases fasterThis is LUMA**This is a remote position, located in Mass. There will be some travel required to the office in Boston for team meetings and working sessions.**In this role, you will:Define and drive system architecture for event-driven data processing services, leading the migration of key components to a Node.js/TypeScript and Python ecosystemContribute to and improve engineering standards, patterns, and best practices for distributed systems, observability, and reliability across a multi-service platform coordinated through Kafka, GraphQL and RESTful APIsArchitect and implement asynchronous data processing pipelines for high-volume scientific data, with attention to at-least-once delivery guarantees, backpressure, and graceful degradationGuarantee the scalability, maintainability, and security of software solutions running on Kubernetes and AWSTake ownership of existing services, develop a deep understanding of their behavior, and make pragmatic decisions about how to evolve themWe are looking for candidates with 12+ years experience in engineering preferably in a SaaS environment, and ideally with a degree in Computer Science, Software Engineering, or equivalent.The Key Skills we are looking for:Language-agnostic engineering mindset — you pick up new languages and codebases quickly, reason about distributed system design independent of any single runtime, and can be productive in an unfamiliar stack within weeksAdvanced working experience in Asynchronous processingStrong proficiency in Node.js/TypeScript and Python for building production backend servicesProven experience designing and implementing distributed, event-driven systems coordinated through message buses, GraphQL and RESTful APIsExperience implementing automated testing platforms, unit tests, and integration testsAdvanced working experience with large data processing platforms such as Spark, Databricks, or SnowflakeExperience managing state across multiple stores (e.g. a message bus, a relational database, and a cache) and the consistency challenges that come with itHands-on experience with AWS in production environments and a solid understanding of Kubernetes for orchestrating workloadsProficiency with CI/CD tools such as GitHub ActionsKnowledge of Agile software development practicesSetting technical direction, leading cross-team initiatives, and leveling up other engineers through mentoring and architectural guidanceYou may also have experience in:Scala or other JVM languages (helpful for understanding existing services during migration)Message-based architectures using Kafka (consumer groups, partitioning, delivery semantics)Background in complex data pipelines, schema management, and incremental processingExposure to AWS and/or GCP or designing systems portable across multiple cloud providersBuilding scalable distributed systems using Kubernetes and other cloud-native technologiesExperience within Life Sciences or R&D data managementWhy this role is interesting:You're not maintaining a system in steady state. You're taking a complex, production-proven execution platform and leading its evolution — migrating to a new tech stack while keeping it running reliably for customers doing drug discovery. The system processes real scientific data through multi-step pipelines on shared compute infrastructure, with all the distributed systems challenges that implies: multi-tenancy, cancellation, crash recovery, and coordinating state across multiple data stores. If you enjoy understanding how complex systems actually work, regardless of what language they happen to be written in, and then making them better - this is the role.