Senior Embedded Software Engineer

Location: Woking, GB

Job Title:                             Senior Embedded Software Engineer

Function:                             Electrification Applications 

Reporting to:                      Engineering Manager

Date of preparation:          June 2021

Background

The world around us is experiencing significant change, the greatest in generations. 

At McLaren Applied, we’re accelerating the response to that change. Our vision is that our people and technologies will pioneer a better future.  Our mission is to achieve breakthroughs in performance.

We’re at the cutting edge of innovation in industries including automotive transportation and motorsport. We create solutions that drive efficiency and cost-effectiveness.

We want to help to reduce the carbon footprint and become more sustainable.  Our focus is on electrification and telemetry, control and analytics.

To deliver efficient lightweight electric powertrain and vehicle development; motorsport solutions that make series more sustainable and efficient; reliable connectivity solutions for transportation and insightful analytics and monitoring of transport fleets.

By applying our expertise, we deliver real benefits and pioneer a better future.

Purpose of the Role

As an Embedded Software Engineer you will sit within the Electric Micromobility (MiMo) team and you will develop embedded software platforms (drivers, OSs etc.) for use within our MiMo products.

You will work alongside our electronic design team who develop control algorithms

Knowledge, Skills, Qualifications, and Experience

Essential:

  • Have proven experience of designing embedded control software on microcontroller platforms using C or C++.
  • Practical Experience
    • Bare-metal programming in C and ARM assembler
    • STM STM32 Arm Cortex-based microcontrollers, preferably STM32L4
    • H/W drivers including DMA, SPI, I²C, flash, UART, USB, CAN and ADC
    • Real Time OS for embedded systems
    • Bootloaders
    • Tools including Clang, GCC, scripting language (ex. Python), and Make
    • Debugging, including SWD/JTAG and simple UART prints
    • Writing efficient, secure code for resource-constrained systems
    • CAN communication protocols and their design implications
  • Have the desire and experience to develop Proof-of-Concept code
  • Proven experience and big supporter of automated testing (including unit/system/integration testing)
  • Understands the importance software development good practices including coding standards, code reviews, source control management etc.
  • Ability to work in a team or independently
  • Excellent analytical problem solving and critical thinking skills
  • Experienced in working with Git based version control systems.

Desirable:

  • Have a practical knowledge of functional safety standards such as ISO26262 and BS EN 61508 is a huge bonus
  • Experience in Over-the-air S/W update of images in flash
  • Experience of integrating C code with auto-generated code from a MATLAB/Simulink environment
  • Basic understanding of circuit diagrams
  • Experience in general electronic test tools (oscilloscope, soldering iron, function generator) to support software development and prototype testing activities
  • Good understanding of CI/CD pipelines and configuration tools e.g. Azure DevOps or similar

 

Values and Behaviours

 

You will be a key representative of McLaren Technology Group’s Values and Behaviours.

All employees must ensure compliance with the Company Health and Safety Policy, and all relevant other statutory Health and Safety legislation.

This job description may not detail all duties allocated to the post holder, nor cover duties of a similar nature which are commensurate with the role, which may from time to time be reasonably required by the relevant manager.

McLaren Applied are committed to Diversity, Equality and Inclusion (DEI) and promote DEI in all we do.