Senior Embedded Software Engineer

Location: San Francisco, CA

Department: PCH Lime Lab

Type: Full Time

Min. Experience: Experienced

About PCH Lime Lab

PCH Lime Lab is the product design and engineering division of PCH. Our passion is making, our expertise is engineering. We take on the most sophisticated design engineering challenges, where no detail is too small and each project is unique. PCH works with the world’s most innovative brands, from startups to Fortune 500 companies, guiding product creation through all phases – from opportunity, concept, design engineering and development, to packaging, manufacturing and the customer experience.


Summary of Responsibilities

The PCH Lime Lab software team is seeking an exceptional candidate with knowledge in designing and porting an embedded linux kernel on custom hardware. You will be responsible for mapping complex system requirements and devising solutions for interfacing to peripherals including but not limited to, audio, video, wired and wireless networking, and memory subsystems.

The ideal candidate should be comfortable working through the entire embedded Linux stack from interfacing to low level drivers and implementing simple yet functional applications. Working knowledge with a graphical based application framework such as Qt is a big plus.

You will be part of a small dynamic team designing and building some of the coolest consumer electronic products. (Some examples of products we've worked on are drones, super 8 film cameras, food testers, medical devices, wearables, etc.) 


Required Qualifications

  • Working experience with Linux bring-up on embedded custom hardware, e.g., U-Boot porting, device tree configuration, driver and kernel configuration, etc.
  • Solid C language experience, especially in context of low level hardware interfacing.
  • Knowledgeable of real-time systems.
  • Experience with developing Linux device drivers.
  • Familiarity with laboratory tools such as oscilloscopes, power supplies and multimeters. 
  • Working knowledge of typical hardware interfaces: I2C, SPI, GPIO, UART, etc.  Working knowledge of typical subsystems (e.g., eMMC, raw NAND, etc.) and associated system level software integration. Proficient knowledge of interfacing to various sensors and peripherals using listed interfaces from application space is a must.
  • Experience interfacing, configuring and implementing an application with support for BLE and/or WiFi stack is a big plus.
  • Working knowledge of typical networking stack and architectural principles: Ethernet, TCP/IP suite, HTTP, web services, e.g., REST.
  • Effective verbal, written and interpersonal communication skills. 
  • At least 5 Years of embedded software experience.
  • Experience shipping products and exposure to full software development cycle, a plus.  
  • Bachelor of Science or Master of Science in Computer Engineering, Computer Science, Electrical Engineering, or related discipline.
Forward this Position
Recipient email address (one)
Your name
Your email address
Enter a message (optional)
Human Check*
Apply for this Position
* Required fields
First name*
Last name*
Email address*
Phone number*

Attach resume as .pdf, .doc, or .docx (limit 2MB) or paste resume

Paste your resume here or attach resume file

Cover Letter*
In 150 characters or fewer, tell us what makes you unique. Try to be creative and say something that will catch our eye!*