Jobs and Careers
IN

Senior Embedded Software Engineer

Intuitive
United Statesfull_timeVerifiedPosted 17 Jan 2024

About the role

Company Description

At Intuitive, we are united behind our mission: we believe that minimally invasive care is life-enhancing care. Through ingenuity and intelligent technology, we expand the potential of physicians to heal without constraints.

As a pioneer and market leader in robotic-assisted surgery, we strive to foster an inclusive and diverse team, committed to making a difference. For more than 25 years, we have worked with hospitals and care teams around the world to help solve some of healthcare's hardest challenges and advance what is possible.

Intuitive has been built by the efforts of great people from diverse backgrounds. We believe great ideas can come from anywhere. We strive to foster an inclusive culture built around diversity of thought and mutual respect. We lead with inclusion and empower our team members to do their best work as their most authentic selves.

Passionate people who want to make a difference drive our culture. Our team members are grounded in integrity, have a strong capacity to learn, the energy to get things done, and bring diverse, real world experiences to help us think in new ways. We actively invest in our team members to support their long-term growth so they can continue to advance our mission and achieve their highest potential.

Join a team committed to taking big leaps forward for a global community of healthcare professionals and their patients. Together, let's advance the world of minimally invasive care.

Job Description

Primary Function of Position

As a Senior Software Engineer reporting to Software Engineering Manager, you will be a critical member of the Advanced Development group, focusing on the design and development of cutting-edge embedded architectures for future surgical devices. This role involves working on complex, multi-processor SoC/FPGA/real-time embedded environments, emphasizing the integration of a real-time hypervisor, redesigning and updating FPGA peripheral drivers, and advancing our real-time servo control infrastructure. To be successful, you must possess a strong sense of shared responsibility and shared reward – there are no passengers on this ship, only crew.

The successful candidate should excel in fast-paced, small-team environments, adeptly convert rough requirements into tangible solutions, and demonstrate a strong commitment to product quality. Key skills include rapid learning, thorough understanding of project requirements, and efficient prototype development. A team-oriented mindset and a desire to foster a collaborative and fun work culture are important. You will be supported by a knowledgeable and caring management team dedicated to your career development and success.

Roles and Responsibilities:

  • Lead the integration and performant configuration of a real-time hypervisor, ensuring seamless operation in a heterogeneous embedded environment.
  • Integrate, configure and debug QNX Neutrino OS and BSPs with various hardware targets.
  • HAL driver design & updates (e.g. QNX/Linux interfaces, FPGA peripherals, PCIe devices). Participate in FPGA communications board bring-up and debug.
  • Design and implement an instrumented robotic manipulator velocity controller that interfaces with a physics simulator (FMU model), accurately simulating system load for specific tasks.
  • Distill and translate vague objectives into concrete software requirements and drive these solutions to completion.
  • Create and maintain detailed technical documentation, including software module design and system architecture.

Qualifications

Required Skills and Experience

  • Minimum 8 years of experience in embedded systems design and development, particularly in a Linux/QNX environment.
  • Proven ability to clearly and coherently articulate complex technical concepts to a diverse range of stakeholders.
  • Advanced proficiency in modern C++ programming, with a focus on embedded systems and real-time applications.
  • Demonstrated experience working with and troubleshooting Xilinx FPGAs, GPUs or other hardware accelerators for high-performance data movement.
  • Expertise in network stacks, QNX/Linux kernel modules, and embedded communications protocols.
  • Strong expertise in PCIe concepts and DMA implementation.
  • Experience using Python to solve diverse engineering problems.
  • Strong background in distributed inter-processor communication and extending frameworks to new processors/operating systems.
  • Strong ability to isolate and root-cause interdependent hardware/software problems.
  • Passion for delivering high-quality, innovative products that will improve millions of people’s lives!

Required Education and Training

  • Minimum Bachelor's or Master's degree in Electrical/Computer Engineering, Comp

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Intuitive

View company profile →