As a junior engineer, you'll work across a diverse software portfolio—improving UIs, adding optimization workflows, fixing C++ bugs, and building MCP servers for LLM integration—rather than being tied to one product.  You will work across our software portfolio rather than on a single product. On any given week that might mean improving the UI of a simulation control tool, adding a new optimisation workflow, fixing a bug in a C++ codebase, or building an MCP server that exposes one of our tools to an LLM agent. UI quality and AI-friendliness are both priorities here, and they reinforce each other. A well-designed tool with clear inputs, predictable behaviour, and informative feedback is easier for a scientist to use and easier for an LLM to drive reliably. You will think about both audiences. Part of your work will be making our existing tools usable by AI agents, designing tool interfaces that behave well when an LLM is at the controls, and building agent pipelines that integrate with our simulation workflows. We also have new projects to start from scratch. As you build familiarity with the domain and demonstrate ownership, there is genuine opportunity to lead one of those projects end-to-end. No prior background in simulation or optimisation is expected. The domain is learnable and we will support that process. What matters is that you are genuinely curious, pick things up quickly, and enjoy building tools that serious technical users depend on.