Embedded Software Developer

1 giorno fa

San Benedetto del Tronto, Marche, Italia agap2 Italia Tempo pieno 25.000 € - 36.000 € Contratto

Sede di lavoro: San Benedetto del Tronto (AP)


Dato l'elevato interesse per questa posizione, la preghiamo di candidarsi tempestivamente se il suo profilo è in linea con il ruolo.

Siamo una realtà operante nel settore della consulenza IT e dell\'innovazione tecnologica, specializzata nello sviluppo e nell\'integrazione di soluzioni software e sistemi tecnologici complessi.

La risorsa entrerà a far parte di un team di sviluppo software coinvolto in attività di progettazione, sviluppo, integrazione, testing, manutenzione e ottimizzazione di soluzioni software, con particolare focus su applicazioni embedded, sistemi real-time, interfacce utente e componenti backend.

Missione del ruolo

La risorsa sarà coinvolta nelle attività di progettazione, sviluppo, integrazione, testing, manutenzione e ottimizzazione del software a supporto del team di sviluppo.

Il ruolo prevede attività di sviluppo software su sistemi complessi, con particolare attenzione alla programmazione C++, allo sviluppo embedded, alla progettazione algoritmica e all\'elaborazione del segnale.

Il ruolo prevede una forte collaborazione con il team di sviluppo nelle diverse fasi del ciclo di vita del software, dalla progettazione alla validazione, fino alla manutenzione e all\'ottimizzazione delle soluzioni implementate.

Responsabilità principali
  • Progettazione e sviluppo di applicazioni software in C++;
  • Sviluppo utilizzando i principi della programmazione orientata agli oggetti;
  • Implementazione di applicazioni multithread e gestione dei meccanismi di sincronizzazione;
  • Sviluppo e manutenzione di software embedded in C/C++;
  • Progettazione e implementazione di algoritmi per sistemi embedded e real-time;
  • Sviluppo di algoritmi per l\'elaborazione del segnale;
  • Implementazione e ottimizzazione di filtri digitali;
  • Analisi e ottimizzazione delle performance del software;
  • Progettazione e implementazione di interfacce utente con attenzione a UI/UX, usabilità e user experience;
  • Integrazione delle interfacce frontend con componenti backend, REST API e database;
  • Sviluppo e manutenzione di componenti software su piattaforme Linux Embedded;
  • Sviluppo e integrazione di software attraverso bus e protocolli di comunicazione quali Modbus, I2C, UART e SPI;
  • Utilizzo di MATLAB/Simulink per lo sviluppo, la simulazione e la validazione di algoritmi;
  • Supporto alle attività di porting degli algoritmi da ambiente di simulazione a sistemi target;
  • Progettazione, sviluppo, gestione e manutenzione di database relazionali e real-time database;
  • Sviluppo e gestione di query e componenti software basati su SQL;
  • Sviluppo di componenti backend e servizi applicativi utilizzando tecnologie quali Python, Java, PHP e Node.js;
  • Integrazione di software e componenti applicativi con sistemi esistenti;
  • Attività di debugging e troubleshooting applicativo;
  • Utilizzo di strumenti di profiling e analisi delle performance;
  • Gestione del codice sorgente e delle modifiche attraverso sistemi di versioning quali Git e/o CVS;
  • Documentazione del codice e delle soluzioni implementate;
  • Gestione strutturata delle modifiche software;
  • Attività di testing, validazione e verifica delle funzionalità sviluppate;
  • Collaborazione con il team di sviluppo nelle attività di integrazione e risoluzione delle problematiche tecniche;
  • Supporto tecnico al team durante le fasi di sviluppo, integrazione e manutenzione;
  • Produzione e aggiornamento della documentazione tecnica relativa alle soluzioni software.
Requisiti richiesti

Formazione

  • Diploma o Laurea in discipline tecniche, informatiche o ingegneristiche;
  • Preferibile formazione in:
  • Ingegneria delle Telecomunicazioni;
  • Automazione;
  • discipline STEM o tecnologiche equivalenti.
  • Saranno valutati anche profili con formazione differente, purché supportata da un\'esperienza professionale coerente con il ruolo.

Esperienza

  • Almeno 3 anni di esperienza professionale nello sviluppo software;
  • Esperienza concreta nello sviluppo in C++;
  • Esperienza nella programmazione orientata agli oggetti;
  • Esperienza nello sviluppo di applicazioni multithread e nella gestione della sincronizzazione;
  • Esperienza nello sviluppo software embedded in C/C++;
  • Esperienza nell\'integrazione tra frontend, backend, REST API e database;
  • Esperienza con Linux Embedded;
  • Esperienza con protocolli e bus di comunicazione quali Modbus, I2C, UART e SPI;
  • Esperienza nello sviluppo o validazione di algoritmi;
  • Esperienza in elaborazione del segnale, filtri digitali e ottimizzazione delle performance;
  • Esperienza con MATLAB/Simulink costituisce un importante requisito;
  • Esperienza nella progettaz