Simulation Integration 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 the software and system integration of sophisticated simulation models (developed by multiple research partners) into a system-of-systems, which will be used by governmental agencies and affiliated organisations to address complex policy issues. The responsibilities include but are not limited to:
-
Design a federated integration architecture for the system-of-systems.
-
Strategize and execute a phased deployment plan for the federation.
-
Assess and evaluate existing integration technologies to determine their suitability for the project's requirements.
-
Integrate and customise simulation models to work seamlessly within the broader federation.
-
Develop connectors, interfaces, and adapters to facilitate model communication and data interchange.
-
Perform verification and validation of integrated simulations, including internal testing and external validation with stakeholders.
-
Collaborate with cross-domain teams to incrementally and continuously integrate their simulation models into the federation.
-
Optimise simulation and federation performance and stability.
-
Construct test cases to ensure correctness, robustness, scalability, and security of the federation.
-
Contribute to open-source development for selected system components.
-
Support other development activities (e.g., machine learning, frontend, backend).
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 simulation development and/or system integration.
Technical skills:
-
Strong proficiency in a wide range of programming languages, including Python, Java, JavaScript, and C++.
-
Proficiency in high-performance communication technology (e.g., gRPC, MPI, ZeroMQ)
-
Proficiency in simulation software and tools (e.g., SimPy, MASON, Repast, Simulink, AnyLogic, SUMO).
-
Familiarity with simulation integration standards and frameworks (e.g., HELICS, HLA, DIS)
-
Familiarity with model pipelining tools (e.g., Airflow, MLflow, Argo).
-
Experience with containerization and orchestration technologies, such as Docker and Kubernetes.
-
Experience with version control systems (e.g., Git).
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.
|