Embedded Software Test Engineer

Apply now »

Date: 15-Jul-2017

Location: Woking, GB

Who We Are:

McLaren Applied Technologies is a high-performance technology company which combines fresh thinking and innovation to solve crucial challenges and improve people's lives in industries as diverse as health, public transport, automotive and motorsport.

The Team:

The Control Systems Team, based within the Electronic Systems Department, is responsible for embedded software and firmware that customers use to interface to electronic systems used in motorsport. The team has a long history of delivering products to customers in the top-tier of this sector including Formula 1, WEC, NASCAR, and IndyCar. The team has also expanded into new markets including wearable technology and industrial production lines. 

The key strength of the team is its ability to work to rapidly to research and understand new technologies and how they apply to the market. We then empower customers to make best use of these technologies in novel applications by sharing our understanding. We use a range of tools including large micro-processor systems, microcontrollers and FPGA.

The Role:

As an engineer responsible for test within the Control Systems team you will work closely with existing team members to understand the need for test and where it can deliver most value to the customer. Once you have built and understanding of the existing products and processes you will be responsible for establishing the methodology and developing a testing framework that can be used across a range of products the team develops. You will work with the business’s Software Test Manager to formally communicate the team’s product quality.  With a deep understanding of how the role relates to the quality of the products you will be expected to be a role model for other team members and ensuring that they follow best practices.

The products you will be working with are on-car electronic control units used in the motorsport product domain for Formula 1 and other top-flite racing series. You will be exposed to predominantly C software running on a variety of platforms from small bare-metal devices through to the large systems using RTOS and Embedded Linux. Given the variety of development at McLaren you will be working with engineering teams that cover the full product life-cycle. It is expected that you will have a strong understanding of software unit-test to support initial development, and black-box system test methodologies to support delivery of systems to customers.

Principle Accountabilities:

  • Designing, building and maintaining manual and automated test cases and environments
  • Communicating metrics and statistics for embedded software projects to stakeholders
  • Implementing and mentoring colleagues in functional and non-functional embedded test approaches and technologies
  • Planning and executing testing of embedded software across different types of projects Supports and drives continuous improvement both independently and with support of the Department Manager.
  • Ability to analyse and provide feedback to cross-functional teams to improve the quality of the product.
  • Develops solutions and plans the execution path.
  • Solves complex problems, takes a new perspective using existing solutions. 
  • Improves and delivers solution components for pre-production and production deployment taking account of the commercial implications.
  • Develops solutions and optimises engineering processes.
  • Identifies the best solution within constraints.
  • Accounts for use of time, resources and techniques to deliver solutions efficiently.
  • Develops reusable solutions that can be quickly adapted into new applications/products.
  • Monitors progress and identifies risk abatement strategies.
  • Assesses solutions/systems and produces reports on failure modes.
  • Produces clear and concise project reports and presentations and externally represents the company in a technical capacity. Actively researches and communicates emerging industry trends.  Acts as a resource for less experienced colleagues.

Requirements:

  • First class degree or upper 2nd in Engineering, Electronics, Mathematics, Physics, Operational Research, Computer Science, or other highly quantitative field (or equivalent experience).
  • Strong analytical and numerical skills.
  • Product or industrial design creative ability.
  • Strong background in embedded software testing

Skills and Experience:

Minimum:

  • Setting up and extending automated test suites and servers; Server Administration, Linux and Windows agents, Team City, Jenkins
  • Programming and scripting languages, for example C, C++, VHDL, Perl, ANT, Python, Bash, etc.
  • Development on embedded systems using PowerPC, ARM, RTOS, Embedded Linux, GHS INTEGRITY, MQX, FreeRTOS etc
  • Thorough knowledge of structured test methods and processes
  • Ability to analyse and decompose an intricate embedded software system; from hardware schematic to software design
  • Experience in defining and designing testing methodologies embedded software systems
  • Ability to understand product targeted features & use cases, develop test cases that factor parameters important for typical and corner use cases
  • Understanding and definition of logging tools, collect logs, analyse data, and debug
  • Develop test suites, frameworks, and tools to validate features, conformance, and application specific use cases
  • Version Control: Mercurial, GIT
  • Application development in desktop environment Windows, Linux
  • Electronic hardware design, reading schematics, device datasheets
  • Microsoft Suite of productivity tools

Desirable:

  • Experience in hands-on development and troubleshooting on embedded targets and board bring-up testing.
  • Proven experience in embedded systems design with pre-emptive, multitasking real-time operating systems and its performance diagnostics and system bus clocking.
  • High competency in written and oral English language.
  • Experience conforming to OO and SOLID software engineering principles.
  • C/C++ Embedded development and design practices e.g. design patterns
  • Green Hills Software INTEGRITY RTOS and development tools
  • Communication interfaces; SPI, I2C, UART, CAN, TCP/IP Ethernet, USB
  • Development tools, Eclipse IDE, gdb, gcov
  • Issue Tracking and Configuration Management Practices, JIRA, Atlassian Tools
  • Analytical Software, for example MATLAB, Simulink;
  • Embedded project experience, i.e. Embedded Development Kit, BeagleBone Raspberry Pi, Arduino

Personal Attributes:

  • We’re looking for someone who shares our love for software development and delivering quality products.
  • Passion for quality, can-do attitude, and an advocate for the user.
  • Willingness to learn quickly. You’re not going to know everything about the company straight away, but we need you to proactively seek learning opportunities.
  • Likes to have fun. Yes, we work hard, but working at McLaren is like no other job in the world, so we want you to enjoy your time here.
  • Has a geeky project they work on in the spare time at home, we’d love to hear about it.

The Work Environment:

This role will work with all groups in the Control Systems team both at the McLaren Technology Centre and One Forge End in Woking Town Centre. 

Our environment is designed to encourage collaborative working across all teams. You will be within one hundred metres of a specialist within their field, whether it’s in design, modelling and simulation, software development, data analytics, electronics hardware, finance and marketing.

McLaren's Product Innovation Framework:

Take the unique opportunity to bring your own ideas to life, whether it’s a software package or a tangible product. If the application for your idea is successful, it will be backed by a significant pledge from the business to fund time and materials costs. Our ambition is that we continue to foster the spirit of innovation and entrepreneurship within Applied Technologies.

Recruitment Process:

  • If your application is successful, you’ll be invited for a phone interview with one of our experienced technical recruiters.
  • If our recruiter believes you’re suitable for the role, you will then be invited for a phone interview with senior members from the engineering team which will last approximately 30 minutes.
  • The final stage includes a face to face interview at the McLaren Technology Centre in Woking, Surrey. This is usually with the Control Systems Manager, and a Senior Engineer or a Team Leader. The interview will involve a series of skills based technical questions and problem solving or design challenges.

 

 

 

 

 

 

Apply now »
Find similar jobs: