Software Engineer for Mission Planning

Darmstadt, Germany
Darmstadt, Germany
2017-10-31 13:27:56

Job Description

We are looking for a MSc. or PhD. Software Engineer with some experience in Space Systems. As part of your role, you will be the prime support to the engineering and maintenance of the Mission Planning facility, but you also will provide some sotware engineering support to the rest of the facilities under the responsibility of the Mission Control Applications and Tools Team for one of our main customers - EUMETSAT.

The Software Engineering Activities include (but are not limited to) the following tasks:
- Analysis, software design and following the procurement with external contractors of the evolutions needed in existing mission control facilities to become multi-mission tools with the concept of generic kernel and mission-specific extensions.
- Analysis, software design and following the procurement with external contractors of the evolutions needed in existing mission control facilities to migrate them to state of the art technologies.
- Analysis, software design and following the procurement with external contractors of the evolutions needed in existing mission control facilities to adapt them to the programme's needs for EUMETSAT coming missions.
- Implementation of prototypes, technology research tools and operational tools in the area of Monitoring & Control.
- Study the different approaches for the long-term maintainability of the mission control facilities.


The Software Maintenance activities include the following tasks:
- Preventive and corrective maintenance: including the investigation and correction ( or following the corrections implemented by external contractors) of anomalies in the software facilities and verification testing of the fixes.
- Evolutions and changes: generation and analysis of user-driven and maintenance-driven software requirements, design, following procurement of the changes with external contractors and verification testing of the changes.
- Maintenance test procedures: generation and updates of maintenance test procedures at software facility level and at system level, development and/or procurement of scripts / tools to perform installation checks, non-regression, functional and performance testing.
- Automatic verification testing: analysis and implementation of mechanisms allowing the automatic or semi-automatic verification testing of the software facilities.
- Installation and verification testing of new software releases or patches: preparation and participation to in-factory (at contractor premises) acceptance testing campaigns, coordination of the installation of new releases or patches on-site and running the on-site verification testing at facility and system level.

Requirements

1. System Development & Maintenance Skills
- Extensive experience (minimum 3 years) in software development and maintenance using a formal life cycle resulting in deliveries to customers. This includes production of requirements, design engineering artefacts and implementation reflecting corrective and evolutive software maintenance activities as well as new applications definition.
- Extensive experience (minimum 3 years) in Assembly-Integration-Verification (AIV) related activities (test procedure generation, non-regression testing, requirements verification and validation).

2. Software Engineering Skills
- Extensive experience (minimum 5 years) in designing and developing software components and applications using Object Oriented (00) approach (including design patterns).
- Relevant experience in the usage of software CASE design tools.
- Extensive experience (minimum 3 years) in designing and developing software applications using Java under UNIX operating systems.
- Experience (minimum 1 years) in designing and developing software applications using C++ under UNIX operating systems.
- Extensive experience (minimum 3 years) in designing and developing software client applications using Eclipse as HMI framework (Rich Client Platform).
- Extensive experience (minimum 3 years) in developing software applications using interfaces to relational database management systems (RDBMS) and experience with RDBMS engineering.

3. Documentation and Configuration Management Skills
- Very good knowledge of MS Windows Office Suite applications and experience with documentation management systems.
- Experience in using configuration Management and anomaly reporting and tracking tools.
It would be a distinct advantage for the key person to have experience with some of the following:

4. Domain Skills
- Mission Planning functions specifications / development and operations within a space system.

5. System Maintenance Skills
- Maintenance of Low Earth Orbiting Mission Planning systems and tools.
- Technical management of contractors working at off-site premises and responsible for software evolution and maintenance.

6. Software Technology Skills
- IBM DOORS requirement management tool.
- Experience in version Control Systems: CVS and SVN.
- Linux Operating System.
- Experience with static and dynamic software analysis tools in support to testing and troubleshooting including tools for automation of functional testing.
- "Enterprise Architect" and "MagicDraw" CASE tools.
- Unified Modelling Language (UML) for software design.
- OSGi Bundles development.
- Software applications using ODBC/JDBC bridges and programmatic interfaces to MySQL and Oracle RDBMS.
- Engineering ofMySQL and Oracle RDBMS.
- Administration of MySQL and Oracle RDBMS.
- Eclipse IDE for software development.
- Apache HTTP Server.
- JavaScript, PHP, CSS & HTML5 for web client application development.
- XML processing: schema design, validation, parser libraries, transfo1mation (XSL T) andXPath.
- Inter-process communication mechanisms, in particular TCP/IP and CORBA standards.

Additionally you shall be able to conduct all activities in a orderly and disciplined manner, shall be able to work calmly and correctly under stress and must be able to work with the minimum supervision.

The working language is English, so you must be able to work effectively in this language.