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.
Closing date for applications is March 31, 2018.
eLife is a unique collaboration between the funders and practitioners of research to improve the way important research is selected, presented, and shared. eLife publishes outstanding work across the life sciences and biomedicine and is generously supported by its Founders, HHMI, Max Planck Institute and The Wellcome Trust, who have recently announced the renewal of their funding for a second five-year term until 2022. Since 2012 we have developed an open-source publishing platform and have published over 3000 first-rate research articles.
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. 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.
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 developed distributed systems in Node.js (or similar) and keep abreast of the latest updates in the OSS and Node.js communities. 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.
This role is specifically to lead the development of a new tool that is to be adapted for our usage and built from the very beginning for reuse as open-source software. 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 coordination, development and adoption of this software system and help make it available for the scientific community.
Our other production systems currently use Python and PHP but 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, Redux, Webpack, SASS, Python, PHP). Infrastructure is defined in code and automated using SaltStack.
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.
- Relational and document databases (PouchDB/CouchDB, Postgres, Redis, Lucene, Elasticsearch).
- Portable, open server technology (Vagrant, Docker, Docker Compose, Kubernetes, Nginx).
- Open-source continuous integration and testing (Selenium, Mocha, Jenkins, PHPUnit, Behat, Pytest).
- Monitoring, logging and metrics (InfluxDB/Graphite, Grafana, New Relic and Loggly).
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. The size of the team means you’ll be able to get involved in many aspects of technology, innovation and scholarly publishing. We offer:
- A competitive salary and benefits.
- 25 days holiday, plus bank holidays.
- A communicative and inspiring working environment.
- A modern office in central Cambridge, UK only 10 minutes walk from the station with covered cycle racks, shower facilities, free fresh fruit 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.
- A contributory 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 firstname.lastname@example.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, a conference, a hackday, meeting one of us).
- Information about your GitHub, Bitbucket etc. accounts.
- Any blogs & email groups you read or would recommend.
- Any communities & 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.