Medtronic is seeking to develop next-generation medical devices for airway management in acute care settings, such as Operation Rooms, Intensive Care Units, and Emergency Departments, and is looking for a Senior Software Engineer to design, develop, and maintain embedded software for these devices.
Requirements
- Strong proficiency in C/C++ and shell scripting.
- Hands-on experience with Linux kernel, device drivers, and cross-compilation toolchains.
- Prior working knowledge of embedded system (Linux, QNX, ThreadX etc.).
- Familiarity with networking protocols (TCP/IP, Wi-Fi, Bluetooth, IR etc.).
- Understanding of hardware/software integration and RTOS concepts.
- Knowledge of HW communication protocols (I2C, SPI, GPIO etc.).
- Understanding of version control systems and configuration management.
Responsibilities
- Work across a variety of software lifecycle activities as determined by program needs, including requirements analysis, design, implementation, testing, and maintenance.
- Architect, design, and develop embedded Linux software for medical devices, ensuring robust, scalable, and maintainable solutions.
- Integrate, customize, and optimize the Linux kernel, device drivers, and Board Support Packages (BSPs) to meet specific hardware and performance requirements.
- Develop standard, manageable, maintainable, and scalable user-space applications with GUI support for effective user interaction.
- Collaborate with hardware engineers to integrate sensors, motor controllers, and other peripherals into the embedded platform.
- Implement and maintain secure boot processes, over-the-air (OTA) updates, and system diagnostics to ensure device integrity and reliability.
- Conduct comprehensive debugging, code reviews, unit testing, integration testing, and regularly update technical documentation.
Other
- Bachelors Degree and minimum of 4 years of experience in embedded software development, with a focus on Linux or Master's degree with a minimum of 2 years relevant experience or PhD with 0 years relevant experience.
- Excellent problem-solving and communication skills.
- Strong written and verbal communication skills
- Ability to work in a team environment and collaborate with cross-functional team members.
- Ability to comprehend datasheets schematics and apply information to software design