Position: Java Developer
Company: Qubit Labs
Experience required: 2y
English level: upper

You can join the project that provides free access to millions of research papers as well as a number of information services for researchers, organizations and businesses.

The project has over 40 million monthly active users and storing over 200 million metadata records.

**Responsibilities:**
— Develops, manages, monitors and improves backend services and software processes, especially those for the ingestion and processing of large amounts of data from distributed sources.
— ​Plans, organises, manages and delivers discrete software components
— Contributes to product and performance improvements and optimisation of existing services.
— Participates actively in team meetings contributing knowledge and expertise to assist in decision making when planning software projects.
— Develops robustness into system infrastructure and both proactively and reactively deals with issues.
— Performs recovery of systems/services when needed.
— Ensures quality of new source code.
— Writes automated tests (Unit tests, Integration tests). 
— Engages with collaborators inside and outside the organisation.

**Required skills:**
— 2+ years of experience in backend programming (could be while being at a University;
— Master's degree (or equivalent experience) in computer science;
— Strong Linux fundamentals and scripting;
— Knowledge of the following tools and technologies (Source Code Management (GIT, GitHub), Logging);
— Experience with full stack software development;
— Very good knowledge and experience of working with and querying databases;
— Solid experience of programming in Java and at least one of the following additional programming languages: PHP, Python;
— ​Willingness to learn new things.

**As a plus:**
— Experience working with  frameworks;
— Experience with processing large amounts of data on a cluster, e.g. Spark, Hadoop/MapReduce, Pig, Hive.
— Configuration Management (e.g. Puppet, Chef, and Ansible).
— Continuous Integration, Testing, Monitoring, Containerization.