About Analog Devices
Analog Devices, Inc. (NASDAQ: ADI ) is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge. ADI combines analog, digital, and software technologies into solutions that help drive advancements in digitized factories, mobility, and digital healthcare, combat climate change, and reliably connect humans and the world. With revenue of more than $9 billion in FY24 and approximately 24,000 people globally, ADI ensures today's innovators stay Ahead of What's Possible™. Learn more at www.analog.com and on LinkedIn and Twitter (X).
Software & Digital Platforms
Senior Embedded Software Applications Engineer
Job Description: Bridge the physical and the digital world! Join us in developing and optimizing cutting-edge embedded systems that power our innovative products. You'll collaborate with cross-functional teams to design, implement, and integrate hardware and software solutions that deliver exceptional performance and reliability. This role involves developing and maintaining embedded software for Analog Devices' extensive product portfolio. The successful candidate will work on cutting-edge projects, collaborating with cross-functional teams to deliver high-quality software solutions for embedded systems.
Key Responsibilities:
- Architect, develop, and maintain efficient, reusable, and reliable embedded software for diverse hardware platforms.
- Lead software architecture and design efforts, integration and system testing, mentor junior engineers, and foster a culture of continuous learning.
- Develop embedded software for real-time operating systems (RTOS) and bare-metal environments, including Zephyr and Linux.
- Define and execute system‑level test strategies and test plans across multiple subsystems to ensure software functionality, performance, and quality in compliance with requirements and company standards.
- Design, develop, and maintain test automation frameworks; execute manual and automated tests; analyze results; and identify, document, and track defects.
- Collaborate closely with software architects, developers, and hardware engineers to define requirements and ensure seamless integration.
- Conduct thorough testing, debugging, and validation to ensure high performance and reliability.
- Optimize code for performance, memory usage, and power consumption.
- Participate in code reviews, enforce best practices, and maintain high standards of reliability.
- Stay current with industry trends, emerging tools and technologies, processes and best practices.
- Produce clear technical documentation, including design specifications and user guides.
- Contribute to open-source initiatives and collaborate on large codebases.
Requirements:
- Bachelor’s degree in computer engineering, Electronics Engineering, Computer Science, or other related field; master’s degree is preferred.
- Extensive experience in firmware or embedded software development, with a strong understanding of C/C++ programming languages.
- Proficiency in developing software for microcontrollers and microprocessors.
- Experience with bare-metal programming, real-time operating systems (RTOS), Zephyr, or Linux OS.
- Deep knowledge of hardware communication protocols (SPI, I2C, UART, CAN, etc.) and other microcontroller peripherals such as ADCs, DACs, timers, PWMs and GPIO.
- Strong experience in multi-core environment system validation, unit testing, software verification, and test automation.
- Strong experience with integrating, building, and testing of multi-threaded applications.
- Experience in Python programming.
- Mastery of Git and version control and defect tracking tools; active contributions to open-source projects are a plus.
- Excellent problem-solving skills, attention to detail, and ability to debug complex systems.
- Proficiency in using different IDEs, laboratory equipment such as oscilloscope, logic analyzers, signal generators, and JTAG/ICE debugger.
- Strong communication and collaboration skills.
- Proven experience in software architecture and design patterns.
Nice to Have:
- Knowledge in AI/ML, Computer Vision, and Image Processing
- Experience with FPGA development and firmware programming.
- Knowledge in Agile/Scrum methodologies.
- Familiarity with continuous integration/continuous deployment (CI/CD) practices.
- Experience in using GenAI tools for different phases of SDLC.
- Working knowledge of digital signal processing (DSP) and algorithm testing experience
s. This position requires extensive technical expertise, independent problem-solving capabilities, and the ability to mentor junior team members while driving technical innovation. You'll work independently with limited direction, conducting activities with broad application of engineering principles and concepts.
Key Responsibilities
- Design and implement complex embedded software solutions
- Lead technical aspects of significant projects
- Provide solutions to diverse technical challenges
- Mentor junior engineers and review their work
- Represent the team in cross-functional meetings
- Drive software architecture decisions
- Optimize code for performance and reliability
- Contribute to technical strategy and roadmap planning
- Collaborate with hardware teams for system integration
Must Have Skills
- C/C++ Programming: Strong expertise in programming with advanced understanding of optimization techniques for embedded systems
- RTOS & Interrupt-Driven Design: Proficiency in real-time operating systems and designing efficient interrupt-driven software
- Device Driver Development: Experience developing and optimizing device drivers for various hardware interfaces
- Linux Kernel Development: Working knowledge of Linux kernel development for embedded applications
- System Optimization: Ability to analyze and optimize embedded software for performance, power, and memory constraints
- Technical Leadership: Experience guiding technical decisions and mentoring other engineers
- Cross-Team Collaboration: Skills in working effectively across engineering disciplines
- SW Licensing: Aware of various software licensing models, including open-source, proprietary, and hybrid licenses.
- CI/CD: Experience with CI/CD pipelines, automated build and test processes, and integration with version control systems.
Preferred Education and Experience
- Bachelor's degree in Computer Science, Computer Engineering, or related field; Master's degree preferred
- 4+ years of relevant experience in embedded software development
- Demonstrated expertise in embedded systems and firmware development
Why You’ll Love Working at ADI
At Analog Devices, you'll be part of a collaborative and innovative team that's shaping the future of technology. We offer a supportive environment focused on professional growth, competitive compensation and benefits, work-life balance, and the opportunity to work on cutting-edge projects that make a real impact on the world.
You'll have access to continuous learning opportunities and mentorship from industry experts. Join us and help create the technologies that bridge the physical and digital worlds, making a tangible difference in how people live, work, and connect.
For positions requiring access to technical data, Analog Devices, Inc. may have to obtain export licensing approval from the U.S. Department of Commerce - Bureau of Industry and Security and/or the U.S. Department of State - Directorate of Defense Trade Controls. As such, applicants for this position – except US Citizens, US Permanent Residents, and protected individuals as defined by 8 U.S.C. 1324b(a)(3) – may have to go through an export licensing review process.
Analog Devices is an equal opportunity employer. We foster a culture where everyone has an opportunity to succeed regardless of their race, color, religion, age, ancestry, national origin, social or ethnic origin, sex, sexual orientation, gender, gender identity, gender expression, marital status, pregnancy, parental status, disability, medical condition, genetic information, military or veteran status, union membership, and political affiliation, or any other legally protected group.
Job Req Type: Experienced
Required Travel: Yes, 10% of the time
Shift Type: 1st Shift/Days