Software Development Engineer (All Levels)
- On-site
- Woking, England, United Kingdom
- F1 - Technical
Job description
At McLaren, our mission is to set the standard for high performance in sport. Everyone, in every part of the team, has a role to play. So if you want to test your ideas with the world watching... And measure your progress in milliseconds... And play your part in racing history... You belong here. High performance starts with you.
Purpose of the Role:
Software Development Engineers at McLaren F1 analyse, design and engineer innovative software solutions to projects aligned with the requirements of our racing functions. Senior Engineers, provide technical leadership on a range of projects, contribute to initiatives beyond their direct group or focus area, and collaborate on projects to deliver value to the racing team.
Role Dimensions:
The McLaren Software & Data Science group is responsible for the analysis, design, and delivery of bespoke software tools and methodologies which help improve our Formula 1 car's performance. This starts with aerodynamicists creating designs in CAD which are tested in the wind tunnel and with CFD, requiring data acquisition, processing, and analysis. We build tools to manage simulation and car setup optimisation, provide trackside operational decision-making tools, and the base software and hardware that lets the team go racing. We are a cross-functional group, bringing together data science, machine learning, software engineering, and DevOps to deliver performance focussed platforms and solutions.
We are currently recruiting for Software Development Engineers at multiple levels/grades across F1:
- Senior Specialist Software Engineer: your role will combine elements of technical leadership, agile/lean project delivery, and stakeholder management. You’ll drive all stages of the development life cycle from initial analysis to deployment, monitoring, and support. You will drive systems architecture, balancing specific stakeholder needs with the global view of software in Racing to build a cohesive application estate.
- Specialist Software Engineer: you will be involved in all stages of the development life cycle from initial analysis to deployment, monitoring, and support. You will collaborate on systems architecture and extend systems to meet functional requirements which may be complex and ambiguous.
- Senior Associate Software Engineer: you will be involved in all stages of the development life cycle from initial analysis right through to deployment, monitoring, and support. You will deliver the software that implements existing and new systems designs with medium scope and ambiguity.
Due to the nature of track and tunnel operations, some flexibility to work out of office hours and weekends will be required. The role will be primarily based at the McLaren Technology Centre with a proportion of the time spent working from home.
Role Accountabilities:
- Contribute to the team’s technical roadmap, ensuring alignment with the priorities driven by the business / team manager. Planning a year in advance, while remaining flexible and adapting to changing circumstances.
- Drive or collaborate in all stages of the development life cycle: initial analysis, design, implementation, build, integration, testing, deployment, debugging and support.
- Take ownership of areas, systems, or features on time and on budget.
- Drive, capture, and understand project requirements, define or collaborate on specifications, and to architect and implement robust, scalable, and testable software and system solutions.
- Work collaboratively with your team, the department, and stakeholders.
- Accurately estimate activity timescales and provide clear and regular progress reports.
- Raise awareness of and mitigate against potential technical risks.
- Confidently analyse and overcome technical challenges with workable and innovative solutions.
- Contribute to and maintain consistent standards and approaches adopted by the team.
- Efficiently plan and manage your workload.
- Keep up to date with the software development trends, technologies, and methodologies.
- Freely share knowledge, insight, best practice, and ideas.
Job requirements
Knowledge, Skills and Experience
Senior Software Development Engineer:
Essential
- BSc in Computer Science or equivalent discipline (2:1 or above) or equivalent industry experience.
- Extensive commercial experience delivering projects using agile/lean methodologies.
- A strong full stack software development background with an understanding of how to engineer high quality software.
- Considerable commercial development experience with modern programming languages (C#, Java, Javascript/Typescript, Python).
- Deep understanding of managing source code in a collaborative environment (pull requests, branches).
- Significant experience with relational and document databases e.g. SQL Server and MongoDB.
- Ability to lead project delivery through ALM tools like Azure DevOps to organise and track your work.
Desirable
- Master’s degree in Computer Science or equivalent discipline (2:1 or above) or equivalent industry experience
- Production experience developing systems with Kafka and stream processing techniques
- Familiarity with MATLAB and/or Python for mathematical processing
- Deep experience with Linux and running containers on Kubernetes
- Lead roles in designing distributed microservice based architectures
- Web development experience using technologies such as JavaScript, TypeScript, and React
- Significant experience using cloud technologies e.g. Microsoft Azure, AWS, or Google Cloud
Specialist Software Development Engineer
Essential
- BSc in Computer Science or equivalent discipline (2:1 or above) or equivalent industry experience.
- Commercial experience delivering projects using agile/lean methodologies.
- Experience of full stack software development background with an understanding of how to engineer high quality software.
- Commercial development experience with modern programming languages (C#, Java, Javascript/Typescript, Python).
- Strong experience managing source code in a collaborative environment (pull requests, branches).
- Experience with relational and document databases e.g. SQL Server and MongoDB.
- Experience working within ALM tools like Azure DevOps to organise and track your work.
Desirable
- Experience developing systems with Kafka and stream processing techniques.
- Familiarity with MATLAB and/or Python for mathematical processing.
- Experience with Linux and running containers on Kubernetes.
- Experience designing distributed microservice based architectures.
- Web development experience using technologies such as JavaScript, TypeScript, and React.
- Experience using cloud technologies e.g. Microsoft Azure, AWS, or Google Cloud.
Senior Associate Software Development Engineer
Essential
- BSc in Computer Science or equivalent discipline (2:1 or above) or equivalent industry experience.
- Experience delivering projects using agile/lean methodologies.
- Experience developing high quality software in the front-end, middle tier, or back-end/automation services.
- Proficiency with at least one language used in a commercial setting (C#, Java, Javascript/Typescript, Python).
- Familiarity with building on relational or document databases e.g. SQL Server and MongoDB.
- Experience working within ALM tools like Azure DevOps to organise and track your work.
- Experience using git in a collaborative environment (pull requests, feature branches).
Desirable
- Commercial experience working with agile/lean methodologies
- Familiarity with Linux and/or running containers on Kubernetes
- Experience using cloud technologies e.g. Microsoft Azure, AWS, or Google Cloud
All Levels:
- High competency in written and oral English language
- Experience building maintainable codebases using the SOLID principles and design patterns
- Self-motivated with high levels of initiative.
- Highly productive with the proven aptitude to understand and apply technology.
- You enjoy working with people to solve problems, choosing the simplest and most elegant approach then iterating
- You're flexible and adaptable, detail orientated, and get satisfaction from delivering to a high standard
- Able to work autonomously under pressure and to tight deadlines.
- You recognise the importance of continuous learning and sharing that knowledge with others
- Approachable, with balanced judgment and a high level of personal integrity.
Personal Attributes:
- Self-motivated with high levels of initiative.
- Highly productive with the proven aptitude to understand and apply technology.
- You enjoy working with people to solve problems, choosing the simplest and most elegant approach then iterating.
- You're flexible and adaptable, detail orientated, and get satisfaction from delivering to a high standard.
- Able to work autonomously under pressure and to tight deadlines.
- You recognise the importance of continuous learning and sharing that knowledge with others.
- Approachable, with balanced judgment and a high level of personal integrity.
What can McLaren offer?
We constantly strive to be better tomorrow than we are today. Our ambition is to be the most pioneering and exhilarating racing team in the world, and our collective task is to set the standards for high performance in sport. We show up every day with energy and enthusiasm, ready to play our part.
We encourage and support diversity, equity and inclusion. We will actively promote a culture that values difference and eliminates discrimination in our workplace.
McLaren Racing is based at the iconic McLaren Technology Centre (MTC) near Woking.
Our state of the art, sustainable campus offers many facilities including a gym, restaurant and indoor and outdoor break-out areas, as well as direct access to park and common land. The MTC is connected to Woking mainline station via regular shuttle buses, from which London Waterloo is a 30 minute train ride.
We offer a comprehensive package of benefits including private healthcare, car schemes, life insurance and generous pension contributions.
or
All done!
Your application has been successfully submitted!