JOB OFFERS
Titolo della posizione: Ingegnere DevOps del segmento di terra
Il gruppo Mission Control System and Simulation ospita gli ingegneri informatici, gli ingegneri del software e gli ingegneri aerospaziali che supervisionano il segmento di terra dalla definizione alla fine delle operazioni; sviluppa e integra i sistemi di controllo della missione e i sistemi di controllo P/L, implementa le reti di comunicazione di terra, interfaccia le stazioni di terra e prepara i centri di controllo della missione per eseguire le operazioni di missione. Inoltre, è coinvolto nella definizione, nell’implementazione e nel test del simulatore operativo necessario per supportare la validazione del segmento di terra, l’addestramento del team operativo e la preparazione alle operazioni di missione.
Funzioni
Farai parte del team che si occupa di tutti gli aspetti ingegneristici della definizione, dell’implementazione, dell’integrazione, del test e della manutenzione dei sistemi di dati software relativi alle attività nominali del Centro di Controllo Missione sotto la responsabilità di ALTEC.
Lavorerai in stretta collaborazione con l’ingegnere del software, l’ingegnere dell’infrastruttura, l’ingegnere di rete e i team operativi della missione durante le fasi del progetto.
Dovrai impegnarti per l’innovazione e l’eccellenza nell’ingegneria del segmento di terra all’interno del dominio spaziale, con particolare attenzione alle funzioni del sistema di controllo della missione.
Tra i compiti principali, sarai coinvolto in:
- Eseguire le attività di distribuzione, integrazione e test del software del sistema di controllo della missione, gestendo anche gli aspetti infrastrutturali.
- Automatizza e ottimizza l’implementazione e la configurazione del software per i sistemi a terra che supportano le missioni satellitari, garantendo un funzionamento e una manutenzione senza interruzioni.
- Preparare la documentazione relativa al sistema (specifiche, progetti, note tecniche, manuali utente, procedure di test e rapporti).
- Eseguire l’analisi e la familiarizzazione di soluzioni software complesse.
- Utilizzo di strumenti di debug, risoluzione dei problemi e profilazione di un’applicazione in esecuzione in un ambiente distribuito.
- Supporto alla preparazione e all’esecuzione dei test di convalida del sistema e dei test di convalida operativa del sistema.
- Partecipa a riunioni tecniche periodiche
ESPERIENZA E COMPETENZE TECNICHE RICHIESTE
- Un MSc o una laurea equivalente in ingegneria del software, informatica o delle comunicazioni con un punteggio elevato.
- Esperienza con il sistema operativo Linux e con i linguaggi di scripting.
- Conoscenza dei principi di progettazione di applicazioni e sistemi
- Esperienza di base con almeno un linguaggio di programmazione (ad esempio JAVA, C++, Python).
- Conoscenza dei principali protocolli e servizi di rete (ad esempio IP, TCP, UDP, DNS, SNMP, NTP, DHCP, VPN).
- Esperienza con gli strumenti di ispezione e risoluzione dei problemi di rete (ad esempio netcat/telnet, tcpdump, firewalld)
- Conoscenza della configurazione dei servizi del sistema operativo Linux (ad esempio, systemctl).
- Conoscenza dei meccanismi di virtualizzazione e conoscenza di base della tecnologia dei container (ad esempio Docker o Podman).
- Conoscenza dei concetti e degli strumenti di integrazione continua come Gitlab CI o equivalenti (es. Jenkins).
- Conoscenza del sistema di controllo della versione del software come GIT o equivalente.
- Conoscenza di meccanismi basati su socket o code di messaggi per gestire il flusso di dati e lo streaming di dati basato sullo scambio di messaggi (ad esempio Kafka, ActiveMQ, Zmq).
- Conoscenza o esperienza di base di alcune soluzioni software di osservabilità (ad esempio Grafana, Loki).
- Conoscenza di Ansible come sistema di automazione DevOps.
- Esperienza nella configurazione e nella gestione di database di serie temporali (TSDB) e di sistemi DBMS in generale.
SOFT SKILLS
- Risoluzione dei problemi
- Efficienza operativa
- Promuovere la cooperazione
- Gestione delle relazioni
- Miglioramento continuo
ATTIVITÀ AGGIUNTIVE
Non sono obbligatori, ma i candidati che li conoscono saranno valutati meglio:
- Conoscenza delle tecniche basate su modelli per la progettazione di sistemi (standard UML e SYSML).
- Conoscenza dello strumento di gestione dei progetti software MAVEN o esperienza con soluzioni equivalenti.
- Conoscenza del linguaggio di programmazione Python.
- Conoscenza degli strumenti di gestione della qualità del software e degli artefatti, come SonarQube e Nexus.
- Conoscenza di alcune soluzioni software per l’analisi e la visualizzazione dei dati (ad esempio Jupyter Notebook, DataStudio).
- Conoscenza del sistema di orchestrazione di container Kubernetes
Conoscenza di base dei protocolli CCSDS ed ECSS tipicamente utilizzati nei programmi spaziali dell’ESA e della NASA, in particolare le definizioni di CCSDS Transfer Frame e Space Packet e il protocollo ECSS Packet Utilization Standard (PUS).