The Data Science and Statistical Computation group seeks creative and motivated Python software engineer to join the development of scalable, performant data analysis platforms for high-throughput single-cell genomic applications. Project team will implement analysis workflows for single cell genomic data stored in the cloud, leveraging and extending existing infrastructure and APIs in Python.
Our Business Partners and users of the software are based in the USA in South San Francisco (PST time zone) with many members of the team based in Poland. Please note that meetings or live slack interactions will be in the working hours of San Francisco (PST) timezone. We anticipate more collaboration and overlap with the PST time zone, probably more in the beginning and maybe less in the future as the developer gets familiar with the projects, teams and the program.
Responsibilities
Collaboratively and pragmatically solve scientific software engineering challeng
Encountered at the forefront of single cell genomics data analysis infrastructure
Collaborate with local and off-shore engineering teams to support software development efforts
Contribute to the broader scientific community through open-source software development.
Requirements
BS or higher in computer science.
3+ years' experience (including any graduate school) developing tools in Python for High Performing Computers and cloud solutions. Seniority of position will depend on experience and other factors.
Self-motivated and enthusiastic about programming and tool development.
Good knowledge of the FastAPI, Celery, SQL Alchemy, Boto3, Keycloak
Expertise with performant file formats for data analysis and scientific computation (e.g., hdf5, zarr, tiledb).
USAGE-level knowledge of such technologies: EKS, ECS, S3, SQS, SNS, ALB, EC2, RDS (Postgres), ElastiCache Redis
Experience with Kubernetes, Docker and Helm
Experience with GitLab CI
Experience deploying performant software in cloud environments (AWS preferred)
Demonstrated adherence to best practices in software engineering, particularly usability, version control, testing, and appropriate use of abstraction.
Demonstrated ability to effectively communicate about complex problems to peers, users and leadership.
In addition
You are a quick learner, are curious about new areas and the opportunity to build expertise, and courageously and creatively take initiative to see your ideas implemented.
You are attracted by the challenges of developing software that solves universal problems.
You are able to perform at a high level in a fast changing and demanding environment.
You are pragmatic about the tradeoffs between features, quality, and timeliness.