Senior Embedded Software Engineer

IntuitiveSunnyvale, CA
8hOnsite

About The Position

Primary Function of Position The Ion™ endoluminal system is Intuitive's new robotic platform designed for minimally invasive biopsy in the peripheral lung, with the goal of improving early lung cancer diagnosis. This position is integral to the development of a novel surgical robot system. The engineer will collaborate with a skilled team to design and build the embedded software platform. The successful candidate should thrive in a collaborative team environment, be adept at developing solutions from initial requirements, and be committed to delivering high-quality products. A strong sense of shared responsibility and teamwork is essential

Requirements

  • Strong proficiency in modern C/C++ (C++11 and newer) for embedded and cross-platform development.
  • Experience developing and debugging embedded Linux systems, including multi-threaded applications.
  • Proficiency with Python 3 and Bash for tooling, automation, and diagnostics.
  • Familiarity with communication protocols such as TCP/IP, CAN, I2C, SPI, and serialization protocols (e.g., protobuf).
  • Understanding of software architecture and design patterns, messaging systems, and RPC frameworks.
  • Strong system-level debugging skills spanning hardware, OS, and distributed software.
  • Experience working collaboratively on complex, product-focused designs.
  • Familiarity with CI/CD, build automation, and unit/integration testing.
  • Comfortable working in both Linux and Windows development environments.
  • Excellent written and verbal communication skills.
  • Demonstrated commitment to delivering high-quality, reliable products that improve patient outcomes.
  • Bachelor’s degree with 6+ years of industry experience, or Master’s degree with 4+ years of industry experience, in Computer Science, Computer Engineering, or a related engineering discipline.
  • 4+ years of hands-on experience developing and supporting embedded systems in a production environment.

Nice To Haves

  • Experience with Nix, Bazel, or other reproducible build systems.
  • Experience designing systems with real-time or near–real-time constraints.
  • Knowledge of cybersecurity concepts such as secure boot, authentication, encryption, and key management.
  • Experience across the full product development lifecycle, including design, implementation, debugging, verification, validation, and manufacturing transfer.
  • Experience developing software for FDA-regulated, safety-critical, or mission-critical systems, including design controls, traceability, risk analysis, and mitigation.
  • Hands-on experience with networking and streaming technologies such as UDP, RTP, SRTP, SSL/TLS, and GStreamer.
  • Yocto / OpenEmbedded (or equivalent embedded Linux build systems).

Responsibilities

  • Platform Software Development Collaborate with cross-functional teams (EE, FPGA, manufacturing, service and clinical) to define technical requirements, evaluate design trade-offs, and deliver robust platform and infrastructure software.
  • Design, implement, and maintain embedded Linux software across the full lifecycle, including: System initialization, configuration, and diagnostics Middleware for distributed system communication Multi-threaded, distributed C/C++ applications Third-party networked device integration and API design Extend and evolve existing software frameworks to support new processors, operating systems, and hardware platforms. Develop research prototypes and proof-of-concept systems for new product capabilities and future platform directions.
  • Hardware Integration & Debugging Collaborate closely with electrical engineers during early hardware bring-up, including bootloader, kernel, device tree, and driver-level integration. Debug complex system issues spanning hardware, OS, middleware, and application layers using tools such as gdb, JTAG, logic analyzers, and oscilloscopes. Interpret schematics, datasheets, and hardware specifications to inform software design and debugging.
  • Reliability & Performance Design software with robustness, fault detection, graceful degradation, and serviceability in mind. Analyze and resolve performance, latency, and resource-usage issues (CPU, memory, I/O, networking). Investigate and perform root-cause analysis for system-level failures encountered during development, manufacturing, clinical use, or field deployment. Participate in design verification and validation activities and support transfer to manufacturing.
  • Collaboration & Technical Leadership Participate in architectural discussions and design reviews, bringing a system-level perspective. Mentor junior engineers and lead by example in code quality, debugging discipline, and design practices. Support clinical studies, product demonstrations, and cross-functional reviews as needed.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service