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

We are now seeking a TypeScript / Node.js Developer ideally with React experience to work on the development, automation, monitoring, architecture and testing of Libero a product we are co-developing with other non-profits and publishers.
eLife jobs

Closing date for applications is February 22, 2020.

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 has experience and is willing to learn as well as contribute to the community in regard to best practices, key libraries and idioms.

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 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.

Libero consists of different components which use Node.js (+TypeScript) on the server and React.js or JavaScript in the browser. For deployment, Docker and Kubernetes on AWS. The architectures we utilise have many distinct services that communicate using HTTP and message queues, all hosted in AWS. 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 Helm.
  • Relational and document databases (Postgres, Elasticsearch).
  • Portable, open server technology (Docker, Docker Compose, Kubernetes, Vagrant, Nginx).
  • Open-source continuous integration and testing (Selenium, Mocha, TravisCI).
  • Monitoring, logging and metrics (New Relic, BigQuery and Loggly).

Specific responsibilities

This role is specifically to join the Cambridge team who are building a new open-source, publishing 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 Publishing Teams. 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.

Terms and conditions

The post is a permanent position, 37.5 hours per week, and offers a competitive basic salary and benefits. The post holder will be required to work at the eLife office in Cambridge (UK), and applicants must be able to demonstrate the right to live and work in the UK to be considered for the vacancy.