Senior Software Engineer (Middleware Productivity)
Figure
- San Jose, United States
- Senior Level
- 5+ years
- Bachelor's degree
- Posted
Skills
Required
- C++
- Python
- Linux
- networking protocols
- Linux userspace
- kernel environments
- computer architecture
- create testable software systems
Preferred
- microcontrollers
- communication buses and protocols
- Ethercat / Serial / CAN / USB
- debuggers
- Continuous Integration CI
- performance profiling tooling
Join our team as a Software Engineer (Middleware Developer Productivity) and help us build the core software platform for our robot. You will architect, design, implement, and test C++ middleware that provides system-wide functionality. You will also develop Python tooling and interfaces, ensure software stability and scalability, and work with debuggers and performance profiling tools. Candidates should have at least 5 years of experience in production C++, proficiency in networking protocols, and a strong understanding of Linux environments.
Architect, design, implement and test C++ middleware that will run on our robot and provide system wide functionality to specialized controls and autonomy software.
Responsibilities
- Develop Python tooling and interfaces to enhance the functionality and usability of the software platform.
- Ensure that the software ecosystem is stable, scalable and well tested in Continuous Integration (CI) environments.
- Comfortable using debuggers and performance profiling tooling
Requirements
- Understanding of Linux userspace and kernel environments
- Mastery of C++, Python and Linux
- Good knowledge of computer architecture
- At least 5 years of experience writing production C++
- Proficiency with networking protocols
- Understanding of how to create testable software systems
- Bachelor or Master degree in Computer Science or related field
- Experience working on systems with timing constraints
Preferred
- Experience working in resource constrained environments like microcontrollers
- Knowledge of communication buses and protocols like Ethercat, Serial, CAN or USB
Pay
USD 180,000 - 250,000
jobapplier