Full Stack Infrastructure Developer
The candidate will be part of the team developing a federated computational infrastructure for multi-domain modelling and simulation. The candidate will focus on integrating modelling and simulation tools with a distributed computational backend to serve the diverse needs of the multi-disciplinary research team and the project stakeholders, including scientific experimentation, modelling and simulation, and the federation of a system-of-systems to address complex policy issues for governmental agencies and affiliated organisations.
The responsibilities include but are not limited to:
-
Design a system architecture for the infrastructure.
-
Strategise and execute a phased deployment plan for the infrastructure.
-
Develop integration capabilities (e.g., APIs, microservices) to connect system components.
-
Set up and optimise database and storage systems to support compute-heavy workloads.
-
Set up a workflow management system to submit jobs onto a distributed computing cluster.
-
Adapt simulation models and AI/ML flows into reusable workflow tasks.
-
Package models and pipelines into exportable workflows (e.g., Argo flow, Airflow).
-
Deploy full-stack solutions onto on-premises, cloud, or hybrid deployments.
-
Automate infrastructure and code management with CI/CD (e.g., Jenkins).
-
Implement information security schemes to control and monitor access.
-
Construct test cases to ensure correctness, robustness, scalability, and security of the platform.
-
Contribute to open-source development for selected system components.
-
Support other development activities (e.g., simulation integration, machine learning, frontend).
Education and experience requirements:
-
Bachelor's or Master's degree in computer science, software engineering, or related fields.
-
Minimum of two years of experience in full stack development, data science, or systems engineering.
Technical skills:
-
Strong proficiency in a wide range of programming languages, including Python, Java, JavaScript, and C++.
-
Strong experience with containerization and orchestration technologies, such as Docker and Kubernetes.
-
Strong proficiency with continuous integration and continuous deployment (CI/CD) pipelines.
-
Experience with infrastructure as code (IAC) tools (e.g., Ansible, Terraform).
-
Experience with database management systems, such as SQL and NoSQL databases.
-
Experience in system administration, including Linux server management.
-
Experience with version control systems (e.g., Git).
-
Familiarity with cloud computing platforms (e.g., AWS, Azure, or Google Cloud).
-
Understanding of networking and security best practices.
Soft skills:
-
Excellent communication skills to collaborate with interdisciplinary teams.
-
Strong problem-solving and critical thinking abilities.
-
Strong project management and time management skills.
-
Strong capacity for self-motivation, independence, and initiative to take ownership and complete tasks without constant supervision.
-
Adaptability to work in a fast-paced, dynamic research environment.
|