Note: This role is within the Research and Development team, under the leadership of our CTO, Llion Jones.
We are seeking a versatile and experienced Software Engineer with an interest in applying advanced ML to the problem of second language learning — with an initial focus on second language learners of Japanese, but expanding to other languages in the future. You will work with research scientists and engineers developing new methods and user-facing systems that are powered by AI, but which are aimed at helping learners overcome the difficult challenges of learning a second language.
Note. When applying for this role, please select the “Software Engineer (Language Learning)” option in Google Forms, and make sure that in your cover letter, explicitly write that you are applying for the “Software Engineer (Language Learning)” role to be considered for this position.

Key Responsibilities
- Research and Development of New Methodologies in Language Learning – You will work with researchers and engineers to develop novel AI-based tools for aiding second language learners.
- Full-Stack Product Development – You will develop user-facing web applications that help users acquire second language skills. Examples include, but are not limited to, applications that test and monitor progress on: listening (both narratives and dialogs); vocabulary development; writing skills.
Required Qualifications
- 3+ years of experience in software engineering, with a willingness to work across the full stack.
- Strong proficiency in Python (essential for our ML ecosystem) and experience with a second language like Go, Node.js, or TypeScript.
- Proficiency in Machine Learning.
- Experience with web development frameworks (e.g., React, Next.js, Vue, or similar) to build portals and dashboards.
- Experience working with cloud platforms (GCP, AWS, or Azure) and containerization (Docker).
- Proven experience building and deploying mission-critical, scalable applications on a major cloud platform (GCP, AWS, or Azure).
Preferred Qualifications
- Language ability: It is preferable if the candidate can communicate in English at a level required to collaborate on technical projects with international team members. Japanese language ability is a huge plus, since the role is based in Japan, and the initial focus of this project is on building tools to aid learners of Japanese. If you are a native Japanese speaker, or passed JLPT N1 or JLPT N2, please do mention this in your application.
- As the role is based in Tokyo, Japan, it is preferable if the candidate already lives in Japan, or has lived here before.
- Experience using generative AI technologies like LLMs or AI agents is a plus.
- Experience using AI-assisted coding tools such as Claude Code, GitHub Copilot, Devin, Cursor, etc in software development is a plus.
- Experience designing and managing production-ready APIs and databases.
- Experience implementing DevOps best practices, including Infrastructure as Code (IaC) and setting up CI/CD pipelines.
- Prior interest and experience in second language learning tools is a plus, though not required.
- Please submit your CV and cover letter in English.
- As mentioned, when applying for this role, please select the “Software Engineer (Language Learning)” option in Google Forms, and make sure that in your cover letter, explicitly write that you are applying for the “Software Engineer (Language Learning)” role to be considered for this position.