Senior Embedded Software Engineer
Analog Devices · Wilmington, MA · 1 mo ago
Engineering$110k–$152k/yrFull-time
About the Group
Software & Digital Platforms Group
About the Role
The successful candidate will work alongside a very experienced and passionate group of engineers and managers, contributing to the architectural design and development of ADI's most advanced and technically challenging products. The candidate must demonstrate high levels of motivation, individual responsibility, and accountability; must be up to date on the latest technological advances.
Responsibilities
- Translate product requirements into SW and HW requirements.
- Collaborate with the software architects to design and develop device driver software for System-on-Chip (SoC) solutions.
- Contribute to the design and development of embedded SW, microcode, and bare metal drivers for our SoC products.
- Develop software for performance analysis and profiling.
- Ensure proper software development, testing, debugging, integration, and documentation, including adherence to software standards and testing on emulation platforms and evaluation boards.
- Be an excellent communicator and team player.
- Be able to independently operate in a global, diverse software development community across many geographical locations.
- Exhibit professional behavior with both internal/external business associates that reflect positively on the company and is consistent with the company's policies and practices.
Education & Experience
BS or MS in Computer Science, Computer or Electronics Engineering, or a related field with 5-7 years of industry experience.
Required Qualifications
- Experience with developing firmware and bare metal drivers for MCUs, DSPs, or heterogeneous SoC architectures.
- Experience in developing bootloaders and device drivers.
- Experience in silicon and board bring-up, and comfortable with debugging silicon, hardware, and software using IDE and JTAG/SWD debuggers.
- Good understanding of real-time operating systems concepts and the use of FreeRTOS, Zephyr, and/or Linux as an embedded operating system.
- Proficient in C and/or C++ programming with best engineering and software development practices.
- Good understanding of ARM cores and bus architecture.
- Experience with standard communication interfaces and protocols such as UART, SPI, I2C, etc.
- Hands-on experience with debugging tools (such as GDB, JLink, OpenOCD, etc.)
- Familiar with CI/CD and industry-standard tools such as Git, Jenkins/GitHub Actions, Jira, Confluence, etc.
- Excellent interpersonal communication skills with a proactive, can-do attitude.
Preferred Qualifications
- Familiar with silicon design and development cycle and understand the importance of hardware/software co-design principles throughout the design and development cycle.
- Experience in the use of CMSIS Packs, IAR, KEIL, and Visual Studio/VS Code IDEs.
- Comfortable with reading board schematics.
- Experience with oscilloscopes and logic analyzers.
What We Offer
- We place great value on individual judgment.
- We allow our employees the freedom to explore new ideas and autonomy to determine how to best achieve business goals and objectives.
- We emphasize professional development and mentoring.
- Above all, we recognize that the personal goals of our employees and the company's goals are closely related and must support each other.
Pay & Schedule
- Pay Rate Type: Salary
- Travel: Yes, < 5%
- Shift Type: 1st Shift/Days
- Expected wage range: $110,385 to $151,808 (actual offer may vary depending on work location, experience, education, training, external market data, internal pay equity, or other bona fide factors)
- This position qualifies for a discretionary performance-based bonus which is based on personal and company factors.
- This position includes medical, vision and dental coverage, 401k, paid vacation, holidays, and sick time, and other benefits.