Communications Software Engineer

Location: Woking, GB

Job Title:                             Communications Software Engineer

Function:                             Engineering -Data Applications

Reporting to:                      Engineering Manager – Data Applications 

Date of preparation:           March 20201

 

 

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.

We have a diverse range of skilled professionals across hardware, software, data science, systems engineering and other disciplines, working in product/solution-focussed teams. The teams comprise high-energy individuals who collaborate to solve difficult business problems using a data-led approach to provide scalable solutions for a wide range of markets

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

Purpose of the Role

You will become one of our key contributors who guide and foster innovation by developing leading edge products that span various market segments including transportation, automotive and motorsport.

As a Communications Software Engineer who is passionate about technology, you will use the most effective and applicable technologies to create scalable, high-performance wireless networking solutions for fleets of vehicles and other physical assets.

You will develop and maintain reusable software components for a combination of off-the-shelf and bespoke hardware ranging from cloud-based servers to resource-constrained embedded units all running customized Linux environments.

You will learn how to leverage existing open source software to extend our capabilities, integrating and tailoring software to suit customers’ needs, through clean and consistent coding.

Principal Accountabilities

  • Bachelor's degree in Computer Science, similar technical field of study, or equivalent practical experience
  • Experienced working in and developing for a Linux environment
  • Proficient at coding for Linux systems in C; familiar with the standard C and POSIX libraries including the socket API
  • Proficient with core tools; Bash, GCC, make and Git
  • Understanding of TCP/IP networking fundamentals – the different protocol layers and what they’re for, the basics of routing, flow control and congestion avoidance
  • Proficient in developing applications in Python
  • Interest and ability to learn other coding languages as needed
  • Experience and understanding of building products on cloud infrastructure such as AWS, Azure and GCP and micro services
  • Experience in containerization and container orchestration (preferably Docker and Kubernetes) and related managed services (e.g. EKS).
  • Experience with SQL and NoSQL
  • Familiarity with designing, developing and creating RESTful web services and APIs 
  • Familiarity with CICD pipelines and test automation
  • Good understanding of agile or lean development practices
  • Ability to write and speak in English fluently

Knowledge, Skills, Qualifications and Experience

  • Experience with Time Series databases 
  • Familiarity with message brokers such as Kafka and/or MQTT
  • Experience in database/application scaling, optimisation and monitoring
  • Linux device driver or other kernel development experience, in particular working with the network stack
  • Experience with front-end technology (e.g. Angular, React, Django)
  • Layer 1 and 2 networking knowledge: Ethernet, wireless protocols
  • Practical experience developing wireless devices: wireless network behaviour, basic protocol knowledge, measurement and testing of device performance
  • Experience writing Infrastructure as code (preferably Terraform and Terragrunt)

 

Values and Behaviours

You will be a key representative of McLaren Technology Group’s Values and Behaviours, the framework of which can be found here.

 

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.

 

We believe in diversity and equal opportunities. Our people are our core strength and as such we create an environment that is all encompassing and inclusive. 

Be proud. Be yourself!