Overview:

SimpliSafe is looking for a Senior Embedded Linux Software Engineer to develop on the embedded Linux platform of our award winning wireless IoT home security and camera system used by millions of users.  In this role, you will:

  • Contribute to the embedded Linux platform for current and next generation camera products
  • Develop and test innovative approaches for low-power optimizations
  • Unit test and verification of code and related API framework
  • Continually improve and maintain Linux distribution
  • Collaborate across multiple disciplines from electrical, to user interface designers, to cloud, to mobile app developers.

About you:

  • Proven experience with object oriented software development in embedded applications
  • Experience with common embedded operating systems and environments such as Linux, QNX, Vxworks, etc
  • Experience developing kernel and system level modules for embedded Linux systems
  • Experience with C++ and modern frameworks or libraries such as Boost
  • Application layer development of high level state machines and system flow architectures
  • Experience with Posix based multithreaded environments
  • Experience with Linux inter process communications such as shared files, shared memory, sockets, message queues, and semaphores 
  • Experience with embedded Linux bootloaders such as uBoot
  • Very comfortable with linux based development environments, make files etc
  • Excellent understanding of C and it’s scope in embedded systems development
  • Familiar with I2C, UART, and SPI interfaces
  • Experience with ARM based SoCs
  • Experience with scripting language(s) such as Python, Bash
  • Enjoy working in a highly collaborative environment
  • You value testing, and test based software development
  • Bachelor Degree in CS/CE/EE or equivalent experience

Desirable Qualifications:

  • Experience with video compression standards (MJPEG, H.264, etc) and audio compression standards (MPEG-3, Speex, etc)
  • Experience with integrating advanced algorithms and machine learning frameworks in embedded real time applications
  • Experience with some high level communications protocols and physical layers such as TCP/IP, Wifi, Bluetooth, Zigbee, USB, Modbus, etc.
  • Ability to read schematics and use common lab equipment (logic analyzers, oscilloscopes)
  • Experience with bare metal programming for small microcontrollers (PIC, MSP430, etc)

 

Apply for this Job

* Required