About the Opportunity
Flock is looking to add a Kotlin Backend Developer to our Device software team. Our Device team is made up of scrappy engineers who are responsible for all of the code running on a variety of devices Flock deploys in the real world. They enable the whole experience by writing applications that reliably capture, process, and upload data for years at a time without needing human interaction to keep them running.
How You Will Take Flight With Flock
- Design systems at scale –We capture over 650 million images daily and process them on the device in real time
- Own features through their lifecycle: ideation, proof of concept, beta testing, and release
- Collaborate with Hardware, Machine Learning, and Platform teams on multifaceted projects touching the entire system
- Work with systems designed for ultimate redundancy and high availability
- Balance performance with energy consumption - we're a machine learning enabled media processing machine powered by the sun!
- Work directly with Product to develop innovative software solutions to utilize our product in challenging customer use cases
- Interface multiple IoT devices together to share data to help each other understand and respond to the environment
About You
- Love writing code and have extensive experience doing so.
- Have delivered production applications written in Kotlin (ideally on Android!) with more than a few installs.
- Have a strong desire to understand the root cause of a problem and deliver a robust solution.
- Like to work on a product you can touch, see, and experience.
- Don't mind clicking accept when the screen says you're about to void the warranty.
- Are excited about working on a fast-paced, constantly evolving product.
- Be able to crack a joke every now and then, even if you're the only one who laughs.
Our Tech
If you noticed, the above list says very little about specific coding skills. We believe the right person for this role is much more than a great engineer. But to get into the nitty gritty, technology we work with on the daily looks like:
- Kotlin
- Some Java and C++ when we have to
- Relational databases including Room/sqlite3 and Postgres
- OpenCV
- Tensorflow
- Custom TCP and UDP protocols for content delivery
- Streaming protocols such as RTSP and MJPEG
- Transcoding media formats including JPEG, HEIC, AVC, HEVC
- Android Open Source Project (AOSP) 8.1 and 10
- Interfacing with RESTful APIs written in Typescript, Scala, Python, and Go