Software Developer - remote

Overleaf
Posted 3 years ago
What We Do

Overleaf is a startup and social enterprise that builds modern collaborative authoring tools for scientists — like Google Docs for Science. We have over six million registered users from around the world. Our primary product is an online, real-time collaborative editor for papers, theses, technical reports and other documents written in the LaTeX markup language.

Who We Are

Overleaf was founded by two mathematicians who were inspired by their own experiences in academia to create a better solution for scientific collaboration and communication. Now we are a team of about forty with fifteen developers, based mainly in and around the UK and in the US. We were recently recognised as one of the UK's top 100 fastest growing businesses and as the Best SaaS for Nonprofits or Education in the 2020 SaaS Awards Program.

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 (note: most activity is in the repos linked from there).

We run a mainly Node.js back end using MongoDB, PostgreSQL and Redis. We use a microservices architecture, with about a dozen services. On the front end, we mainly use Angular v1 and are incrementally migrating to React.

We're hosted on Google Cloud Platform using Google Kubernetes Engine. We use Docker to manage our development environments. We support continuous delivery and typically deploy at least a few times a day (less on Fridays).

How We Work

Overleaf is remote-first — all founders and staff work remotely. We also have an office in Farringdon for those in the London area, 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.

We encourage flexible working. Our core hours are 2pm–5pm UK time, during which our development teams have 10–15 minute daily standup calls. We have few standing meetings for developers, but we do many smaller video or voice calls for pairing or within teams.

We always collect user feedback to inform our work. We have UX professionals on our team, and we run many surveys and user interviews.

We organize our work with Kanban. We use GitHub pull requests for each feature with code review to share knowledge and best practices (and catch bugs). We test thoroughly with automated unit and acceptance tests, supported by continuous integration (CI). We're also fans of linting to minimise bike-shedding (and to catch bugs).

About This Role

We plan to add two developers to our team, both with a backend focus. Experience with some of Node.js, MongoDB, PostgreSQL, Redis or Kubernetes is desirable. We are also particularly interested in meeting you if:
  • you'd be interested in taking up a team lead role in the not too distant future, or
  • you have experience with setting up data pipelines for web analytics and/or business intelligence.
Key projects on our road map this year include:
  • Improve our B2C conversion metrics and monitoring — we'll be setting up a new web analytics system to generate insights we need while continuing to respect user privacy
  • Consolidate our two project history systems — we currently have two from our integration with ShareLaTeX in 2017, each with hundreds of TB to be consolidated
  • Make our project PDF preview faster and less bandwidth-hungry — we have prototypes showing big wins that now need productionizing
Here are some examples of projects (large and small) we've recently completed:
In the longer term, we are planning projects around improved collaboration features for teams, improvements to our rich text mode, and more.

How We Hire

The stages in our hiring process are typically:
  • We will aim to update you on the status of your application within 14 days from when we receive it.
  • We'll follow up by email (or sometimes schedule a phone call) with any questions we have about your application, usually around logistics, your ambitions and your expectations about the role.
  • We'll schedule a more in-depth interview, which is typically two hours long. The first hour is discussion, and the second hour is technical. For the technical, you'll have the option of either completing a homework assignment, which requires about one hour of your time before the interview, or solving a problem in the interview, if you prefer. The problems are practical in nature (no fizz-buzz or reversing linked lists), and you can use Google, man pages, etc., and ask us questions.
  • We'll make an offer. We usually interview in batches, so there may be a short delay while we interview other candidates, but we will try to keep you informed throughout the process.
  • If you have a deadline, please let us know in your application, and we will try to be accommodating.

    Requirements

    We require that you:
    • have a minimum of 2–3 years of relevant experience (we aren't taking on more new graduates at the moment).
    • will work for us full time (or nearly full time).
    • will usually be available in our core hours, 2pm–5pm UK time. Applicants in US, UK, Canada or Europe are preferred.
    Experience with the technologies we use is always a plus, but you don't need to know them all;your ability to learn is much more important to us.

    Benefits
    • Remote and flexible working.
    • Salary £40k–£75k per year depending on experience.
    • You would join a small, dedicated and growing team.
    • We're substantially (around 80%) open source, so your work will often be on open source code.
    • We're backed by Bethnal Green Ventures (https://bethnalgreenventures.com/) and Digital Science (https://www.digital-science.com/), through which we're part of a wider community of startups in science, health and ed-tech.
    • Our London office is shared with several other Digital Science companies, so there's lots of interesting people to meet, and clubs and sports activities outside of work.
    • We get everyone together in London for team meetings several times a year for valuable face-to-face time (pandemic permitting).
    • You can pick your own equipment. MacBook Pro? Lenovo ThinkPad? Notebook and pen? However you like to work, we'll provide what you need.
    • We provide a training budget;many of our developers choose to attend relevant industry conferences or buy training materials.
    • We run quarterly remote hackathons to keep learning and experimenting.
    • We run a weekly internal seminar series with short talks from staff about their work or personal projects, new technologies and techniques.
    We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.