OVERVIEW:
SnapAV + Control4 is a leading manufacturer and distributor of audio, video, surveillance, power, and wiring equipment for residential and commercial A/V integrators. We believe that life’s better when everything works together. And the same can be said about the collaborative work we do. Join our award-winning team in our continuous quest to deliver the most brilliant, personalized smart home experiences to people around the world.
The Embedded Software Development Engineer will report to the Director of Engineering and will be responsible for working with a team of Engineers and Developers to develop a range of end-customer products. The individual will contribute to solutions that cross multiple engineering disciplines and deliver the highest-quality products used every day by businesses, families, and individuals. The successful individual will help design and deliver new capabilities that will challenge yourself, while noticeably impacting people's quality of life.
RESPONSIBILITIES:
- Develop and test complex application software in a multi-function, multi-team product environment
- Develop and test kernel and driver level software to support user mode applications
- Develop and test interfaces such as REST APIs for device control
- Develop unit and integration test software to contribute to CI/CD automation pipeline
- Create test automation frameworks to ensure high-quality firmware
- Debug embedded software issues on hardware platforms
- Participate in Agile and Kanban development planning and meetings
REQUIRED QUALIFICATIONS:
- Bachelor’s degree in Electrical engineering or Computer science
- 3+ years experiences in embedded Linux development
- Proficient in C/C++ programming, embedded development (including micro-controllers), and test tools
- Programming background in Shell scripting
- Proficient in low-level driver development for various interfaces (I2C, SPI, Ethernet, WiFi, etc.)
- Proficient in version control GIT, GIT Flow
PREFERRED QUALIFICATIONS:
- Work experience developing embedded Linux Kernel software
- LUA programming experience
- WEB programming experience, including: HTML5, CSS, JavaScript
- Experience working with network technologies and protocols including IP, UDP, TCP, multicast, etc.
- Familiarity with standard embedded design hardware tools such as debuggers, oscilloscopes, logic analyzers, protocol analyzers, etc.