McLaren Racing has one single mission: To win Grands Prix and World Championships. To design, build and operate a Formula One car at race-winning levels requires focus, ambition, imagination, dedication, and attention to detail.
We are looking for a High Performance Computing (HPC) Application/Systems Engineer to help maximise performance of our HPC applications, maintain a high-end HPC service that meet the very demanding requirements of the McLaren Racing’s computational engineering environment. This is an opportunity to work in a fast-paced, innovative high technology environment, focussing on pure performance and exploring a diverse range of new hardware and software technologies in supercomputing.
The role will be primarily based at the prestigious McLaren Technology Centre with a proportion of the time spent working from home.
Keep abreast of latest HPC and industry developments and investigate the suitability of newly available technologies, including but not limited to: new CPU technologies, HMB, memory and high-speed interconnects, web-based software technologies and parallel high performance computing application tuning & optimization. Report back and make recommendations.
Assist in hardware and software upgrade programmes to implement these new technologies.
Help to scope, develop, roll out and optimise new and existing web-based tools to improve the applications workflow on the HPC systems, working with the HPC users (CFD methodology engineers and aerodynamicists) to understand their needs.
Provide Linux skills and support to CFD methodology engineers and HPC users.
Participate in the day-to-day operational support of the McLaren Racing HPC estate: manage and solve any hardware and software issues that may arise.
Opportunity to specialise in systems infrastructure or application development.
Knowledge, Skills and Experience
Strong python and/or shell scripting and debugging
Excellent knowledge of Linux based systems
Administration and use of HPC batch job schedulers.
Knowledge and experience of system and process virtualisation.
Developed and maintained automation using DevOps tools and processes
Familiar with databases: both SQL and no-SQL.
Application profiling and performance tuning.
Knowledge of HPC hardware including clusters, storage and interconnects
Benchmarking techniques and tools
Computer architecture, CPU, GPU, Memory and I/O subsystems
HPC system and package management tools
Storage knowledge, HPC parallel file system and general file sharing protocols
System and infrastructure monitoring tools
In-depth application development with C. C++
Robust software engineering principles and knowledge of full software development lifecycle.
Knowledge of data analytics and machine learning techniques.
Degree in related subject such as Computer Science, or industry certification
Have excellent problem-solving skills and analytical approach, with attention to detail.
Self-starter, able to identify requirements independently, then make proposals for solutions.
A team player but with the initiative to make own decisions and work with minimal supervision.
Aptitude to learn from others, share knowledge with others, and promote continuous improvement of our processes.
High level of personal commitment, occasional availability on weekends and out of hours may be required.
Good communication skills.