As a Principal Firmware Engineer within Medtronic's Platform Center of Excellence, you will be a critical contributor to building high-performance, scalable, and reliable systems in a Linux environment. You will leverage your deep expertise in C/C++, Data Structures, Socket Programming, Multi-threading, and QT to develop and optimize embedded and system-level applications, pushing the boundaries of medical technology.
A Day in the Life
You will drive innovation in firmware development by:
- Developing and optimizing embedded and system-level applications using C/C++ in a Linux environment.
- Designing and implementing Data Structures to optimize system performance and scalability.
- Working with Socket Programming to create efficient and secure communication protocols between distributed systems.
- Developing multi-threaded applications to maximize system throughput and responsiveness.
- Working on DEOS (Real-Time Operating System) to ensure high reliability and real-time functionality in embedded systems.
- Collaborating with cross-functional teams within the Platform COE to deliver high-performance solutions.
- Developing graphical user interfaces (GUIs) using QT for embedded or application-based systems.
- Designing and implementing platform-specific software solutions for diverse hardware environments.
- Performing unit testing, debugging, and performance analysis to identify and resolve issues.
- Participating in code reviews and adhering to best coding practices and standards.
- Troubleshooting and solving system-level issues in a multi-threaded, distributed environment.
Required Knowledge and Experience
- Bachelor's or Master's degree in Computer Science/Electronics Engineering with 15+ years of embedded software development experience in resource-constrained and/or low-energy environments.
- Exceptional problem-solving abilities.
- Strong proficiency in C/C++ programming for embedded systems.
- Proven experience working with microcontrollers in real-time systems.
- Experience in peripherals like UART/SPI/QSPI/I2C/DDR.
- Expertise in embedded engineering projects, including developing unit, integration, and system-level tests.
- Experience with and deep understanding of Ethernet Network development.
- Experience and a good understanding of CI/CD pipelines, Bamboo, Jenkins.
- Experience with Linux Kernel and/or FreeRTOS.
- Advanced knowledge of Linux / Yocto / XILINX SDK.
- Comprehensive knowledge of the CMake Build system.
- Advanced knowledge of Python.
- Exceptional written and verbal communication skills.
Good to Have
- Experience with tools like GitHub, JIRA, and Confluence.
- Hands-on experience in Docker System.
- Knowledge of secure bootloaders, application encryption, and signing.