Backend Engineer - Apache Kafka at Memrise, Remote, 3 Months, £Contract Rate

up to 6 Months

Contract Description

Backend Engineer - Apache Kafka - 3 month Contract

  • London, EN
  • 1 day ago
     
    remote

We are looking for a Backend Engineer

This is a great time to join our team. We are rolling out a completely new learning experience and doing some fascinating work in using the world’s video content to immerse people in the languages they are learning. We are seeking someone who listens to others, offers their own wisdom, and then rolls up their sleeves to do the work, bringing others along with them.

Can you tell me more about Memrise’s tech?

Our backend is primarily Python with some Django, hosted in the cloud using Kubernetes. All our infrastructure is configured with Terraform, and we have a continuous deployment pipeline for most systems including the backend and website. Currently, we’re using MySQL but are looking at re-architecting our database as part of company ambitions to significantly scale our product and content.

 

Key Responsibilities:

  • Develop and maintain applications using Kotlin.
  • Design and implement data processing pipelines with Kafka and Kafka Streams.
  • Deploy and manage applications in Kubernetes environments, utilising StatefulSets.
  • Create and manage containerised applications using Docker.
  • Collaborate with cross-functional teams using Git for version control.
  • Work with relational databases like MySQL and PostgreSQL.
  • Implement caching solutions using Redis and other caching techniques.
  • Apply CQRS (Command Query Responsibility Segregation) and Event Sourcing patterns in system design.
  • Create highly observable services, preferably using OpenTelemetry.
  • Optimise application performance and scalability.
  • Adapt to new technologies and methodologies as required.

Requirements

Essential Skills:

1.      Proficient in Kotlin programming language.

2.      Strong experience with Apache Kafka and Kafka Streams.

3.      Hands-on experience with Kubernetes, especially StatefulSets.

4.      Proficient in Docker and containerisation concepts.

5.      Solid understanding of Git and collaborative development workflows.

6.      Experience with relational databases (MySQLPostgreSQL).

7.      Knowledge of Redis and various caching techniques.

8.      Familiarity with CQRS and Event Sourcing architectural patterns.

9.      Experience in creating highly observable services, preferably using OpenTelemetry.

10.   Must be adaptable and eager to learn new technologies.

Nice to Have:

1.      Experience with Python, ideally with the Django framework.

2.      Knowledge of WebSocketsServer-Sent Events, or MQTT for real-time data communication.

3.      Experience with NoSQL databases.

4.      Familiarity with dbt (Data Build Tool).

5.      Understanding of Apache Iceberg.

6.      Experience with Graph Databases.

7.      Knowledge of Large Language Models and Retrieval Augmented Generation techniques.

8.      Experience with Apache Flink.

Soft Skills:

1.      Strong problem-solving skills and attention to detail.

2.      Excellent communication and teamwork abilities.

3.      Ability to work in a fast-paced, agile environment.

4.      Self-motivated with a strong desire to learn and innovate.

5.      Adaptable to changing technologies and project requirements.

Benefits

Who are we?

Memrise is a popular and established global language learning tool, with a unique brain-science-backed pedagogy.

We want to make people’s lives better by helping people learn to hold a conversation with, and genuinely understand native speakers in a multitude of languages.

We believe that better communication between people across the world from different backgrounds will contribute towards making it a better place.

With over 60m user accounts, an App Store rating of 4.7/5 and Google Play rating of 4.6/5 from 1.5million reviews, and millions of daily active users, we’re an ambitious digital company in the exciting and ever-growing EdTech industry.