Descrizione azienda
Turin Tech è una società di ingegneria che sviluppa progetti interni e in collaborazione con i principali player del settore industriale, principalmente Automotive, Marine, Aerospace, Railway e Machinery.
Offriamo un'ampia gamma di servizi: Engineering, Project management, Manufacturing & Technical Support, Embedded Electronics.
Posizione
Software Developer / Mobile Developer
Responsabilità
Sviluppo e mantenimento di applicazioni su sistemi operativi Android/Android TV 8.x e superiori.
Programmazione in Java, Kotlin e preferibilmente C/C++ utilizzando Android NDK.
Utilizzo di Android Studio e Android SDK per lo sviluppo di applicazioni.
Implementazione di componenti Android Architecture (Service, Broadcast Receiver, Content Provider,...) e gestione del loro ciclo di vita.
Gestione della programmazione concorrente e sviluppo di applicazioni con esecuzione in background (Foreground Services, Work Manager, Alarm Manager,...).
Lavoro con formati di dati come XML e JSON e utilizzo di API RESTful tramite strumenti come Volley e Retrofit.
Ottimizzazione e offuscamento del codice tramite strumenti come R8 e Proguard.
Utilizzo di Firebase e Crashlytics per la gestione delle applicazioni.
Utilizzo di strumenti CI/CD in ambiente GITLab per l'automazione dei processi di sviluppo.
Collaborazione con il team di sviluppo per il controllo e la gestione del codice tramite GIT/GITLab.
Competenze richieste
* Conoscenza approfondita del sistema operativo Android (versioni 8.x e superiori) e, preferibilmente, di Android TV.
* Laurea In Ingegneria Informatica/Telecomunicazioni o affini.
* Esperienza avanzata con linguaggi di programmazione Java e Kotlin.
* Conoscenza di Android Architecture Components e del ciclo di vita delle applicazioni.
* Esperienza con applicazioni in background e strumenti di gestione dei task in background (come Work Manager, Alarm Manager).
* Esperienza con parsing XML e JSON e con l'utilizzo di API RESTful.
* Conoscenza degli strumenti di offuscamento e ottimizzazione del codice (R8, Proguard).
* Esperienza nell'utilizzo di database come DB Room, incluse operazioni su tabelle, query, join e trigger. La conoscenza di SQLite è un plus.
* Conoscenza base di protocolli di rete TCP/UDP/IP e della sicurezza dei dati (TLS/SSL/Certificate pinning).
* Conoscenza di strumenti di CI/CD in ambiente GITLab.
* Esperienza con strumenti di monitoraggio delle performance come Firebase/Crashlytics.
Competenze preferenziali
* Conoscenza di Android TV Input Framework.
* Esperienza con i principali codec audio e video tramite SDK per applicazioni multimediali.
* Conoscenza del protocollo OMA DM e dei modelli di gestione dispositivi.