Experience: 10+ Years
Role summary
We are looking for a hands-on Principal Software Engineer to contribute to the architecture design and implementation of a distributed scientific data platform for microscopy and life-science applications. The platform must support microscopy image data, metadata, search, transformation, storage, transfer and analysis workflows across instruments, user PCs, on-premise deployments and AWS cloud environments. This role requires deep expertise in database-centric system design, scientific data modeling, high-performance data processing and scalable multi-user distributed systems.
Responsibilities
· Design scalable storage, indexing, search, caching and data-transfer mechanisms for large scientific datasets in hybrid edge/on-prem/cloud environments.
· Design and implement database-centric services, APIs and backend components for secure and high-performance multi-user access.
· Drive the migration of legacy product-specific data-management functionality into reusable platform services.
· Collaborate with image analysis, web UI, instrument software and domain experts to define robust interfaces and end-to-end workflows.
· Contribute to engineering standards, CI/CD, observability, reliability and secure software delivery for cloud-based and instrument-hosted systems.
· Provide strong technical expertise through architecture analysis and design, hands-on implementation, design and code reviews.
Must have
· 10+ years in software engineering, including design of complex distributed backend or data platforms.
· Deep expertise in database design, schema evolution, query optimization, transactions, indexing, data security and data lifecycle management.
· Strong experience with SQL and at least one of: document, key-value, graph or vector databases.
· Strong experience designing search solutions for complex metadata and dataset discovery.
· Proven experience with AWS-based backend systems, storage, compute and scalable service design.
· Strong programming skills in Python and, ideally, C#.
· Experience building secure multi-user systems with authentication, authorization and auditability.
· Strong architectural thinking, system decomposition and performance optimization skills.