Position: Lead frontend engineer
Company: focaldata.com
Category: JavaScript
Experience required: 5y
English level: upper
Published: 2021-06-01T00:00:00+03:00

Our mission
Our mission is to build an intelligent system for understanding consumers that powers better decisions by the world’s most important organisations. We provide our customers with more accurate and granular predictions in a shorter turnaround. Our customers span a wide range of diverse industries - from retail, to politics.

About the company
We are a remote-first company who use machine learning to understand public opinion better than traditional polling. Our insights empower campaigners, governments, brands and CEOs with cutting-edge analytics on consumer opinion, helping them make better decisions. Our work has been featured in various media outlets: for example, Channel 4 News, Wired Magazine, the Financial Times, and The Economist, to name a few.

Winner of a CogX award for best AI product, we have raised over £1.4m in funding from the founders of Zoopla, LoveFiLM, Alchemy Partners.
About our technology

Our customers craft their own surveys and explore their results using our slick web application. The majority of this stack is written in TypeScript, React + GraphQL. Our backend is mainly written in Scala, using different types of databases including but not limited to Postgres, Redis and BigQuery. We have adopted GitOps, using Git as our single source of truth, to manage all our applications, infrastructure, access rights and deployments, all running on Kubernetes. Our architecture is based around the concepts of microservices using a pub/sub approach for service communication.

Downstream of this, our data scene pipeline is able to ingest the survey data we’ve collected to infer public opinions onto a synthetic proxy of the national population. The majority of the data science pipeline is written in Python. We use Apache Spark, Apache Beam and Google Dataflow to transform the massive amounts of data from our model predictions to make it accessible to our analysts and clients.

We believe in modern software engineering principles, including DevOps, SRE and agile software delivery practices. This ensures that our customers are happy and the continual growth of our engineering team.

Here are some of the projects and some of our big engineering challenges we are working on right now.

Processing survey responses in real-time to analyse and transform the data for downstream services (billing, monitoring, real-time data visualisation), making it instantly available to our customer-facing application, and also feeding our machine learning pipeline. 
The automation and optimisation of a data quality system that uses machine learning and real-time analytics to provide best-in-industry data at a competitive price point.
Optimise our respondent and market research web application for speed, usability and user experience, and make sure we’re reusing code between the two so we meet the ever growing expectations of our customers and users. 
Automating the feedback loop between deployment pipeline, software and infrastructure, so that our team will know of software defects before they reach production and before our customers notice.
Making sure we create a good foundation for a future customer support infrastructure where it’s easy for us to extract relevant customer pains and include them in the development cycle.

What you’ll be doing:
50% coding /  25% architecture & delivery-breakdown / 25% building and leading a team
You will have the opportunity to build the frontend team from the ground up
Set the bar for the software engineering level and the craftsmanship behind it 
Establish the best practices and habits that will inspire and guide the team in doing their best work
Develop and maintain the front-end part of our solutions, thereby being an instrumental part of a high growth business
Mentor and develop our junior team members 

What we’re looking for:
You have 5+ years of experience working as a full-stack or front-end engineer.
You are an expert in TypeScript (preferably), and if not JavaScript and another object-oriented programming language.
You have developed and maintained the code of large-scale applications.
You have a very strong working knowledge of React and the JavaScript ecosystem.
You have experience using CI/CD tools and processes.
You have experience with cloud infrastructures like GCP, AWS or Azure.
You are looking to build and lead a team and gain experience mentoring and coaching less experienced engineers.
You know what it takes to build on code that is running in production
You are as comfortable getting hands-on as taking a step back and thinking strategically, proactively identifying issues and opportunities and tackling them without being told to do so.
Nice but not necessary
Experience working in either a growth-focused startup or tech organisation.
Expertise in design thinking, user interface design and/or user experience design.
Some familiarity programming in Python, Scala or Java.
Experience in GraphQL or developing RESTful APIs.
Expertise in visual design as well as in using tools like Photoshop, Illustrator or Fireworks.
You have functional programming experience, preferably in React