Embedded Linux Software Engineer

0
285

Position Description

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 Linux Software Engineer will report to the Joint Product Development Software Engineering Senior Manager and be responsible for various application development within Linux on embedded devices. This position will be required to work effectively in a fast-paced environment, have proven experience managing priorities and be comfortable working in an environment with fluid schedules and loose product requirements. The successful individual will demonstrate intellectual curiosity, accountability, attention to detail and business acumen.

Specific Responsibilities

  • Assist in the development or configuration of kernel, bootloader, and driver level software
  • Develop interfaces to expose hardware functionality
  • Collaborate with other teams in Linux build system and OS configuration
  • Build detailed software that interacts with hardware based on a pre-determined set of requirements.
  • Integrate with existing workflows, including code review, automated testing, and code repository processes.
  • Understand industry and team-specific best practices
  • Implement features in a timely fashion with quality
  • Provide input on application design and architecture decisions.

Required Qualifications

  • Bachelor’s Degree in Computer Science or a related field
  • 1+ Years’ Experience in embedded Linux development
  • Proficient with C++ and C
  • Exposure to GNU toolchain and Yocto
  • Ability to read and understand schematics, datasheets, and other technical documentation

Preferred Qualifications

  • Advanced Degree in Computer Science or a related field
  • Experience with SPI, I2C, TTL
  • Experience debugging platform issues using debuggers, oscilloscopes, logic analyzers, protocol analyzers
  • Previous experience with Linux Development including:
  • Bootloader
  • Kernel and device driver internals
  • Device trees
  • Build tools (Buildroot, GNU, Yocto, etc.)