Search by job, company or skills

Analog Devices

Senior Embedded Software Engineer

new job description bg glownew job description bg glownew job description bg svg
  • Posted 4 days ago
  • Be among the first 10 applicants
Early Applicant

Job Description

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, mentor junior engineers, and foster a culture of continuous learning.
  • Develop software for real-time operating systems (RTOS) and bare-metal environments, including Zephyr and Linux.
  • Collaborate with 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 technologies, 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; a Master's degree is preferred.
  • At least 5 years of relevant work experience.
  • Extensive experience in 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.
  • Mastery of Git and version control; 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, or Image Processing.
  • Experience with FPGA development and firmware programming.
  • Experience in Python programming.
  • Knowledge in Agile/Scrum methodologies.
  • Familiarity with continuous integration/continuous deployment (CI/CD) practices.
  • Experience with unit testing frameworks and automated testing tools.
  • Experience in using GenAI tools.

More Info

About Company

Job ID: 135573279