Embedded Software Engineer
Figure
·
Posted:
March 7, 2023
·
Onsite
About the position
We are seeking an Embedded Software Engineer to design, implement, and test key aspects of our Humanoid software. The ideal candidate will have 5+ years of software engineering experience and a Bachelor's or Master's degree in Computer Science or related field. Mastery of C++, Python, and Linux is required, as well as experience implementing real-time software and knowledge of computer architecture. Bonus qualifications include experience with the Bazel build system, Docker containers, implementing CI/CD infrastructures, and familiarity with Agile and Test driven development.
Responsibilities
- Architect, design, implement and test embedded software in C++ running on the Humanoid compute platform
- Develop Python tools to support data management, test automation or robot calibration
- Continuously improve our development environment
- Contribute to the development of our Continuous Integration and Continuous Deployment (CI/CD) infrastructure
- Support hardware/software integration in the lab
Requirements
- 5+ years of software engineering experience
- Bachelor's or Master's degree in Computer Science or related field
- Mastery of C++, Python and Linux
- Experience implementing real-time software
- Good knowledge of computer architecture
- Deep understanding of communication buses and protocols like Ethernet, Ethercat, Serial, CAN or USB
- Comfortable using lab instruments (Oscilloscopes, logic analyzers…) and debugging tools (Lauterbach…)
- Experience with the Bazel build system (Bonus Qualification)
- Experience with Docker containers (Bonus Qualification)
- Experience implementing CI/CD infrastructures (Bonus Qualification)
- Familiar with Agile and Test driven development (Bonus Qualification)