Senior Software Engineer

IntuitiveBlacksburg, VA
3d

About The Position

Primary Function of Position The successful candidate will design, implement, debug and verify embedded and PC software for new robotic surgical platforms.  The engineer must excel in a high-energy, focused, small-team environment, be able to drive to solutions from rough requirements, and have a commitment to high product quality.

Requirements

  • Hands-on engineering experience with proven ability to work well in a team environment
  • Strong ability to isolate and debug hardware and software problems
  • Experience in low level driver development in embedded platforms
  • Experience with bare metal, real-time operating systems, and multithreaded programming
  • A passion for creating robust and reliable products
  • Excellent written and oral communications skills
  • Experience in C/C++ programming
  • Experience with Matlab, Python, or other scripting languages
  • Experience developing on the Linux operating system
  • Experience with revision control systems such as SVN and Git
  • Minimum BS degree in Electrical, Mechanical, Computer Science, Mechatronics, or Computer Engineering, or similar field relating to robotics or electro-mechanical systems
  • Minimum 8 years of development experience in software engineering, test engineering, diagnostics software, or embedded software development

Nice To Haves

  • Experience with NI LabView
  • Experience with Yocto or other custom Linux kernel build systems
  • Experience with Bazel / nix build infrastructure
  • Experience with CUDA GPU programming

Responsibilities

  • Develop embedded software primarily in C/C++
  • Contribute to the development of software risks, hazards, mitigations, requirements, specifications, designs, reliability, modularity, extensibility, and verification & validation
  • Support field service and manufacturing organizations
  • Develop supporting PC applications for an embedded system
  • Contribute to multiple areas of software development, including but not limited to the following:
  • Sensor and/or control signal processing
  • Inter-processor communication subsystem development
  • Embedded Linux setup and configuration
  • Support root cause analysis and issue resolution for released products and products in production
  • System diagnostic and service application development on Windows PCs
  • Development of research prototypes used to evaluate new product concepts
  • Perform formal risk analysis and develop and verify software mitigations
  • Document according to Intuitive's development guidelines
  • Be a resource for all other software engineers on the team; teach and guide engineers through their work
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service