Senior Full Stack Developer
We are a small London startup with the ambition to change education with ML-powered tutoring. Our flagship product is a mobile application for teaching English to intermediate and advanced learners.
We're on the verge of solving one of the biggest challenges in education – making high-quality, personalised learning accessible to everyone. What was once technologically impossible is now within our grasp.
We're looking for a Senior Full Stack Developer to join our growing development team.
What you will do
- Design and implement a new high-scale system for millions of users.
- Build convenient CI/CD processes and testing pipelines to support quick iterative development and system stability.
- Work on ML model development with our team to build robust data pipelines and deploy ML models.
- Analyse large corpora of data and build real-time recommendation systems.
- Work with large amounts of data in different modalities (text, video, images, audio)
- Work in a very cross-functional team, side by side with mobile developers, product managers, ML engineers, and designers.
Essential skills
- Build high-load applications from scratch.
- Deep knowledge of AWS.
- Architecture planning and estimation skills (time, users, traffic, money, algorithmic complexity, cache, etc.).
- Architecture scalability and simplicity.
- Research skills (new APIs, libraries, services, and their estimations).
- CI/CD automation pipelines.
- Proficiency with Terraform and Docker.
- SOLID, KISS principles, decomposition principles, and resolving monolith vs. microservices trade-offs.
- Experience with SQL and NoSQL databases.
- Best practices in building scalable mobile APIs (REST, etc.).
- Good principles of security management (secrets, protocols, etc.).
- Experience with some Python web frameworks (Django, Flask, FastAPI, etc.).
Desirable Skills
- Can speak, or learning to speak, more than one language
- Experience with real-time databases.
- Experience with in-memory databases.
- Experience with frontend frameworks.
- Experience in developing educational products.
- Knowledge-sharing experience (tech talks, articles, YouTube videos, etc.).
- Experience (even non-production) with different types of programming languages: interpreted, compiled, with garbage collection, manual memory management, reference counting memory management, etc.
What we can offer
- A real-deal startup adventure: you'll be hopping on a major project while it's still in the works!
- A crew all about people and products.
- Work from our London office.
- Freedom to suggest, implement, and test ideas.
- Unlimited learning & development budget.
- We also offer substantial relocation assistance to support your move, if required.
Interview Process
- Intro call
- 3 technical interviews, which will all cover
- Problem Solving
- Architecture Design and Product Design
- Domain/Platform Knowledge
After all interviews, we would like to invite you to work with us in our London office for 1-2 paid test days. If everything goes well, we will make an offer to the successful candidate.