jobapplier

Senior Software Engineer (Middleware Productivity)

Figure

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