About the opportunity
Data is the most crucial part of the Machine Learning models at Flock Safety, and obtaining accurate training data efficiently is paramount to the success of our mature and early-stage products. As a software engineer on the ML Infrastructure team, you will design and implement a set of tools that will transform our various data sources into high quality training data, as well as create APIs that allow for our customers to provide feedback that we can also learn from. You will work closely with ML researchers towards Flock’s goal of eliminating crime.
Knowledge of machine learning, computer vision, or neural networks is a plus but not required. A strong candidate for the ML Infrastructure team will either be a full-stack engineer with a frontend focus, or an excellent software generalist.
Some challenges you’ll tackle
- Design and develop annotation tools for various multimedia datasets (audio, video, image, etc.)
- Design testing and monitoring logic to ensure high quality annotations
- Leveraging and/or integrating open source annotation libraries or annotation services
- Design and develop APIs to provide feedback from our products to R&D
- Able to consider costs and benefits of building and supporting products vs leveraging services
- Work closely with our ML researchers to support data needs for evolving projects
About You
- BS/MS in Computer Science or related field, or equivalent industry experience.
- 3+ years experience building complex data-rich web applications
- Proficient experience with Python and Django
- Proficient in frontend development: React, javascript, css, html
- Proficient with SQL (e.g. PostgreSQL) and NoSQL (e.g. Elasticsearch)
- Experience with designing, implementing, and integrating with REST APIs
- Experience with cloud computing such AWS EC2/S3/RDS is a plus.
- Experience with scientific computing libraries such as numpy, pandas, or scikit-learn is a plus.
- Knowledge of machine learning, computer vision, or neural networks is a plus but not required.
- Able to take on complex problems, learn quickly, iterate, and persist towards a good solution
- Effectively communicate, at the level of your audience, and seek to understand and be understood