Atom Learning is an online learning platform that is making education fairer. We want to provide all children whatever their background and wherever they are in the world with an affordable, high-quality education. To achieve our goal, we are combining exceptional teacher-made content with machine learning to keep students on their optimal learning paths. Atom Learning is growing rapidly with hundreds of schools in the UK and abroad using the platform and thousands of independent subscribers.
We are ranked one of the UK's top 100 startups by Startups100, are a finalist for the AI Award in the Lloyds Bank Business Awards, won the Best AI-based Solution for Education in the AI Breakthrough Awards, were a finalist in the Education Investor awards 2018 and Amazon Growing Business Awards 2018 as Young Company of the Year. We are a growing team of 75; we have big ambitions and anticipate doubling in size over the next 18 months.
About the role:
Atom Learning is looking for an experienced Node developer (mid/senior) to join our growing engineering team. You will be responsible for expanding, refactoring and maintaining our microservice back-end to support the rapid growth of our products. You will work on new features for end-users, as well as internal services for the Atom Learning team.
Our engineers re-invent education by working in cross-functional, autonomous pods. Each pod is self organising and adopts Scrum or Kanban depending on their unique challenges at the time. Our back-end microservices are built using Node & Typescript with a strong focus on testing and good engineering practices. Our front-end is built using React & ESNext, with CSS/HTML and testing in Jest using the React Testing Library and Cypress. Responsibilities:
Need to have:
- You will develop features using NodeJS, Typescript and NestJS;
- You will test the codebase using Jest;
- You will assist in designing and architecting our systems to improve performance scalability;
- You will participate in code reviews to maintain our coding standards;
- You will analyse and organise technical work to deliver measurable product improvements;
- You will document your work and share this across the engineering team; and
- You will take responsibility for mentoring junior engineers in the team.
Nice to have:
- 4+ years Node experience, OR 3+ years typed language experience and 2+ years Node experience;
- Ability to write clear, readable code;
- Ability to create reusable solutions to fulfil a brief and support future changes;
- Extensive experience using Typescript in production applications;
- Good working knowledge of OOP design patterns;
- Experience implementing code using SOLID principles and achieving these in a Node/TS ecosystem;
- Experience designing REST APIs and knowledge of REST principles;
- Good understanding of relational database design;
- Experience writing automated tests; and
- Experience mentoring junior engineers.
- Keen interest and understanding of the value of testing;
- Experience in best development and testing practices;
- Product-oriented and pragmatic mindset;
- Demonstrated open source/community contributions (or similar); and
- Highly motivated contributor with excellent teamwork skills.
- Competitive compensation with 6 month pay reviews
- Flexible / fully-remote working
- Work abroad up to 3 months at a time
- Full auto-enrolment workplace pension
- High degree of autonomy and opportunity to become an integral member of a fast growing start up
- Huge learning opportunities from experienced developers as well as exposure to all business areas of a start up
- Opportunity to learn new technologies, including machine learning
- Frequent team dinners and drinks
- Office in Old Street
- 28 days holiday + bank holidays
- Enhanced parental leave
- 20 minute interview with co-founder
- Technical test
- 1 hour interview with tech lead and CTO
Node.js, TypescriptNode.js, Typescript, MySQL, Jest, REST