Job Title: Software Engineer
Project Overview:
Biomedical Data Hub (BDH) is a national platform that tackles the challenges of data management, accessibility, and interoperability in biomedical research. We provide a unified system for structured and unstructured data, enabling researchers to perform relational querying and manage large-scale datasets. Another key feature of the platform is the ability for researchers to package and share their own analytical algorithms, making them readily accessible and executable by other users on the platform. This breaks down silos between proprietary datasets and tools, facilitating collaboration and reproducibility across research teams.
Role Summary:
We are seeking a talented and motivated Software Engineer to join our dynamic team and play a pivotal role in the design, development, and deployment of the BDH digital platform. You will be responsible for building a scalable and robust system that will be used by biomedical researchers, data analysts, and IT teams to accelerate data-driven discoveries.
Long Description
Why Join Us?
- Impact: The opportunity to work on a mission-driven project that has a direct and lasting impact on biomedical research and patient outcomes.
- Greenfield Project: A chance to build a cutting-edge platform from the ground up, with significant influence on its technical direction and architecture.
- Tech Stack: Work with a modern, best-in-class tech stack.
- Growth: A collaborative environment with opportunities for professional growth, mentorship, and learning at the intersection of software engineering and bioinformatics.
Long Description
Key Responsibilities:
- Design, develop, test, and maintain a high-performance, containerised microservice for algorithm ingestion, exposing packaged algorithms as RESTful APIs for invocation, execution monitoring, and result retrieval.
- Implement version tracking and lifecycle management for ingested algorithms, ensuring reproducibility and traceability across updates.
- Implement resource isolation and sandboxing for ingested algorithms to ensure secure, reliable execution of third-party code.
- Collaborate with bioinformaticians and researchers to understand their needs and translate them into technical requirements.
- Contribute to the development of a secure, scalable, and reliable infrastructure for the BDH digital platform.
- Participate in code reviews and contribute to a high standard of software engineering best practices, including comprehensive automated testing, CI/CD via GitHub actions, and thorough documentation.
Long Description
Required Qualifications
- Minimum bachelor's degree or diploma in the field of computer science, computer engineering, or another web-development-intensive course.
- Hands-on experience designing, building, and maintaining RESTful APIs and microservices architectures.
- 2+ years of experience in software development, with a strong proficiency in Python (and/or Node.js) and their data processing ecosystem (e.g. Pandas, SQLAlchemy for Python; Danfo.js, Sequelize for Node.js).
- Experience with relational databases (e.g. PostgreSQL) and object storage (e.g. Amazon S3).
- Solid understanding of software engineering principles, including data structures, algorithms, and design patterns.
- Excellent problem-solving, interpersonal, and communication skills (proficiency in spoken/written English).
Long Description
Preferred Qualifications
- Familiarity with containerisation and orchestration technologies such as Docker and Kubernetes.
- Familiarity with AWS (Amazon Web Services), e.g. EC2, Lambda, and IAM.
- Experience with sandboxing or isolation techniques for running untrusted code (e.g. containers, gVisor, seccomp).
- Experience with API frameworks like FastAPI or Node.js frameworks like Express.
- Knowledge of front-end technologies such as React.
- Experience working in a collaborative, agile development environment.
- Experience working in a regulated environment (e.g. healthcare compliance, data privacy).
- Knowledge of security best practices, including OAuth 2.0, JWT, and data encryption standards.