Your New Role:
We are looking to hire a frontend engineer to help work on our platform. This is a complex web app that allows users to edit their scientific documents in collaboration with others, in real-time.
Initially, your main focus for this will be helping us migrate from Angular 1 to React (a lot of which has been done already) and to switch our code editor from ACE to CodeMirror. In the longer term, we are planning projects around improved collaboration features for teams, improvements to our rich text mode to help non-LaTeX users, and more.
There will be opportunities to work on the backend, so full-stack engineers, as well as frontend engineers, are welcome to apply.
As a Software Engineer at Overleaf, you will be helping to make Overleaf the place where scientists, researchers and academics go to do their best work.
Our Tech:
Overleaf is based on open-source software, and most of our product code is itself open source. You can find it on GitHub: https://github.com/overleaf/overleaf
On the front end, we mainly use React, although we are still migrating some code from Angular 1. On the backend, we run a microservices architecture, mainly in Node.js using MongoDB, PostgreSQL and Redis, running on Google Kubernetes Engine.
How We Work:
Overleaf is remote-first — all staff work remotely and this is part of our values. We also have an office space in London for those that want to use it, and when the pandemic settles down we'll again get the whole team together in London a few times a year for face-to-face time.
Our core hours for meetings are 2pm–5pm UK time; we try to schedule all team meetings during this time, including daily 10–15 minute standup calls and biweekly company update calls.
We always collect user feedback to inform our work. We have UX professionals on our team, and we run many surveys and user interviews. Our engineers work closely with the product team in product trios (PM, engineer, UX) during both discovery and delivery of new features.
Our development process is based on the “Shape Up” model, using 6-week delivery cycles and a 2-week cooldown between them. In each cycle, we have multiple delivery tracks, each with its own tech lead. Engineers move between delivery teams each cycle. We practice code review, invest in automated testing and are big fans of linting.
The stages in our hiring process are typically:
If you have a deadline, please let us know in your application, and we will try to be accommodating.
We require that you:
Benefits: