
High-Performance Computing
HPC Software Architect
We're looking for a HPC Software Architect who wants to be at the forefront of innovation within the Advanced Computing domain. If you're a leading expert in high-performance computing and software architecture, we'd really like to hear from you.
Sector:
IT Services & Consulting
Location:
London, United Kingdom
Job Type:
Full-TIme
Requirements
Our client, a market leader in high-performance computing and scientific software, is seeking a HPC Software Architect with strong experience in HPC software architecture and technical leadership. This position offers the chance to shape cutting-edge tools and methods used in large-scale simulations and advanced research, while collaborating with international experts across mathematics, computer science, and physics.
Required Skills & Experience
MSc, engineering degree, or PhD in computer science, computational science, or a closely related discipline.
At least five years’ experience in software development, with three years in a technical lead or architect role.
Strong background in scientific computing, HPC, or large-scale software projects.
Proficient in multiple programming languages, ideally including Python, C/C++, or Fortran.
Solid knowledge of parallel programming paradigms (GPU computing, multi-threading, distributed systems).
Skilled with modern collaborative development tools: Git/GitHub, CMake, Docker, Spack, GTest, CTest, etc.
Strong communication and teamwork skills, with enthusiasm for interdisciplinary collaborations across applied mathematics, computer science, and physics.
Excellent written and spoken communication skills
Key Responsibilities
Apply your expertise to developing advanced computational patterns, adaptive mesh refinement, particle-based simulations, and related methods.
Collaborate with research partners to define representative software application that capture the technical complexities of real-world scientific workloads.
Design modular software architectures that maximize reuse of community frameworks, libraries, and tools, ensuring consistent performance and integration across projects.
Reduce technical debt and prepare systems for long-term sustainability through proactive refactoring and forward-thinking design.
Lead the development and integration of mini-applications while mentoring junior engineers and fostering best practices.
Enhance performance and portability by leveraging advanced parallel programming models (e.g., GPU acceleration, multi-threading) and effective abstraction layers.
Develop benchmarks and performance metrics to measure scalability, efficiency, and portability.
Facilitate knowledge transfer through training, documentation, and direct support.
Contribute actively to Agile project workflows, including planning, retrospectives, demos, and inter-team coordination.