Principal Platform Software Engineer
All3
London, UK
3 months ago
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Job source
Tech stack
Application Programming Interfaces (APIs)
Systems Engineering
Nvidia CUDA
Software Debugging
Device Drivers
Linux on Embedded Systems
Middleware
General-Purpose Computing on Graphics Processing Units
Python (Programming Language)
Software Architecture
Robotic Automation Software
Software Construction
+8 more
Software Engineering
System Software
Systems Integration
Data Logging
State Machines
Marshalling
Api Design
C++14
Job description
- Defining software architecture for robotic mobility, manipulation, autonomy, and platform tooling;
- Developing and maintaining production-grade software in Modern C++ and Python for embedded Linux environments;
- Designing APIs, abstractions, and reusable libraries that support reliable and scalable robotic systems;
- Building software for task and behaviour orchestration, including state machines, behaviour trees, mission planning, and fault handling;
- Developing tooling for visualisation, logging, telemetry, performance analysis, and debugging;
- Supporting distributed communication systems, message-passing middleware, and data marshalling pipelines;
- Integrating device drivers and middleware across heterogeneous compute architectures;
- Setting technical standards, reviewing designs, and making pragmatic trade-offs to meet business goals;
- Leading technical discussions across robotics, hardware, controls, and product teams;
- Applying systems engineering principles to requirements analysis, architecture design, verification, and validation.
Requirements
- Expert-level experience in production-grade software development with Modern C++ and Python;
- Strong experience working in embedded Linux environments;
- Deep understanding of API design, software abstractions, and library development;
- Experience designing reliable and scalable software for industrial operating environments;
- Advanced experience in robotic software development, ideally in legged robotics;
- Knowledge of locomotion, whole-body control, or state estimation systems;
- Experience with distributed heterogeneous compute architectures, including GPGPU and CUDA;
- Strong understanding of pub/sub communication systems, telemetry, logging, and visualisation pipelines;
- Experience with task orchestration, behaviour trees, state machines, mission planning, or fault handling;
- Strong systems engineering knowledge, including requirements analysis, architecture design, verification, and validation;
- First-principles approach to problem-solving;
- Strong communication and technical leadership skills, with the ability to work across functional boundaries.
Benefits & conditions
- Chance to be a part of a large-scale project;
- Team driven by impactful cause;
- Hybrid format of work with the lab located in Park Royal;
- Private dental or full medical (dental treatments aren’t covered) insurance;
- Flexible working schedule;
- 28 days of annual leave.
About the company
All3 is transforming how buildings are conceived, developed, and delivered. We combine AI-powered design with robotic prefabrication and on-site assembly to build custom architecture at the cost and speed of mass production - unlocking even the most complex sites.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Apply on find.jobsGood distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
DC
Daniel Cranney
over 1 year ago
DA
Dr. Andy R. Terrel - NVIDIA
What’s the latest in NVIDIA CUDA Python
over 1 year ago
EM
Eli McGarvie
The Best X (Twitter) Accounts for Developers
almost 3 years ago
LM
Luis Minvielle
Where To Find Software Engineering Jobs
over 2 years ago
EM
Eli McGarvie
Highest Paying Tech Companies for Developers
over 3 years ago
LM
Luis Minvielle
Why Upskilling And Reskilling is Important For Developers
over 2 years ago