Software Engineer - Flight & Embedded Systems
Descrizione dell'offerta
Company Description:
Rafla Tech progetta e realizza piattaforme robotiche terrestri e droni autonomi come quadricotteri e VTOL, per applicazioni civili ed industriali.
Sede: Torino o Montegiorgio (FM) con possibilità di lavoro da remoto • Contratto: Tempo indeterminato • Seniority: Mid
Role Description:
- Sviluppo firmware in C++ per UAV/UGV: controllo motori e attuatori, gestione missione, safety, gestione stati del veicolo.
- Sviluppo interfacce grafiche in C++/Qt per ground control station, tool di configurazione, diagnostica e data-logging.
- Driver embedded per sensori e payload: implementazione di driver per IMU, GNSS, LiDAR, attuatori, radio, modem, ecc. su bus CAN, UART, SPI, I2C, Ethernet.
- Sistemi di controllo: implementazione e tuning di regolatori (PID in catena, controllo di assetto e quota, gestione modi di volo).
- Sistemi di navigazione e path planning: gestione della navigazione waypoint-based, funzioni di geofencing, logiche di missione, primi algoritmi di path planning e avoidance.
- Sviluppo su Linux: sviluppo e debug di servizi di bordo e strumenti di supporto (demon, tool CLI, servizi di telemetria) in ambiente Linux.
- Continuous Integration (CI): progettazione e manutenzione di pipeline CI (es. GitLab CI / GitHub Actions) per build automatiche, test, analisi statica, packaging e release interne.
- Automazione test e simulazione: script (Python/Bash) per test automatici, integrazione con simulatori (SITL/HITL), raccolta e analisi log.
- Integrazione e debug su hardware reale: collaborazione con il team elettronico/meccanico per portare in volo nuove piattaforme, diagnosi problemi di comunicazione e timing.
- Workflow di sviluppo moderno: utilizzo di Git, code review, branching strategy, issue tracking, documentazione tecnica del software.
- Supporto alla certificazione: contribuzione alla documentazione software e alle evidenze richieste per dossier tecnici (UAS, marcatura CE, safety).
Qualifications:
- Laurea in Ingegneria Informatica/Elettronica/Automazione/Robotica o esperienza equivalente.
- Ottima conoscenza di C++ (preferibilmente C++11 o superiore) e programmazione orientata agli oggetti.
- Esperienza nello sviluppo di firmware/embedded software (microcontrollori ARM, RTOS o sistemi real-time) oppureservizi in C++ su Linux a basso livello.
- Esperienza nello sviluppo di applicazioni C++/Qt (Qt Widgets e/o QML) per interfacce grafiche.
- Familiarità con protocolli e interfacce: CAN, UART, SPI, I2C, TCP/UDP; costituirà un plus la conoscenza di MAVLink.
- Esperienza con sistemi di integrazione continua (CI) (es. GitLab CI, GitHub Actions, Jenkins o simili) per build e test automatici.
- Buona padronanza di Python per scripting, tool di supporto e analisi log; basi di Bash.
- Conoscenza pratica dell’ambiente Linux: shell, gestione pacchetti, strumenti di debug (gdb, log di sistema).
- Uso avanzato di Git: branching, merge/rebase, gestione di repository multipli, code review.
- Nozioni di base di controllo automatico e sistemi dinamici (PID, stabilità, risposta al gradino) e interesse ad approfondire ambiti di navigation & path planning.
- Abitudine a lavorare con strumentazione da laboratorio a supporto del debug (logici/seriali, monitor di sistema, sniffer di bus, ecc.).
- Buona conoscenza dell’inglese tecnico scritto e parlato (documentazione, issue tracker, manuali).
#Robotics #EmbeddedSystems #Drones #UAV #Automation #Engineering #TechInnovation