Software Developer in
London
or Remote

Job Description

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 two 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 thirty with about a dozen
developers, based mainly in and around the UK and in the US.

About
half of our development team joined us through our acquisition of
ShareLaTeX, another major online LaTeX editor, last summer, and we've
now integrated the two teams.

Our Tech

Overleaf
is based on open source software, and following our integration with
ShareLaTeX, around 80% of our product code is itself open source. You
can find it on GitHub: https://github.com/sharelatex/sharelatex

We
currently have two overlapping tech stacks, one from Overleaf and one
from ShareLaTeX. We are working on merging them together into "Overleaf
v2", which is now in public beta (https://www.overleaf.com/help/342) and
will launch in time for the fall academic term in September 2018.

Overleaf
v1 has a Ruby on Rails backend using PostgreSQL and redis, hosted
mainly on Heroku. We also have several node.js services that we've
extracted from our rails monolith. On the frontend, recent development
has been with React in ES6, bundled with webpack.

Overleaf v2 and
ShareLaTeX run on a node.js backend using MongoDB and redis, hosted
mainly on Linode and managed with Chef. Here we use a microservice
architecture, with about a dozen services. Mainly our code is written in
CoffeeScript, but new code is being written in ES6 where possible. On
the frontend, we mainly use Angular v1, with some newer components being
written with React.

We use Docker to manage our development
environments, and our devops team is currently working on moving our
production infrastructure to Kubernetes. 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 by King's Cross station for those in the London area, and we get
the whole team together in London several times a year for face-to-face
time.

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

We don't yet have standing teams, but we form and
dissolve smaller teams on a per-project basis; we try to give everyone
the opportunity to serve as a team lead if they want to.

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 up to three developers to our team, two with a backend
focus and one with a frontend focus. Full stack developers are also very
welcome to apply.

This year, you will work mainly on our
integration projects — building out Overleaf v2. Here are some examples
of projects (large and small) we've recently completed, to give you an
idea of what you might work on:

Post-integration,
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 one week from when we receive it.

We'll
schedule a short video or voice call to discuss your application. This
is a non-technical screening call, up to 30 minutes long, in which we
get to know each other and assess whether there may be a good fit. In
particular, we'll discuss logistics and your ambitions and expectations,
and we may ask for clarifications on your application. This is also an
opportunity for you to ask questions.

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.

Experience
with the technologies we use is always a bonus, 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.

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.

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 a biweekly internal seminar series (show and tell) 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.

We use our own cookies and cookies from third parties to measure your activity in this website and improve the service through analysis of your browsing activity. If you continue browsing, we consider that you accept their use. You can change this configuration and obtain more information here.