Data Engineer

Job description

We are looking for a flexible professional to join our mixed hybrid and remote Data Engineering team following a significant investment funding round. The successful candidate will work with our Research team and other data engineers to extend and improve the search features that power our expert finding service.

We are seeking a candidate that has a passion for building robust and deployable operational systems through solid engineering approaches.

What do I need?

Suitable software development and system engineering experience are required, with a focus on ensuring that systems are well engineered, accurate, robust, and tested. Any experience in search engines, data lakes and knowledge graphs would be a bonus.

Successful applicants will also need to be able to work effectively with a mixed hybrid and remote team.

Job Scope

This is a hands-on role in developing a system for internal users. Your time will be spent:

  • establishing requirements and scoping work;
  • developing new software components and APIs;
  • collaborating with the Research and Front-End teams to provide integrated systems; and
  • deploying new pipelines, deploying pre-trained machine learning models and supporting infrastructure (including monitoring).

Job requirements

Key accountabilities

Accountable to the Product and Connect teams for designing, developing, deploying and maintaining the required features

Accountable to the Research teams for supporting research tasks, maintaining the data pipelines and helping to deploy new features

Accountable to the Team Lead for maintaining good software engineering standards and being proactive in tackling problems when completing work.

Core skills and experience

  • Significant experience in data engineering roles with a significant software engineering component or in software engineering roles involving data, including:
    • extensive experience using Python or Scala
    • experience building APIs
  • Experience of software development with AWS cloud technologies (including Lambda and CloudFormation)
  • Strong software engineering practices (including version control, unit testing and CI/CD tools)
  • Experience of working in an agile environment using Scrum or other process frameworks
  • Experience using Linux
  • Good team working and communication skills
  • Enthusiasm for data projects and knowledge sharing

Desirable skills and experience

  • AWS certification
  • Elasticsearch
  • RedisGraph
  • OpenAPI
  • Knowledge graphs
  • Data/Machine-Learning pipelines such as Apache Spark

Salary and Benefits 

  • 25 days holiday (excl. bank holidays)
  • Flexible working hours and remote working
  • Learning and development budget of a £75 per month
  • Hackathon where you have the freedom to work on any project you want, with the winner receiving a prize
  • All the tech you need to perform
  • Flexible employee wellness perks scheme, including coverage of gym memberships, adult education classes!
  • Annual company retreat, Regular social activities and team building events
  • Cycle to work scheme

Interview process

1. learn more about you!

An initial chat with our TA team to get to know a bit more about you, your background, experience and interests. Also to tell you a bit more about us and the role. If you're interested in going further a take-home challenge will be issued and reviewed for the next step (don't worry this shouldn't take more than a couple of hours to complete) 

2. Interview

During the interview, you will meet members of the tech team. The interview will deep dive into the role with some relevant questions and you will have a chance to showcase your skills and experience.

(there may be a final interview with our CTO, depending on whether he’s able to join the initial interview)

3. Feedback

By this point, we hope that it's good news! But no matter the news, we will provide honest and constructive feedback!