Embedded C++ Software Engineer

3 giorni fa

Roma, Lazio, Italia Accenture Italia Tempo pieno 32.000 € - 52.000 € Contratto

Entrando in Accenture Supply Chain & Engineering lavorerai al cuore della value chain - dal sourcing e procurement, all'engineering e R&D, dalla manifattura e operations, ai capital projects - per aiutare le aziende a reinventare l'intera catena del valore, alimentata da dati, AI e tecnologie di nuova generazione.
Nel ruolo di Embedded C++ Software Engineer, contribuirai alla progettazione e allo sviluppo di software applicativo in C++ per centraline elettroniche (ECU) e sistemi di controllo in ambito automotive e industriale.
Lavorerai sull’intero ciclo di sviluppo del software: dalla definizione dell’architettura e dei requisiti tecnici fino all’implementazione, integrazione, test e ottimizzazione del codice C++. Collaborerai con team multidisciplinari e contribuirai alle principali decisioni tecniche e progettuali, affrontando problematiche che spaziano dal design del software alla comunicazione tra centraline, dalle prestazioni alla qualità e affidabilità del prodotto.
Per i profili con maggiore esperienza, il ruolo prevede inoltre l’opportunità di diventare un riferimento tecnico per il team, supportando i colleghi nelle scelte implementative, nella risoluzione delle problematiche più complesse e nell’adozione di buone pratiche di sviluppo.

Il tuo ruolo e le tue prospettive

  • Progettare, sviluppare e manutenere software applicativo in C++ moderno per centraline elettroniche (ECU) e sistemi di controllo, garantendo qualità, robustezza e manutenibilità del codice.
  • Definire architetture software modulari e orientate agli oggetti, applicando design pattern, principi SOLID e buone pratiche di programmazione
  • Sviluppare e integrare protocolli di comunicazione tra centraline e verso sistemi esterni, quali CAN/CAN FD, LIN, Automotive Ethernet (SOME/IP, DoIP), diagnostica UDS e protocolli di rete basati su TCP/IP
  • Sviluppare applicazioni multithread e concorrenti su sistemi operativi real-time o embedded Linux, gestendo sincronizzazione, comunicazione tra processi e vincoli temporali
  • Analizzare e risolvere problematiche complesse attraverso attività di debugging, profiling e root-cause analysis, ottimizzando prestazioni, utilizzo della memoria e tempi di esecuzione del codice
  • Collaborare con team cross-funzionali di software, system engineering e testing durante le diverse fasi del ciclo di sviluppo
  • Contribuire alle decisioni architetturali e alla selezione di strumenti e tecnologie
  • Supportare i colleghi attraverso code review, condivisione delle competenze e definizione di buone pratiche di sviluppo
  • Utilizzare Python per scripting e automazione delle attività di sviluppo, test e validazione

La retribuzione prevista in Accenture viene definita sulla base di molteplici elementi di valutazione, tra cui – ad esempio - il ruolo ricoperto, il livello di seniority, il grado di responsabilità, le competenze professionali e l’esperienza maturata. Per la presente posizione, è prevista l’applicazione del CCNL Metalmeccanico, con uno tra i seguenti livelli di inquadramento e corrispondente fascia di retribuzione annua lorda:
B1 30.814,29 € e 40.800 €
B2 33.058,74€ e 50.500€

Le tue caratteristiche

  • Ottima conoscenza del linguaggio C++ moderno (C++11/14/17 e successivi), inclusi programmazione orientata agli oggetti, template, STL, smart pointer e gestione della memoria
  • Conoscenza di Python, in particolare per scripting, test o automazione.
  • Laurea in discipline STEM o esperienza equivalente in ambito software engineering
  • Esperienza nello sviluppo software in C++, preferibilmente di almeno 3 anni, maturata in contesti automotive, industriali o product-oriented
  • Esperienza nello sviluppo di applicazioni per centraline elettroniche (ECU), unità di controllo o sistemi embedded di alto livello in ambito automotive, industriale o similare
  • Conoscenza dei protocolli di comunicazione tra centraline e di rete, quali CAN/CAN FD, LIN, Ethernet, SOME/IP, UDS, Modbus o equivalenti.
  • Familiarità con design pattern, principi SOLID, programmazione multithread e concorrente
  • Capacità di analizzare problematiche tecniche complesse e individuare soluzioni efficaci

Nice to have

  • Esperienza con AUTOSAR (Classic e/o Adaptive) e con standard di codifica e sicurezza quali MISRA C++, AUTOSAR C++14, ISO 26262
  • Conoscenza di embedded Linux o QNX e di middleware di comunicazione quali DDS, MQTT, OPC UA
  • Familiarità con strumenti di analisi e simulazione delle reti di bordo, ad esempio Vector CANoe/CANalyzer
  • Esperienza con Git, CI/CD, static analysis, unit test e automated testing in progetti C++