Senior Embedded Software Engineer
Role details
Job location
Tech stack
Job description
The Axon SkyHero Firmware team specifically owns the "Lower Middleware" layers on a very powerful Embedded Linux System-on-Chip and the Flight Controller. "Lower Middleware" in this sense consists of high performance, low latency, user-space daemons on a robotics-optimized system bus. All firmware aspects related to "Flying" are handled by this team, and this team collaborates very closely with an adjacent team of Controls and Vision Engineers. This team also collaborates very closely with Platform Board Support Package (BSP), Camera Imaging, and "Upper Middleware" teams, and hardware engineering. Rust is the preferred language, but C/C++ is also used. Python is used for scripting and testing.
As a strong, senior engineer - either level 1 or level 2 senior engineer - on the SkyHero Firmware team, you'll be responsible for developing and architecting a diverse set of robotics-based features related to "Flying" and actively helping Controls Engineers "Tune" the Drone. You'll promote best practices for software testing. You'll be collaborating on a series of very deep algorithms that provides "Advanced Flying and Maneuvering" capabilities, among other innovations that fuse a large number of sensors, actuators and/or motors. You will be authoring design documents, mentoring less-senior engineers, and doing your part to instill a culture of engineering excellence.
Working on these next-generation robotics products Axon is building is not only a career-defining accomplishment, but also a real opportunity to help advance the mission to Protect Life., This role is based out of our Brussel office and follows a hybrid schedule. We rely on in-person collaboration and ask that team members work onsite with some flexibility, unless there is an approved workplace accommodation. We believe that connection fuels innovation, and our in-office culture is designed to foster meaningful teamwork, mentorship, and shared success.
Reports to: Robotics Firmware Engineering Manager
- Be part of a high-performing team that designs and develops game-changing Robotics products to Protect Life
- Architect, design and develop software and algorithms for Drones, Rovers and other Robots
- Develop in C/C++, Rust in resource-constrained Embedded Systems and use a scripting language like Python to prototype
- Integrate Sensors and Actuator, complex logic and autonomous behavior
- Design and develop new use-cases on Robots, translating requirements into features and tests
- Implement Robotics use-cases in ROS2 and custom Robotics Frameworks
- Ensure High Quality during the entire product lifecycle, designing and implement Unit Tests, Integration Tests and CI pipelines
- Be hands-on with prototyping, development, and debugging in all stages of the product lifecycle
- Collaborate with distributed Hardware, Software, Firmware, Control Systems, Manufacturing and Compliance teams
- Be a Team Player, Mentor, Strong Communicator and be ready and willing to support the Team when needed, The above job description is not intended as, nor should it be construed as, exhaustive of all duties, responsibilities, skills, efforts, or working conditions associated with this job. The job description may change or be supplemented at any time in accordance with business needs and conditions.
Some roles may also require legal eligibility to work in a firearms environment.
We collect personal information from applicants to evaluate candidates for employment. You may request access, deletion, or exercise other CCPA rights at axongreenhousesupport@axon.com or via our Axon Privacy Web Form. For more information, please see the Your California Privacy Rights section of our Applicant and Candidate Privacy Notice.
Axon's mission is to Protect Life and is committed to the well-being and safety of its employees as well as Axon's impact on the environment. All Axon employees must be aware of and committed to the appropriate environmental, health, and safety regulations, policies, and procedures. Axon employees are empowered to report safety concerns as they arise and activities potentially impacting the environment.
Requirements
Do you have experience in SoC?, Do you have a Master's degree?, While all candidates will be considered, those candidates who have active Robotics experience on mobile phone-like System-on-Chips (SoC) using embedded Linux experience will have prioritization over those with Microcontroller experience only. We also prioritize candidates who demonstrates having shipped a product from start to finish; and, sticking with the product post-release so as to have learned from its in-market performance.
- Bachelor's or Master's Degree in Computer Science, Computer Engineering, Electronics Engineering, Robotics or equivalent
- Minimum 7+ years of industry experience building commercial products
- Minimum 7+ years experience with C/C++, Python and/or other systems programming languages such as Rust
- Demonstrated track record of bringing commercial devices to the market
- Experience with performant inter-process communication
- Strong experience with Userspace Linux Kernel development and performance optimization
- Strong understanding of Systems Architecture, with the ability to implement complex, multi-device, interrelated systems
- Strong understanding of Operating Systems, Concurrency and Networking concepts
- Strong understanding of CI/CD pipelines and QA processes
- Solid Software Engineering background (algorithms, data structures)
- Experience with Sensor peripherals (accelerometers, time-of-flight, magnetometer, etc.) and Cameras
- Familiarity with cryptographic primitives and mechanisms (AES, Root of Trust, Secure Boot)
Any experience with the following is a plus:
- Experience with Robotics simulation tools such as Gazebo
- Experience with Computer Vision techniques (SLAM/VIO), Control systems, Trajectory Optimization Problems, etc.
- Experience with MAVLink, PX4 or similar Flight Controllers
- Experience with ROS2 System Bus
- Experience with one or more of the following: ZeroMQ, Zenoh, iceoryx
- Experience with the Yocto build system
- Experience with Bare-Metal Firmware Development on MCUs
- Experience with Linux Kernel and Driver development