Software Engineering Consultant
- $100.00
- Santa Clara United States
Software Engineer (Robotics / Embedded Systems)
Overview
An innovative medical device company is developing a next-generation robotic platform designed to support complex minimally invasive procedures. We are seeking a Software Engineer to design and build the software systems that power this advanced electromechanical platform.
This role focuses on developing software for a real-time robotic system, building robust services, solving complex technical problems, and delivering reliable functionality that supports clinical workflows. The position requires strong software engineering fundamentals and a deep understanding of operating systems, concurrency, and system performance.
What You’ll Do
-
Design and develop software components for a multi-process robotic system, including control software, system services, and application-level functionality
-
Architect and implement services responsible for system state management and inter-process coordination
-
Write high-quality code in Python, C++, or Rust depending on system requirements
-
Profile, debug, and optimize software to meet real-time performance and reliability constraints
-
Implement security and system hardening measures appropriate for a regulated device platform
-
Collaborate with controls engineers, UI developers, and systems engineers to deliver integrated functionality
-
Contribute to software architecture decisions and technical direction within your areas of ownership
-
Participate in design reviews and technical discussions across engineering teams
-
Produce clear documentation and support verification and validation activities
Skills
-
Strong software engineering fundamentals, including clean architecture, testing practices, and maintainable code
-
Proficiency in Python and C++; Rust experience is a plus
-
Deep understanding of operating system concepts, including processes, threads, scheduling, memory management, and inter-process communication
-
Strong Linux development experience and familiarity with system-level debugging
-
Experience building complex multi-component software systems
-
Excellent debugging and troubleshooting skills across system layers
-
Solid understanding of concurrency, synchronization, and real-time system challenges
-
Strong communication skills and ability to discuss technical tradeoffs and architecture decisions
Preferred Experience
-
Broad exposure to multiple software languages, frameworks, and architectures
-
Experience working with robotics software platforms or robotic systems
-
Background in medical devices or other safety-critical systems
-
Experience with real-time or performance-critical applications
-
Familiarity with software security practices and system hardening
-
Experience with distributed systems or service-oriented architectures
-
Exposure to controls, motion planning, or mechatronics environments
Requirements
Experience & Background
-
BS or MS in Computer Science, Computer Engineering, Robotics, or related field
-
5+ years of professional software engineering experience
-
Experience designing and delivering complex software systems
-
Experience working on software that interacts closely with hardware, embedded systems, or operating systems
-
Comfortable working in environments where engineers own problems end-to-end
Work Environment
-
Ability to work onsite several days per week at the company’s engineering facility in Northern California