Open Source Developer (React, Node.js, Electron)

We are now seeking a JavaScript Developer ideally with Node.js experience to work on the development, automation, monitoring, architecture and testing of Texture, a word processor for structured content, that we are co-developing with other organisations and publishers.
eLife jobs

Closing date for applications is May 31, 2019.

You’ll join a small and enthusiastic team who are passionate about continuous improvement and software quality. Things like TDD/BDD, continuous delivery, strong collaboration and DevOps are part of our culture. We’re looking for someone to add to the team in Cambridge, working closely with our partners in Austria, providing a key contact for integration between the two teams. You’ll also be working closely with our Product, Production Operations and Editorial Teams, and with scientists, authors and other users to ensure we build the best possible product with the best user experience.

Experience and attributes

You care about software systems and you believe development involves a lot more than just computers, configs and code. You know getting the best out of a system comes from strong collaboration with the people using it; both on the user side and with the other people in your team. You have worked with user-facing products and keep abreast of the latest updates in the OSS and JavaScript communities. You have used React or similar frameworks and can see the relative advantages and disadvantages of using them. You have experience in developing offline-first web-applications, which can run locally on a desktop or be embedded into online platforms utilising cloud infrastructure. You have experience with creating web-based content editing experiences using Native Web API’s (contenteditable) or editor frameworks (Substance, ProseMirror, TinyMCE, WikiMedia VisualEditor, Draft.js). You care about open-source software and see the value in contributing to the community so that you can help make a difference.

Specific responsibilities

This is a unique opportunity to have a significant role in the development and adoption of this product and help make it available for the scientific community. With a mixed range of skills and experience in the various teams working on this product, you’ll have people to learn from as much as people to help mentor, with a friendly atmosphere that encourages everyone’s development.

Our submission and peer review system uses Node.js, React.js and Docker for deployment to Kubernetes on AWS. We have other production systems that use Node.js, React.js, Python and PHP and we’ll be integrating Texture into these systems using common deployment and hosting tools. We’d be interested in you if you’re from any background as long as you have a keen understanding of good development practices but experience with test driven development and different forms of automated testing is a bonus. While your role will involve primarily client-side JavaScript development, you may also work with other technologies in our stack:

  • Open languages and frameworks (Node.js, Express, React, GraphQL, Webpack, SASS).
  • Infrastructure is defined in code and automated using Terraform, Kubernetes and SaltStack.
  • Relational and document databases (Postgres, Redis, Lucene, Elasticsearch).
  • Portable, open server technology (Docker, Docker Compose, Kubernetes, Vagrant, Nginx).
  • Open-source continuous integration and testing (Selenium, Mocha, Jenkins).
  • Monitoring, logging and metrics (New Relic, BigQuery and Loggly).

We use hosted web services and existing tools when we can unless it makes our software less open and not as easy to reuse. We spend our time adding value not doing something that has been done well before.

Terms and conditions

We are a well supported, not for profit, mission driven organisation. We have a deeply open culture, and ideas are welcome from across the company, so you’ll get the chance to really make a difference. eLife is a great place to work if you care about science, and our modern office environment means you can vary how you like to work. Our approach to flexible working and ability to work well remotely suits people with commitments outside work or returners. The smaller size of the team means you’ll be able to get involved in many aspects of technology, innovation and scholarly publishing. We also offer:

  • A competitive salary and benefits.
  • 25 days holiday, plus bank holidays.
  • A communicative and inspiring working environment.
  • A newly refurbished and employee designed modern office near the centre of Cambridge, with cycle parking, shower facilities, standing desks, informal working or relaxation areas, free fresh fruit, a fancy coffee machine and snacks in the kitchen.
  • A sociable and friendly team with interesting social events and staff membership to University Botanic Gardens.
  • The latest in computer equipment, Herman Miller chairs and regular conference visits.
  • A flexible approach to working hours and remote working.
  • Company pension scheme.

Please send your CV and a covering letter explaining your enthusiasm for this position and why you are a great person for this role to If you get stuck on what to write then here are some suggestions:

  • Why you would like to join eLife.
  • Where you found us (a job ad, on Twitter, a conference, meeting one of us).
  • Information about any your interesting GitHub, Bitbucket etc. accounts.
  • Any blogs and email groups you read or would recommend.
  • Any communities and events you attend or are involved with.
  • Any books you’ve read that stood out.
  • Links to Twitter/LinkedIn/personal websites/blogs that you’d like us to read.

We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, colour, national origin, gender, sexual orientation, age, marital status, or disability status.