At Flock we strive to provide the best possible service for our customers, by iterating our cutting edge technologies and processes. Being an engineer at Flock means embracing innovation, rigour, personal responsibility, and collaboration.
We lay out some of Flock’s core engineering values and processes. We are sharing these publicly because we are proud of them, and because we want to keep ourselves accountable (both internally and externally) as we grow.
We built these as a team, and they will continue to evolve; this document is therefore ‘live’ and will update periodically.
To grow and retain a best-in-class Engineering Team.
- We value results over process
- We know that if we do not build a Flock-killer, somebody else will
- We ship frequently
- We innovate in the best interests of the whole team, and actively seek out technologies and processes that will provide the greatest competitive advantage
- We seek a holistic view of the ‘big picture’, and how our work affects the business as a whole
- We use data to inform our intuition
- We are not afraid of experiments, and we accept that, sometimes, they will fail
- We ship MVPs before we ship products
- We love to automate repetitive processes
Depth of Understanding
- We value continuous learning and personal development; we enjoy learning new, better ways to achieve our results (and have built a framework of Engineering Development Initiatives to achieve this — see below)
- We select what we learn with care, prioritising an understanding of underlying problems
- We understand that Software Engineering is a mathematical discipline, and apply rigorous data-driven approaches to all aspects of delivery
- We question everything
- We always identify the Why, and do not seek Who to blame
- We aim to learn and understand the entirety of our stack. All engineers will inevitably specialise, but will remain ‘T-shaped’ — possessing a deep knowledge of a particular area alongside a wide ability to work on all parts of our system
- We listen well, and seek to understand before reacting
- We strive to maintain a ‘bus factor’ of zero at all times, by communicating knowledge both internally and with the wider engineering community
- We maintain calm poise in stressful situations, to draw out the clearest thinking
- We provide candid, timely feedback to colleagues
- We are concise and articulate in speech and writing
- We appreciate that nobody knows everything, and we know when to ask for help
- We share our progress (or lack of it) with our team members consistently, frequently and openly
- We actively solicit and provide help and feedback, and are gracious towards both praise and criticism
- We are an equal opportunity employer, and we actively encourage and embrace diversity in every sense: diversity of ideas, diversity of sexual orientation, gender, race, age, religion, neurodiversity, and more
- We value and respect each other as individuals, and we enjoy spending time together
Ownership and Autonomy
- We take charge of our work proactively and independently
- We think strategically and can identify ‘scope creep’
- We take pride in knowing when to ask for help, and understanding what meaningful context looks like
- We actively practice the boy-scout rule, always leaving the system better than we found it
- We identify and understand the impact of the corners we cut
- We understand that our users come first, and strive to produce the highest quality experience for them
- We are diligent, production-oriented, and we take great pride in the quality of our work
Every project should have a Primary Responsible Person (PRP). Following discussion with the stakeholders (whether that’s a partner, a customer, or the CEO) the PRP is empowered to make decisions regarding technical choices, scope, and priorities which encompass all aspects of the project.
The PRP is also empowered to request more resources when needed. All code goes through collaborative code review. The person opening the Pull Request (as the PRP) is responsible for responding to (but not necessarily adopting) any and all suggestions and comments. The PRP is responsible for merging their own code and ensuring that production operation continues/rolls back as necessary.
We understand that Software Engineering is, ultimately, an engineering discipline. We apply rigorous Type safety constraints and data validations. We do not shy away from advanced technologies or unorthodox decisions, such as discarding snapshot tests for React testing, not using an ORM, rigidly enforcing type constraints, running a ReasonML service in production, and utilising Postgres Check constraints, when they help us achieve our goals. We strive to use the best tool for the job, and aim to articulate our technical innovation with data.
To encourage both innovation and constant self improvement, we have adopted a number of Engineering Development Initiatives at Flock.
Engineers are encouraged to contribute to Open Source software. All Open Source contributions go through our Tech Lead (Abe) to avoid the potential loss of sensitive IP. To encourage contributions, all projects open sourced by an engineer under the Flock brand are judged quarterly (the best contribution being rewarded with a prize). Engineers are encouraged to write blog posts under Flock’s Tech blog. Time is also provided at work to share our insights with the community. We run quarterly Hackathons, to empower team contributions and experimentation.
To minimise friction and allow rapid progress, we ship to production continuously. To facilitate this, we feature flag as a matter of course, and ensure that production is stable. We have state-of-the-art monitoring infrastructure, and all engineers will be on rotation to help ensure the stability of our systems. We understand that failure is an inevitable part of life and do not hesitate to revert bad changes. We share what went wrong, and take pride in learning from our mistakes to facilitate growth.
Pair-programming should be practiced frequently to solve issues when team members are blocked. We understand that we are writing code for others, and ensure that our code is comprehensible by our co-workers. We are all responsible for teaching the rest of our team and sharing as much of our knowledge as possible. We succeed or fail as a team. All successes are celebrated as if they are your own.
If the environment described here sounds like it’s just right for you, let us know. We’re on the hunt for London’s best and brightest engineers. Join us!
Flock is a London-based, Government- and VC-backed ‘insurtech’ startup, pioneering the use of Big Data in drone insurance.
We are on a mission to make the world a safer, smarter place.We have built the world’s leading data-driven risk intelligence and insurance technology for the drone industry. Our first product is a a simple mobile app to quantify, mitigate and insure drone flight risks (in partnership with Allianz).
Flock recently closed a £2.25M Seed round led by Anthemis, alongside Silicon Valley’s Plug and Play. We are now expanding its London tech team to take on some of the biggest engineering challenges in insurance.