Embedded Software Engineer
Design and implement embedded software SDKs and tools for AI platforms, collaborating with cross-functional teams to understand customer requirements and translate them into technical specifications.
Key Responsibilities:
- Collaborate with System Architects, Product Manager, Algorithm Designers, Software and Hardware Engineers to take high-level system architecture and translate it into a working design.
- Take ownership of design, implementation, testing, documentation, and maintenance of embedded software systems.
- Lead the design and implementation of ADI's AI runtimes and platform tools for our suite of embedded devices.
- Research and evaluate new technologies for embedded systems.
- Manage and maintain code repositories.
Requirements:
- Experience in embedded software system design and SDK development.
- Strong C/C++ programming skills.
- Experience with Linux, Free RTOS, ROS, and/or other embedded OSs.
- Solid problem-solving and troubleshooting skills.
- Familiarity with AI models and deep learning systems.
- Background in solving problems that apply to large complex systems deployed at scale.
- Familiarity with computer system architecture, microprocessor, and microcontroller fundamentals (caches, buses, memory controllers, DMA, etc.).
Bonus Points:
- Background in sophisticated system-level debugging.
- Experience working on system-level reliability and resiliency features.
- Familiarity with system-level security concepts.
- Knowledge of digital signal processing (DSP) and algorithm implementation experience.
- Experience in FPGA development including design, synthesis, simulation, verification, and timing analysis.
- Background in ML algorithms (CNN, DNN) and experience in their embedded implementation.
- Solid understanding of ADC and DAC principles of operation.
About Analog Devices:
Analog Devices, Inc. is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge.