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

We are now seeking a full stack Node.js Developer to work on the development, automation, monitoring, architecture and testing of a system we are co-developing with other non-profits and publishers.
eLife jobs

Closing date for applications is August 24, 2018.

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 who can bring a deep understanding of the Node.js community and its best practices, key libraries and idioms.

This role is specifically to join the Cambridge team who are building a new open-source, submission and peer review platform, adapting it for our usage while ensuring it is reusable by the community. You’ll be working within our Technology Team, but working closely with contractors, our partner organisations’ development teams and our Editorial Team. This is a unique opportunity to have a significant role in the development and adoption of this software system 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.

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 distributed systems in Node.js (or similar) and keep abreast of the latest updates in the OSS and Node.js communities. You might have used React.js or similar frameworks and can see the relative advantages and disadvantages of using them. You have spent time using cloud computing and appreciate the flexibility and new services on offer as an extension to the applications you help nurture. 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

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 Python and PHP and this new system in Node.js will share common deployment and hosting tools. The architectures we utilise have many distinct services that communicate using HTTP and queues, all hosted in AWS, so we tend to choose the relevant technology for the task and the people working on it. We’d be interested in you if you’re from any background as long as you have a keen understanding of good development practices. Here’s a summary of some of the technology we’re currently using, but we’re open to new ideas:

  • 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 know not to spend time doing something that has been done well before, so use hosted web services and existing tools when we can, unless it makes our software less open and not as easy to reuse.

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 state-of-the-art office in central Cambridge, UK. The office is walking distance from the station and has covered cycle racks, a car park, shower facilities, standing designs, 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 hr@elifesciences.org. 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.