Full-Stack Software Engineer
Background information and position description
CERIC-ERIC is an open multidisciplinary Research Infrastructure for basic and applied research in the fields of Materials, Biomaterials and Nanotechnology. With a single entry point to excellent facilities mostly in Central and Eastern Europe, it allows structural investigation, analysis and synthesis of materials, using photon, electron, neutron and ion based techniques. It enables the delivery of innovative solutions to societal challenges in the fields of energy, health, food, cultural heritage and more.
In the ERA (European Research Area) of Open Science, research infrastructures and communities are now changing their scientific data practices and data governance models to adopt and implement FAIR Data principles (Findable, Accessible, Interoperable and Reusable). CERIC has the ambition make all data from the experiments performed by users FAIR and open.
Required skills and experience
The Full-Stack Software Engineer will be working closely with CERIC ERIC IT Team and the IT teams of CERIC ERIC Partner Facilities in the development, integration and operation of complex data ingestion and data management tools and services for CERIC ERIC Users. He will work on developing and implementing various data visualization tools, using different techniques and technologies to support external users conducting experiments, as well as our internal business units.
Specific responsibilities include:
- Design, develop, and test software (mostly web based applications and services);
- Engage with the users, control systems and data acquisition teams (data sources/data providers) to accurately capture the requirements and constraints and help building interfaces and APIs for the specific tools used during the scientific research experiments. (API’s, web based, data visualizations);
- Participate in the integration, development and operation of the file/data cataloguing solutions and helping CERIC facilities with the necessary APIs, data transfer mechanisms or other tools and connectors that could be used to extend and improve the functionality of the data cataloguing system;
- Re-use, refactor, integrate, and/or port any existing software required to provide extra functionality and better services to users;
- Knowledge and application of software life-cycle tools and procedures. As the system will work with multiple (tens-hundreds) of Terabytes of data per day, all software maintenance operations should follow also the facility maintenance strategy;
- Use front-end techniques like semantic and accessible HTML, CSS, JavaScript (ES6+), and HTML5 APIs to build different web-based interfaces for the CERIC systems and services.
- Maintain, support, and enhance existing (legacy) systems;
- Good understanding of virtualization (dockers, Kubernetes etc)
Essential requirements
- Computer science degree in Information Technology, Software Engineering, Computer Science, Science or a related field or at least 5 years of experience in similar position, covering both front- and back-end development;
- Experience in software development of web applications (using Java and .NET, PHP, python, SLQ/MongoDB and CI/CD pipelines, together with frameworks in their respective ecosystems);
- The ability to communicate effectively presenting the technical solutions;
- Detail- and results-oriented, with strong analytical, organisation and time management skills with the ability to collaborate with different teams and users types (technical/non-technical);
- Experience in working with international distributed teams in a lean/agile environment.
Technical skills.
- Good knowledge of one compiled language (e.g. Java, C#, C/C++, …)
- Good knowledge of one interpreted language (e.g. Javascript, Python, PHP, Ruby, …)
- Good knowledge of the OOP programming principles
- Good knowledge of a markup language (e.g. Html, Xml, CSS, …)
- Good knowledge of software design patterns
- Basic knowledge of widespread web architectural patterns (e.g. MVC, MVT, SPA, …)
- Basic knowledge of the testing theory and testing/development methodologies (e.g. BDD, functional, unit testing, …)
- Good understanding of container technologies, like docker
- Basic knowledge of Linux systems and Linux development
- Extract and visualise data in forms, reports, and dashboards. (Grafana, Kibana and basic Elasticsearch Logstash Kibana stack would be a plus)
- Ability to work with multiple database technologies including technologies like Oracle, MariaDB, MySQL, Influx DB, MongoDB
- Ability to use object-oriented programming languages (e.g. Python, Java, C#,);
- Knowledge of version control systems, particularly Git (ideally, experience with CI/CD)
- Use front-end techniques like semantic and accessible HTML, CSS, JavaScript (ES6+), and HTML5 APIs. (also frameworks such as React)
- Experience in designing and testing software (mostly web applications and frameworks)
What we offer:
- Salary commensurate with experience and skills.
- Additional annual remuneration (bonus linked to performance).
- Benefits: 33 days of holidays per year, flexible working time.
- Medical insurance.
- Training possibilities.
- Canteen vouchers.
- Possibility to work partially remotely.
How to apply
To apply for this job, please send your CV and a motivation letter by email to hr@ceric-eric.eu with the following subject: Full-Stack Software Engineer. The position will be open until a suitable candidate will be found.
Deadline for application: 12th of March 2024
For further information, please contact Teodor Ivanoaica at teodor.ivanoaica@ceric-eric.eu
-
12.04.2024
Executive Director