OVERVIEW
Established in 2005 and based in Charlotte, North Carolina, Snap One is a manufacturer and exclusive source of A/V, security, control, networking, and remote management products for professional integrators. An industry leader in the pro-install channel, Snap One helps integrators build their businesses by providing a wide range of high-quality products, easily accessible through an intuitive website and backed by award-winning service and support. With a vast catalogue of today’s most popular brands, Snap One is the premier choice for professional installers across the globe. With 28 pro stores in the US, Snap One blends the benefits of ecommerce with the convenience of local stores. Additional information about Snap One and its products can be found at www.snapone.com
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 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 and RTOS 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
PREFERED QUALIFICATIONS:
- Work experience with Heterogeneous multicore systems (NXP i.MX7, NXP i.MX8 etc.)
- Work experience developing embedded Linux Kernel software and user-space applications
- Work experience in Yocto environment
- Familiarity with Docker containers
- 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.