Senior Embedded Software Engineer

Company:  Mumba Technologies, Inc.
Location: Sunnyvale
Closing Date: 04/11/2024
Hours: Full Time
Type: Permanent
Job Requirements / Description

Primary Function of Position

As a Senior Software Engineer, you will work on the design and development of system software and digital applications for the latest hardware targeting end-users involved in surgical robotic procedures. The successful candidate must excel in an agile, focused, small-team environment and commit to high-quality research prototypes and supporting infrastructure. A strong sense of shared responsibility and shared reward is required.


Essential Job Duties

  • This position is responsible for all aspects of system software development, associated tooling, and infrastructure to explore and build a novel telesurgery system.
  • Design, build, debug, and deploy real-time applications using C, C++, C#, Matlab, and Python on platforms like Linux, Windows, and real-time operating systems.
  • Characterize and integrate a high-bandwidth, ultra-low-latency communication interface to develop a real-time tele-op system.
  • Develop a modular, robust, fail-safe, ultra-low latency embedded streaming application.
  • Build compelling prototypes to demonstrate the technical feasibility and to define the product roadmap.
  • Construct a software pipeline to synchronize, encrypt, and transmit over a network efficiently.
  • Participate in software architecture discussions, code reviews, and user studies design.
  • Responsible for unit testing and integrating the code for function testing, robustness, and reliability.
  • Cross-functional requirements discussions, ranging from customer-facing clinical needs to safety requirements.
  • Translating early requirements into prototype implementations to evaluate and assess a novel and sophisticated robotic system.
  • Apply good software engineering practices to write elegant, maintainable, reusable code.
  • Create documentation for the developed features and techniques that were tried, rejected, or implemented.


Required Skills and Experience

  • Proven track record in building real-time embedded systems, real-time applications, and/or embedded software.
  • Experience with industrial embedded OS (e.g., Yocto, QNX) and cross-compilation is a plus
  • Demonstrated proficiency in C, C++, C#, Python, and MATLAB.
  • Experience with multi-threaded and multi-processor/multi-core systems.
  • Hands-on experience with network interface and streaming protocols such as UDP, RTP, SRTP, SSL/TLS, and GStreamer.
  • Experience with publish/subscribe architectures, REST interfaces, and interprocess communications.
  • Hands-on experience building tools and software to evaluate network performance, characterize throughput, and efficiently interface with high-bandwidth networks.
  • Proficiency in profiling and debugging system software to optimize performance.
  • Strong communication skills and a commitment to collaborative team success.
  • Exceptional programming skills with a deep understanding of software engineering principles and methodologies.
  • Disciplined approach to debugging with a persistent attitude towards solving problems.


Required Education and Training

  • Minimum Master’s degree or above in Computer Science, Computer Engineering, or a similar technical field. Advanced degrees preferred.
  • A minimum of 8 years of experience developing and supporting embedded systems (or 5 years with a PhD).


Preferred Skills and Experience

  • Hands-on engineering experience with proven ability to work effectively in a team environment.
  • Ability to build and maintain relationships across supported organizations.
  • Experience in all phases of the product development lifecycle, including design, implementation, debugging, verification, validation, and transfer to manufacturing.
  • Knowledge of serial-arm robot kinematics.
  • Knowledge of classical and modern servo control systems.
  • Experience building digital applications interfacing with the latest AI/ML models.
  • Experience with medical device software development life cycle is a plus
  • Experience designing software products in a regulated industry or for mission-critical applications
  • Experience with concepts of design input, design output, traceability, risk analysis, and mitigations.

Apply Now
Share this job
Mumba Technologies, Inc.
  • Similar Jobs

  • Senior Embedded Software Engineer

    Mountain View
    View Job
  • Senior Embedded Software Engineer

    Cupertino
    View Job
  • Senior Embedded Software Engineer

    Milpitas
    View Job
  • Senior Embedded Software Engineer

    Mountain View
    View Job
  • Senior Embedded Software Engineer

    Milpitas
    View Job
An error has occurred. This application may no longer respond until reloaded. Reload 🗙