JOB OFFERS
Position Title: MID-SENIOR SOFTWARE ENGINEER
The Mission Control System and Simulation group host the computer engineers, software engineers and aerospace engineers who oversee the ground segment from definition to end of operations; it develops and integrates the mission control systems and P/L control systems, implements ground communication networks, interfaces ground stations and prepare mission control centers to execute mission operations. Moreover, it is involved in the definition, implementation and test of operational simulator needed to support ground segment validation, operations team training and mission operations preparation.
Duties
You will be part of the team that is in charge of all engineering aspects of the definition, implementation, integration, test and maintenance of software data systems related to the Mission Control Center nominal activities under the ALTEC responsibility.
You will work in close collaboration with other software engineers and infrastructure engineers during project phases.
You will be expected to endeavor for innovation and excellence in software engineering within the aerospace domain with focus on mission planning functions.
Among the main duties, you will be involved in:
- Analysis, revision and definition of software requirements.
- Analysis, revision and definition of software design.
- Coding and implementation of data systems
- Defining and implementing software unit and integration tests
- Prepare system related documentation (Specifications, Design, Technical Notes, User Manuals, Test Procedures and Reports).
- Use of debugging tools, perform troubleshooting and profiling an application running in a distributed environment
- Participate to periodic technical meetings
REQUIRED EXPERIENCE & TECHNICAL SKILLS
A MSc or equivalent degree in software or computer engineering with high score.
At least three years of experience as Software Engineer.
Knowledge and experience in object-oriented and functional programming, in particular with C++ or Python programming language.
Ability to develop distributed software using frameworks that leverage multi-threading and messaging systems.
Knowledge and experience with the Linux operating system and scripting languages.
Knowledge and experience in using GIT (or equivalent) as software version control system tool
Knowledge and experience with CMake software project management tool.
Knowledge of relational database (e.g. PostgreSQL) and non-relational databases (e.g. MongoDB, InfluxDB).
Experience in adopting software quality analysis tools (e.g. Sonar Qube).
Ability to use debugging tools, perform troubleshooting and profiling an application running in a distributed environment.
Knowledge of container technologies (e.g. Docker, Podman).
Basic Knowledge of UML for the software engineering process.
Knowledge and familiarity with Extensible Markup Language (XML) and schemas.
SOFT SKILLS
Problem Solving
Result oriented
Autonomy and Operational efficiency
Fostering Cooperation
Relationship Management
Continuous Improvement
ADDITIONAL ASSETS
They are not mandatory but candidates knowing them will be better evaluated:
Knowledge of software artifact management repository
Knowledge of Kubernetes container orchestration system
Knowledge of Java programming language.
Experience in Agile methodologies would be a further asset