旧塩港電氣工業製造社 主页旧塩港電氣工業製造社 主页

高级嵌入式软件工程师

Senior Embedded Software Engineer

直觉外科公司(Intuitive Surgical)

地点
桑尼维尔,美国
工作方式
现场办公
类型
全职
资历
senior

医疗器械外科手术机器人

职责

  • 与跨职能团队(电子工程、FPGA、制造、服务和临床)合作,确定技术要求,评估设计权衡,并交付强大的平台和基础设施软件。
  • 负责嵌入式Linux软件的全生命周期设计、实现和维护,包括系统初始化、配置和诊断;嵌入式平台的通信中间件和系统服务;多线程、分布式C/C++应用程序;第三方物联网设备集成和API设计。
  • 扩展和改进现有软件框架,以支持新的处理器、操作系统和硬件平台。
  • 在硬件启动初期,与电气工程师密切合作,包括引导加载程序、内核、设备树和驱动程序级别的集成。
  • 使用gdb、JTAG、逻辑分析仪和示波器等工具调试涉及硬件、操作系统、中间件和应用层的复杂系统问题。
  • 解读原理图、数据手册和硬件规格,为软件设计和调试提供信息。
  • 在设计软件时考虑健壮性、故障检测能力、优雅降级能力和可维护性。
  • 分析并解决性能、延迟和资源使用问题(CPU、内存、I/O、网络)。
  • 调查并进行根本原因分析,以找出在开发、制造、临床使用或现场部署过程中遇到的系统级故障。
  • 参与设计验证和确认活动,并支持向生产转移。
  • 参与架构讨论和设计评审,提出系统层面的观点。
  • 指导初级工程师,并在代码质量、测试规范和设计实践方面以身作则。
  • 根据需要支持跨职能评审、产品演示和临床/现场活动。

必备要求

  • 拥有计算机科学、计算机工程或相关工程学科的学士学位,并具有6年以上行业经验;或拥有硕士学位,并具有4年以上行业经验。
  • 4年以上在生产环境中开发和支持嵌入式系统的实践经验。
  • 精通现代C/C++(C++11及更高版本),适用于嵌入式和跨平台开发。
  • 具备开发和调试嵌入式Linux系统(包括多线程应用程序)的经验。
  • 具备Linux内核驱动程序开发、板级支持包、设备树、引导加载程序集成和底层硬件接口方面的实践经验。
  • 具备将嵌入式Linux系统与FPGA、PCIe、DMA、定制ASIC或其他高吞吐量硬件数据路径集成的经验。
  • 熟练使用Python 3和Bash进行工具开发、自动化和诊断。
  • 熟悉TCP/IP、CAN、I2C、SPI等通信协议以及序列化协议(例如protobuf)。
  • 了解嵌入式软件架构、模块化设计、进程间通信和系统级接口。
  • 具备强大的系统级调试技能,涵盖硬件、操作系统和分布式软件。
  • 具备在复杂的、以产品为中心的设计项目中运行团队协作的经验。
  • 熟悉CI/CD、构建自动化和单元集成测试。
  • 优秀的书面和口头沟通能力。

优先条件

  • 具备嵌入式通信接口、网络设备集成、协议调试和性能分析方面的经验。
  • 具备设计具有实时或近实时约束的系统的经验。
  • 掌握网络安全概念,例如安全启动、身份验证、加密和密钥管理。
  • 具备完整的产品开发生命周期经验,包括设计、实施、调试、验证、确认和生产转移。
  • 具备为FDA监管、安全关键型或任务关键型系统开发软件的经验,包括设计控制、可追溯性、风险分析和缓解措施。
  • 具备UDP、RTP、SRTP、SSL/TLS和GStreamer等网络和流媒体技术的实际操作经验。
  • 熟悉Yocto/OpenEmbedded、PetaLinux、交叉编译或可复现构建系统。

Responsibilities

  • Collaborate with cross-functional teams (electrical engineering, FPGA, manufacturing, service, and clinical) to define technical requirements, evaluate design trade-offs, and deliver robust platform and infrastructure software.
  • Own the full lifecycle design, implementation, and maintenance of embedded Linux software, including system initialization, configuration, and diagnostics; communication middleware and system services for embedded platforms; multi-threaded, distributed C/C++ applications; third-party IoT device integration and API design.
  • Extend and improve existing software frameworks to support new processors, operating systems, and hardware platforms.
  • Work 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.
  • Design software with robustness, fault detection, graceful degradation, and maintainability in mind.
  • Analyze and resolve performance, latency, and resource usage issues (CPU, memory, I/O, network).
  • 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 production.
  • Participate in architecture discussions and design reviews, providing a system-level perspective.
  • Mentor junior engineers and lead by example in code quality, testing practices, and design practices.
  • Support cross-functional reviews, product demos, and clinical/field activities as needed.

Must Have

  • Bachelor's degree in Computer Science, Computer Engineering, or a related engineering discipline with 6+ years of industry experience; or Master's degree with 4+ years of industry experience.
  • 4+ years of hands-on experience developing and supporting embedded systems in production environments.
  • Proficiency in modern C/C++ (C++11 and later) for embedded and cross-platform development.
  • Experience developing and debugging embedded Linux systems, including multi-threaded applications.
  • Hands-on experience with Linux kernel driver development, board support packages, device trees, bootloader integration, and low-level hardware interfaces.
  • Experience integrating embedded Linux systems with FPGAs, PCIe, DMA, custom ASICs, or other high-throughput hardware data paths.
  • Proficiency in 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 embedded software architecture, modular design, inter-process communication, and system-level interfaces.
  • Strong system-level debugging skills spanning hardware, OS, and distributed software.
  • Experience working collaboratively in complex, product-focused design projects.
  • Familiarity with CI/CD, build automation, and unit/integration testing.
  • Excellent written and verbal communication skills.

Preferred

  • Experience with embedded communication interfaces, network device integration, protocol debugging, and performance analysis.
  • 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 with the full product development lifecycle, including design, implementation, debugging, verification, validation, and production 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.
  • Familiarity with Yocto/OpenEmbedded, PetaLinux, cross-compilation, or reproducible build systems.

公司简介

一切始于一个简单的想法:如果手术创伤更小、术后恢复更轻松,那会怎样?近30年后,这个问题依然是我们Intuitive公司一切工作的动力。作为机器人辅助手术和微创治疗领域的全球领导者,我们的技术——例如达芬奇手术系统和Ion系统——已经改变了全球数百万患者的生活。我们是由工程师、临床医生和创新者组成的团队,我们拥有一个共同的目标:让手术更智能、更安全、更人性化。每一天,我们的工作都在帮助医疗团队更精准地完成手术,帮助患者更快康复,从而改善全球的医疗效果。我们所解决的问题需要创造力、严谨性和协作精神。这项工作充满挑战,但意义深远——因为我们所做的每一项改进都有可能改变一个人的生活。如果你准备好为比你自身更伟大的事业做出贡献,并帮助改变医疗保健的未来,那么你将在这里找到你的使命。