Full-Stack Software Engineer
Are you an experienced Software Engineer who enjoys innovative Full-stack Web Development? Take an active role in software development and service operations, joining a dynamic team using cutting edge technologies, for a large open source project used by thousands of users every day all around the world. Work at the heart of digital research publication and archival, at the largest particle physics lab in the world. CERN, take part!
You will join:
The Digital Repositories (DR) Section, in the IT Department, which is responsible for activities related to the archival of CERN's research. In particular, you will be part of the CDS (CERN Document Server) team. CDS is CERN's institutional repository where all research output and other related objects (articles, videos, photos, audio, etc) are archived, preserved and disseminated. CDS is an open source product and it is being developed in-house based on Invenio http://invenio-software.org/, an Open Source Digital Library Framework that was born at CERN, and it is used world-wide by many partners in order to run services like Institutional Repositories, Integrated Digital Libraries, Research Data Repositories and Multimedia Archives.
More information on the IT Department is at: http://cern.ch/it-dep.
As a Software Engineer in the CDS team, you will be involved in:
- The development of new modules and functionalities for the CERN Document Server as well as contributing to the Invenio Digital Library Framework.
- DevOps activities - the configuration, deployment and maintenance activities of the CDS service.
- Providing support to CDS users and sharing expertise with the Invenio developer community.
- The management of code contributions following an Open Source development model.
- Possibly supervising team members on short-term contracts.
- Demonstrated experience with the full-stack development of large software projects, preferably for the web, involving design and development of user interfaces, web application back-ends, front-ends and database schema management.
- Experience with user relations, user support, user training and user requirements definition.
- Experience in service deployment, configuration management and operation.
- Design of databases/repositories: experience with Database Management Systems (PostgreSQL in particular) and Object-Relational Mapping libraries (e.g. SQLAlchemy); experience with Elasticsearch and Redis is a plus.
- Knowledge of system configuration tools: knowledge of container-based technologies and platforms (e.g. Docker, OpenShift) is a plus.
- Front-end development: demonstrated experience with web UI technologies; experience with toolkits such as SASS, Twitter Bootstrap and React; knowledge of User Experience and Usability practices.