Full-Time Firmware Engineer
Flock Safety is hiring a remote Full-Time Firmware Engineer. The career level for this job opening is Expert and is accepting USA based applicants remotely. Read complete job description before applying.
Flock Safety
Job Title
Posted
Career Level
Career Level
Locations Accepted
Share
Job Details
The Opportunity
Flock Safety is looking for a Firmware Engineer to join our dynamic Device Firmware Team. We are responsible for all of the code running on thousands of solar-powered devices that are at the heart of our mission, enabling the seamless capture and upload of millions of images and streaming video content to the cloud daily. This role will focus on developing high-quality MCU firmware and Kernel drivers for existing and next-generation platforms. You will work with key internal stakeholders and external vendors to ensure deliverables meet our development and design bar, develop customizations in the drivers, and collaborate cross-functionally to deliver quality software and firmware.
The Skillset
We're looking for people with:
- A Bachelors, Masters, or Ph.D. in Electrical Engineering, Computer Engineering, Computer Science, or related field with 8+ years experience
- Proven track record of working with a large fleet of connected devices, a good understanding of different phases of their lifecycle and related challenges
- Development experience within embedded systems/firmware design at multiple stages of the product life cycle (prototyping, pre-production engineering validation, release and scaling)
- Experience with MCU firmware development bare-metal and RTOS-based
- Experience with device bring-up within MCU bare metal, RTOS, Linux or Android ecosystems
- Experience with Android system architecture (HAL, Android Linux Kernel, Android Build System, etc)
- Proficient in C and C++
- Comfortable working in a Linux-based development environment, including custom tooling, containers, Gerrit/Git, etc
The ideal candidate will have:
- Experience with ARM Cortex Microcontrollers and more specifically, with ST MCU and their development ecosystem is a big plus
- Experience with FreeRTOS or Zephyr is a plus
- Experience with Qualcomm chipset devices is a plus
- Experience with battery-powered/power constrained devices is a plus
- Strong knowledge of Linux internals (process scheduler, memory management, concurrency, synchronization, memory allocation, file system, networking, storage, subsystem architecture)
- Experience bringing up Linux Kernel drivers for common peripheral bus technologies, including SPI, I2C, UART, is a big plus
- Experience with Kotlin and Android apps development