About the job
Flock Safety is an all-in-one technology solution to eliminate crime and keep communities safe. Our intelligent platform combines the power of communities at scale - including cities, businesses, schools, and law enforcement agencies - to shape a safer future together. Our full-service, maintenance-free technology solution is trusted by communities across the country to help solve and deter crime in the pursuit of safer communities for everyone.
Our holistic public safety platform is comprehensive and intelligent, providing the actionable evidence needed to solve, deter and reduce crime across neighborhoods, schools, businesses and entire cities. Without compromising transparency or privacy, we are turning unbiased data into objective answers.
Flock strives to offer a career-defining experience where you can also make an impact on your community. While safety is a serious business, we are a supportive team that is optimizing the remote experience to create strong and fulfilling relationships even when we are physically apart. Our group of hard-working employees thrive in a positive and inclusive environment, where a bias towards action is rewarded.
We have raised over $380M in venture capital from investors including Tiger Global, Andreessen Horowitz, Matrix Partners, Meritech Capital Partners, and Initialized Capital. Now surpassing a $5.5B valuation, Flock is scaling intentionally and seeking the best and brightest to help us meet our goal of reducing crime in the United States by 25% in the next three years.
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.
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
Feeling uneasy that you haven’t ticked every box? That’s okay, we’ve felt that way too. Studies have shown women and minorities are less likely to apply unless they meet all qualifications. We encourage you to break the status quo and apply to roles that would make you excited to come to work every day.
We are a results-oriented culture and believe job descriptions are a thing of the past. We prescribe to 90 day plans and believe that good days lead to good weeks, which lead to good months. This serves as a preview of the 90-day plan you will receive if you were to be hired as a Firmware Engineer at Flock Safety.
The First 30 Days
Learn about the firmware software development lifecycle and tools, get your development environment set up, and your build server up and running.
Learn about different MCU-based and Android-based devices that our team is working on
Gradually ramp up on each product, deliver a small bug fix or an improvement in the code base.
The First 60 Days
Continue making improvements to device firmware.
Familiarize yourself with firmware-common library, and how it is integrated into existing projects and it’s current roadmap
90 Days & Beyond
Make valuable contributions to our firmware-common library, help with its integration into our MCU-based products, identify gaps and needs in the library and collaborate with partners to establish its roadmap.
Deliver larger-scope fixes and improvements for MCU-based devices and on the Android host side.
We want our interview process to be a true reflection of our culture: transparent and collaborative. Throughout the interview process, your recruiter will guide you through the next steps and ensure you feel prepared every step of the way.
Our First Chat: During this first conversation, you’ll meet with a recruiter to chat through your background, what you could bring to Flock, what you are looking for in your next role, and who we are.
The Technical Assessment: You will meet with a potential future coworker to really dive into the role, the team, expectations, and what success means at Flock. You should expect the interview will cover the hard skills required to do the job, an architectural discussion, and an exploration of your past accomplishments and experiences. This is your chance to really nerd out with someone in your field.
The Panel: Learn more about the team, responsibilities, and workflows. You should be prepared to speak about past projects, how you collaborate and communicate with others, and how you live our values. You will meet with several teammates and cross-functional partners. Engineers should expect a technical assessment through coding interviews or architecture discussions. Your recruiter will provide more details to ensure you are fully prepared for your big day.
The Executive Review: A chance to meet a leader within the Device Software team. They will be looking to get to know you better, understand your motivations, and understand your technical background. Be prepared to ask well-thought-out questions about the company, culture, and more.