Agile Programming Methodologies, C Programming Language, C++ Programming Language, Continuous Deployment/Delivery, Continuous Integration, Debugging Skills, Embedded Software, Embedded Systems, FPGA, I2C, Identify Issues, Jenkins, Linux Operating System, Lua, MATLAB, Medical Equipment, Microcontroller, Motor Control Systems, PCI Express (PCI-E), Python Programming/Scripting Language, QNX Operating System, Scrum Project Management and Software Development, Software Development, Software Engineering, Storyboards, Test Scripts, Test Tools, USB, Universal Asynchronous Receiver-Transmitter (UART), Unix Shell Programming, User Interface/Experience (UI/UX)
Embedded Software Engineer (Baremetal/FreeRTOS/FPGA/Control Loops, MATLAB)
Location: Andover, MA (Onsite from Day 1)
Job Type: Contract (W2)
Embedded Systems - C/C++ | Yes | 1 | | |
Matlab | Yes | 1 | |
JD:
Expectation:
Develop hands on C/C++ software and integrate your work within Smith+Nephew's Agile Scrum teams.
Support and augment internal team of 10+ software engineers.
Deliver against sprint commitments and program increment objectives.
Job description:
Atleast 2+ years of professional software development experience, with strong emphasis on C/C++ on microcontrollers like K60, STM32, FPGA (microblazes or similar soft cores); experience in embedded systems, ideally within medical devices.
Proven experience developing, debugging and tuning of motor control with closed control loops and using MATLAB.
Proven experience working with Microblaze or similar soft-cores on Xilinx FPGAs.
Experience working with and troubleshooting multiple hardware interfaces, such as PCIe, CAN, I2C, I2S, UART, SPI, USB etc.
Nice to have experience working with UI development on QNX using Crank Story Board and working with Linux.
Solid understanding of CI/CD pipelines and tools such as Jenkins or GitLab CI.
Ability to write unit and component level tests for C/C++ applications manual and automated with frameworks like GoogleTest, Unity etc.
Experience with Lua, Python or Shell scripting for automation, testing, and tooling is required.