Job Title: Communications Software Engineer
Function: Engineering -Data Applications
Reporting to: Engineering Manager – Data Applications
Date of preparation: March 20201
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.
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
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!
To apply for this job please visit careers.mclaren.com.