Medtronic
Sr. Software Engineer (Finance)
Position Description:
Sr. Software Engineer for Medtronic, Inc., Minneapolis, MN. Work to define product specifications and perform various software design and development activities; participate in software design, testing, documentation and maintenance for product software for Applications on Health Informatics and Monitoring; design and develop software using Real-Time Operating System (RTOS) and multithreaded firmware; perform static code analysis, unit testing, and integration testing, and support verification testing of Class III medical device software; program using various technologies including C, C++, C#, python and shell scripting; perform post market software analysis, issue resolution, use of test systems for testing Class III medical devices; conduct troubleshooting and debugging medical device software; conduct embedded software/firmware architecture design using Arm Processor and Microcontroller build support, Trusted platform development (including TF-M, TrustZone, Secure and Bootloaders), Security Protocols, Algorithms (including TLS, AES, RSA, and ECC), and Key Mgmt., RTOS Debugging and Trace and Certificate Creation, Mgmt., Renewal (CSR), and Packaging (PKCS7), File System (FAT) integration using LevelX and Encryption Layer and Docker Container Usage for Testing Environment; perform remote deployment of Class III medical device software; use source code mgmt. tools, revision control tools and bug tracking tools including Microsoft Azure DevOps environment, GIT repo, TFS, ARM Tool Chains (ARM Clang), Embedded C language Unit Testing, Mocking, and build tools (Unity, CMOCK, Ceedling), Azure Pipeline Building, Testing, and Gating for embedded/firmware and DOORS; support connectivity between devices using Bluetooth, Serial communication,I2C, SPI using Bluetooth/BLE, TCP/IP, UART/USB communication, Cellular and Wi-Fi network protocols; design hardware/firmware system interfaces; test hardware interfaces and hardware using low level software and Microprocessor and applications, and development tools including Hardware Debuggers, Logic Analyzer, JTAG, Oscilloscopes and JLink Debuggers with Integrated Design Environments (IDEs) including Keil and STM32Cubemx; work in an Agile environment. *Position is open to telecommuting from anywhere in the United States.
Basic Qualifications:
Master's degree or foreign equivalent in Software Engineering, Computer Science, Information Technology, Electrical Engineering or related engineering or technical field and two (2) years' experience as an embedded software engineer or firmware engineer. Bachelors' degree or foreign equivalent in Software Engineering, Computer Science, Information Technology, Electrical Engineering or related engineering or technical field and five (5) years' experience as an embedded software engineer or firmware engineer.
Must possess at least two (2) years' experience with each of the following: Embedded software design and development using microprocessors, RTOS, and Multithreaded design especially using ARM Tool Chains (ARM Clang), Arm Processor, and Microcontroller build support; Security Protocols, Algorithms (incl. TLS, AES, RSA, and ECC), and Key Mgmt.; Certificate Creation, Mgmt., Renewal (CSR), and Packaging (PKCS7); C, C++, C#, Python, and Shell scripting; Logic Analyzer, JTAG, Oscilloscopes, and JLink Debuggers with IDEs including Keil and STM32Cubemx, Static code analysis, unit testing, and integration testing; Bluetooth/BLE, TCP/IP, UART/USB communication, and Cellular and Wi-Fi network protocols; Microsoft Azure DevOps environment, Azure Pipeline Building, Testing, and Gating for embedded/firmware, GIT repo, TFS, and DOORS; Agile environment based development
Salary: $141,900 to $180,000 per year