Per importante realtà del territorio siamo alla ricerca di un Senior Software Developer con solide competenze in C++ e C, che partecipi allo sviluppo e all’evoluzione di applicazioni ad alte prestazioni in contesti distribuiti. La figura contribuirà allo sviluppo di componenti software ad alte prestazioni, interfacciati con dispositivi hardware, sistemi distribuiti e infrastrutture di rete industriale. ResponsabilitàProgettazione e sviluppo di moduli software in C++ e C per applicazioni industriali Sviluppo e manutenzione di componenti di sistema (servizi, processi, moduli di comunicazione)Integrazione con dispositivi hardware e sistemi di campo Implementazione di meccanismi di comunicazione tra processi e tra nodi distribuiti Analisi e ottimizzazione di performance e utilizzo delle risorse Attività di debugging su sistemi complessi (anche in ambienti di test integrati)Collaborazione con team hardware, automazione e infrastruttura ITContributo tecnico su scelte architetturali nel rispetto delle linee guida aziendali Competenze Tecniche Richieste Linguaggi C++ (ottima padronanza: OOP, STL, gestione memoria, multithreading, sincronizzazione)CPython (automazione, scripting, tooling, test)Sistemi e Architetture Comprensione dei principi dei sistemi distribuiticoncorrenzacomunicazione inter-processo (IPC)gestione errori e resilienza Esperienza in ambiente Linux Conoscenze base di:reti di computer (TCP/IP, socket)protocolli di comunicazione Ambito Industriale Familiarità con architetture client-server Interazione con sistemi di supervisione, controllo o acquisizione dati Gradita conoscenza di protocolli o logiche tipiche dell’automazione industriale (es. comunicazione macchina-macchina)Framework e Strumenti Conoscenza di Qt per lo sviluppo di applicazioni desktop industriali (HMI, tool di configurazione, sistemi di monitoraggio)Titolo preferenziale: utilizzo di Qt in un progetto reale Familiarità con strumenti di versionamento (Git)Esperienza con tool di debugging Competenze Aggiuntive Conoscenze di sviluppo Web (frontend e/o backend) per interfacce di monitoraggio o configurazione Esperienza con API REST o servizi web Esperienza in sistemi ad alta affidabilità o con requisiti di continuità operativa o sistemi real-time Esperienza con metodologie di sviluppo strutturate