SimpliSafe is looking for a Firmware Engineer to design and develop the firmware that drives our award winning wireless/IoT home security system. This role is in the Core Alarm team, which is responsible for the key components of the SimpliSafe system, including the base station, keypad, smart lock, and respective cloud microservices.
In this role, you will:
- Design, code, and integrate firmware for any of the core alarm products (base station, keypad, smart lock)
- Design, code, and integrate cloud server software to communicate with our products.
- Collaborate with other engineering and product teams on new features
- Work with QA, ensuring high reliability standards to keep every home secure
- Document the design and testing methodologies
- Develop unit test for the verification of code and hardware
- Proven experience with object oriented software development in embedded applications
- Experience with C++, including STL and modern frameworks
- Understanding of C and its scope in embedded systems development
- Experience with RTOS and/or embedded Linux
- Experience with POSIX based multithreaded environments
- Experience with inter process communications such as shared files, shared memory, sockets, message queues, and semaphores
- Familiar with I2C, UART, and SPI interfaces
- Very comfortable with Linux based development environments, make files etc
- Enjoy working in a highly collaborative environment
- Minimum of Bachelor Degree in CS/EE or equivalent
- Experience with some high level communications protocols and physical layers such as TCP/IP, WiFi, Bluetooth, Zigbee, USB, etc.
- Experience with embedded Linux bootloaders such as uBoot
- Experience with bare metal programming for small microcontrollers (PIC, Nordic, ST, etc)
- Ability to read schematics and use common lab equipment (logic analyzers, oscilloscopes)
Benefits & Perks: