Senior Software Engineer for data processing in JAVA
Company Details
DEIMOS Space is looking for enthusiastic and proactive candidates to integrate within our Data Processing Division, in Spain. This is a fantastic opportunity to join a growing, innovative, employee-centred business in the space industry.
The candidate shall be part of a team designing and implementing JAVA software to process on-ground the input data that is received from several instruments on board METOG-SG.
Main Duties:
- Perform the design, implementation and validation of several METOP-SG instrument ground processors (in JAVA) and integrate them into the ground segment framework.
- Interact with the customer and DEIMOS Technical Manager for specification, design, development, validation and maintenance of the instrument processor. This may include holding meetings in other European countries.
- Periodically report the technical status to the project manager and contribute in a proactive and resolute manner to the success of the project.
Education:
- Required: a recognized degree in engineering (computer science, telecommunication, electrical, aerospace, or similar), physics or mathematics
Professional Experience:
- At least 3 years of endorsed experience in JAVA development are mandatory
Technical Requirements:
The following skills are required for the post:
- Solid knowledge of Object-Oriented Programming (OOP)
- Good level of JAVA 8
- Java Stream
- Lambda functions
- Advanced usage of Generic Types
- Solid knowledge of Software Design Patterns. Should know some of them such Adapter, Strategy, Future, etc
- Knowledge of development of software using Dependency Injection and Dependency Inversion
- Experience working with unit and integration tests. Preferable experience in working using Test Driven Development (TDD).
- Knowledge of Java JUnit test framework and/or TestNG. Should know at least Junit
- Knowledge of Java Mockito test framework.
- Should have experience in working with Maven build framework (required only for one profile, not all)
- Experience in using Git. Should have good knowledge how Git works, how to start the assigned work, how to prepare the working branch to do a pull request, how to do pull requests, how to do a merge of a working branch in the develop branch.
Other skills that will be considered as assets for the post are:
- Apache Storm, Kafka, RabbitMQ.
- Experience in working with AGILE methodology
- Experience in working with JIRA
- Experience in SQL.
- Experience in Docker.
Language Skills:
- English, Spanish
Personal Skills:
- Capability to integrate in a work within a multidisciplinary team, in a collaborative environment with fixed schedule and inter-dependent relations
- Initiative and rigor, commitment and reliability in the execution of the assigned tasks.
A few benefits you will get if you come to work with us:
- Innovative and leading-edge technological projects.
- Nice working climate in a multicultural environment.
- Annual specialised training plan: technologies, soft skills and languages.
- Flexible working hours and remote work several days per week.
- Team building activities: Christmas dinner, football matches, paddle tournaments, cycling routes…
- Relocation package, if you come from another country.
- Coffee, biscuits and fruit are available at your disposal.