As a Sr. Embedded Software Engineer, you will play a key role in designing and building on top of the electronics platform that supports our autonomous robotics system. You will work with our hardware, software, and electronics teams to design, implement, and test the software that runs on our microcontrollers to provide the features, performance, and safety the platform requires.
You’ll have the opportunity to work in a variety of areas, such as:
• Designing and developing the firmware that runs on our microcontrollers
• Develop Embedded Linux Applications for communication with microcontrollers
• Selecting and implementing appropriate protocols for communication between different hardware and software components
• Supporting existing projects with bug fixes and maintenance changes as required
• Building appropriate testing frameworks for validation of implementation
• Designing appropriate systems for safe and reliable over-the-air delivery of updates
Requirements
You will need:
• 5+ years of experience shipping software for Embedded Systems
• Experience with functional safety systems
• Extensive experience working with “bare-metal” software designs
• Extensive experience working with real-time OS and multitasking applications
• Experience developing Embedded Software in a Linux based development Environment
• Excellent knowledge of the Linux platform generally
• Excellent knowledge of C, data structures and design patterns
• Extensive experience working with 32 bit microcontrollers
• Excellent Hardware debugging skills and using standard lab equipment
• Experience with Embedded Systems Security
• Experience working with deployed hardware systems, remote device management and over-the-air update systems
• Ability to understand and follow schematics and circuit diagrams
• Creativity in finding solutions, good understanding of technology and a desire to learn new things
• Demonstrated experience in taking ownership of your work
• Excellent ability to work independently with minimal supervision and conveying complex technical requirements into a product quickly
It would also be helpful to have:
• Previous experience with developing software for industrial and robotic systems
• Exposure to high volume Electronics manufacturing practices
• Knowledge of other development tools, languages and frameworks such as Python or Go
• Experience working with various communication busses and protocols (CAN, RS485, Modbus, Ethernet)
• Experience with Distributed Systems and asynchronous messaging services
Company Benefits
• Share options
• 25 days holiday (+ 8 bank holidays)
• Life insurance 3x your salary
• Sickness insurance
• GP helpline
• 24/7 Dentist app
• Employee Assistance Programme
• L&D budget
• Will writing
• Cycle to work scheme
• Discounts & savings
Interview Process
• Initial call with Steph
• Video call with Head of Embedded Systems
• Onsite visit with a practical test
• Video call with Head of People