Requirements
• Demonstrated track record of success in a science or engineering field, evidenced by outstanding projects, innovations, or advanced problem-solving,
• Proven experience in software development, preferably with exposure to embedded systems,
• (Desirable) 2+ years of experience with embedded systems,
• (Desirable) Proficient with common communication protocols (SPI, UART, I2C, etc.),
• (Desirable) Comfortable/working knowledge of more advanced protocols such as PCIe, MIPI CSI/DSI, USB, and 802.3,
• (Desirable) Proficient in at least one embedded language such as C, C++, or Rust,
• (Desirable) Proficient with embedded toolchains and workflow,
• (Desirable) Experience with embedded stacks for ARM cores,
• (Desirable) Experience developing on embedded Linux platforms,
• (Desirable) Experience with embedded Linux kernel configuration and device tree setup,
• (Desirable) Experience with kernel driver development,
• (Desirable) Experience with ARM bootloaders,
• (Desirable) Experience coding drivers for actuators and sensors,
• (Desirable) Experience with high-speed data acquisition and processing,
• (Desirable) Foundational understanding of MCU architectures and peripheral integration,
• (Desirable) Solid knowledge in electrical engineering and DSP,
• (Desirable) Ability to interpret electrical schematics and datasheets, along with proficiency in using lab equipment
What the job involves
• Our team — a cross-functional mix of roboticists, engineers from various disciplines, and medical professionals — collaborates on developing a surgical flow from first principles,
• In this critical role, you'll straddle the cutting-edge worlds of robotics, software, and neuroscience,
• This is a new role for our team that will allow you to create new embedded systems from scratch while challenging and refining the old,
• Developing and optimizing embedded software for robotic surgery applications,
• Streamlining our codebase by refining and, when necessary, retiring legacy embedded software,
• Rigorous testing and validation of software systems to meet the highest safety and reliability standards,
• Participating in peer code reviews,
• Writing drivers and applications to extend the functionality of our robotics,
• Specifying hardware and software choices as we develop future hardware platforms,
• Sharing your findings and progress with the team in a collaborative environment