What are the responsibilities and job description for the Senior Embedded Software Engineer position at Williams AV?
Headquartered in Eden Prairie, MN, Williams AV designs and manufactures assistive communication technology. Initially known for its assistive listening products, the company has since expanded its offerings for solutions that address audio challenges in various environments and applications.
At our core lies a commitment to empower connections, guided by what we stand for: Lead with Curiosity, Prioritize People, Own It, and Be There. By embracing these values, we forge meaningful connections that fuel our success and cultivate an environment where ideas thrive and individuals are empowered.
Job Position: Senior Embedded Software Engineer
Reports To: Software Engineer Team Lead
Terms: Exempt, Fulltime
Summary:
As a Senior Embedded Software Engineer, you'll design, develop, and test embedded software features for our assistive communication products, spending most of your time doing hands-on development. You will be a significant contributor to, and the owner of, key technical and architectural decisions. You will also contribute to, and champion, the modernization of our software development processes and tools.
Responsibilities:
- Perform engineering activities across all stages of the software development life cycle, including technology exploration (Bluetooth, Wi-Fi and RF) requirements management, design, implementation, test, release, and continuation engineering
- Design and build a solution architecture that is scalable across our product portfolio, reducing the cost to develop and maintain solutions
- Work on a variety of hardware and software platforms, from bare metal code on a simple 8051 controller to application-level code on an ARM processor
- Act as the subject matter expert on embedded programming concepts including device driver development, inter-chip communication, real-time operating systems, optimization techniques
- Lead software quality improvements through active participation in peer reviews and the development and maintenance of automated tests
- Contribute to the software roadmap by identifying relevant technologies and recommending strategies to mitigate technical risks in product development
- Translate product requirements into engineering specifications that can be structured, manageable tasks
- Utilize project management tools to track and manage software development progress, prioritize tasks, track issues and facilitate sprint planning
- Coach and mentor team members on software design and development best practices and techniques
Required Qualifications:
- Bachelor's degree in Computer Science, Electrical Engineering or related
- 5 years of professional experience developing embedded software products
- Experience writing bare metal drivers for microcontroller device peripherals and for communication protocols such as SPI, I2C, UART, USB, and I2S (audio)
- Experience with a real-time operating system such as FreeRTOS, Zephyr OS, or Linux-based real-time operating systems
- 5 years of electrical circuit experience involving low-level firmware, hardware-software integration, debugging hardware issues
- 5 years of digital signal processing with an emphasis on audio filtering
- 3 years of higher-level languages using C# or Python
- 3 years working with communication technologies
Physical Requirement
This position works the majority of the time on a computer or in the lab. This position utilizes an oscilloscope, logic and protocol emulators/analyzers, power supplies, multi-meters, waveform generators and other related gear, and requires good visual skills. This position may also require the ability to lift and carry up to 40lbs.
Salary : $126,400 - $165,700