
Senior Software Engineer, Edge Machine Learning
- Cork
- Permanent
- Full-time
- Design and develop software for Grid Monitoring embedded systems which include neural net accelerators.
- Work closely with AI engineers to adapt and tune ML models for the target edge computing platform.
- Combine ML inferences and other signals within the embedded systems to identify and report faults and/or perform appropriate response actions.
- Create all necessary documentation to support the embedded firmware design and communicate the essential concepts inside and outside the development team.
- Participate in code reviews, software standard and guidelines improvement.
- Develop and execute software unit and integration test plans.
- Analyze test results to ensure correct functionality and implement corrective action.
- Interact daily with geographically distributed Silicon Designers, Embedded Software Engineers, Applications Engineers, and other team members to develop software, resolve bugs, identify missing requirements etc.
- Provide customer support during Beta trials and post release.
- Comply with ADI licensing practices, code origin control and documentation.
- Electronics, Electrical or Computer Science graduate.
- Minimum 5 years’ experience in designing and developing embedded software in C/C++ Language.
- Background in machine learning algorithms (CNN, DNN) and experience deploying them on embedded systems.
- Familiarity with model optimization techniques (quantization, pruning, compilation) and deployment pipelines for embedded AI.
- Familiarity with neural network accelerators and strategies for efficient neural network execution on such hardware.
- Strong background in embedded software and computer architecture.
- Excellent problem-solving and troubleshooting skills.
- Proficient in C/C++ programming.
- Experience in designing and developing embedded applications using RTOS such as Zephyr, ThreadX, FreeRTOS etc.
- Experience with Git, Jira and Confluence.
- Strong written and verbal communication skills.