Our Mission
Our mission is to solve the most important and fundamental challenges in AI and Robotics to enable future generations of intelligent machines that will help us all live better lives.
Embedded Robotics Software Engineers will work cross-functionally with a talented team of engineers and researchers to develop cutting-edge robotic systems. Your work will directly contribute to advancing the state of the art. We are onsite in our new Zurich office where we are building a collaborative and exciting new organization.
What You'll Do
ResponsibilitiesWork collaboratively with research, and hardware teams to design, develop, test and maintain software for embedded systems on a variety of robot applicationsDevelop high performance algorithms and improve systems Develop and maintain low-level software and firmware for custom and 3rd party robotsPromote quality and reliability through regular code reviewsWork closely with electrical engineers to develop custom hardware for robotic systems.
,
What You'll Need
8+ years experience delivering robust code BS or MS in computer science, robotics, physics, electrical/mechanical/aerospace engineering, or a related field Experience with C++17 or laterExperience with CExperience with git, issue tracking, CI/CD, and modern software engineering practicesExperience working with Linux-based platforms and development environmentsStrong troubleshooting skillsExperience implementing and troubleshooting an RTOS with hard real-time requirements on embedded microcontrollers Experience implementing and troubleshooting common communication protocols (CAN, I2C, SPI, RS-485, EtherCAT, etc.) Knowledge of synchronization and resource sharing for memory-constrained systems Comfortable using common electrical engineering tools (schematics, logic analyzer, oscilloscope, etc.) to evaluate and rework hardware systems
,
Bonus
Experience working with robots, control, kinematics, machine learning, physics simulators, or similar applications Experience with data processing, logging, and visualization tools Experience with ROS, gRPC, LCM, or other inter-process communication middleware technologies Experience operating as a technical lead and providing mentorship to less experienced developersExperience with robot sensors (IMU, Cameras, etc.)Experience with FPGA and/or FPGA/ARM SOC (i.e. Zynq) programmingExperience with gcc, cmake, clangExperience with bootloadersExperience with Pythonexperience developing test and validation plans for system integrationexperience performing complex system failure analysis in cross functional teamsexperience developing Linux kernel modules
These attributes are great to have but not required for our candidates. Candidates who lack these should not be discouraged from applying.
We provide equal employment opportunities to all employees and applicants for employment and prohibit discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.