POSIZIONE

Ingegnere Software Backend con Specializzazione in Machine Learning – NLP e LLM



Senior • In presenza/Da remoto

Chi stiamo cercando e
cosa farai

Stiamo cercando uno sviluppatore Back End per creare soluzioni software scalabili. Sarai parte di un team multidisciplinare e sarai la colonna portante dei nostri progetti, garantendo che tutto funzioni senza intoppi dietro le quinte.

Perché questo ruolo è importante per noi

Perché condividerai una visione tecnica e specialistica che guida lo sviluppo di soluzioni AI user-centric, armonizzando tecnologia, requisiti e contesto. Questo richiederà la padronanza di una vasta gamma di strumenti back-end e la flessibilità necessaria per adattarsi alle esigenze specifiche del progetto e per selezionare le tecnologie più idonee per la risoluzione dei problemi.

Di cosa ti occuperai
  • Collaborare con i team di sviluppo e i product manager per ideare soluzioni software.
  • Progettare l’architettura lato client e lato server.
  • Sviluppare e gestire database e applicazioni.
  • Creare API.
  • Testare il software per garantire reattività ed efficienza.
  • Risolvere problemi, debuggare e aggiornare il software.
  • Creare impostazioni di sicurezza e protezione dei dati.
  • Lavorare con data scientist e analisti per migliorare il software.
  • Applicare modelli di machine learning in ambito NLP.
  • Sviluppare soluzioni tecniche che includono LLM.
  • Creare ambienti containerizzati utilizzando Docker per garantire un deployment uniforme e prevedibile.
  • Gestire e orchestrare container in ambienti distribuiti utilizzando Kubernetes.
  • Implementare pratiche MLOps per il testing, il deployment e il monitoraggio continuo dei modelli machine learning.
  • Utilizzare strumenti DevOps per automatizzare il processo di sviluppo e deployment.
Cosa ti offriamo

Lavorare in DOS vuol dire partecipare a un ecosistema orientato alla creazione del valore. Entrerai a far parte di un contesto che riconosce e incentiva la specializzazione, imparerai a conoscere e farai tuoi approcci metodologici differenti che ti aiuteranno a sviluppare la tua professionalità e a dare impulso al miglioramento e alla creazione dei modelli operativi.

Le caratteristiche del candidato ideale

Background

  • Esperienza nello sviluppo di sistemi back-end utilizzando linguaggi di programmazione come Python, Java, Node.js, Maven o Gradle.
  • Familiarità e competenza nell’utilizzo di framework di machine learning come TensorFlow, PyTorch, scikit-learn.
  • Competenza nell’utilizzo di database relazionali (ad esempio, MySQL) e non relazionali (ad esempio, MongoDB) per gestire dati strutturati e non strutturati.
  • Familiarità con database vettoriali e capacità di implementare soluzioni basate su di essi.
  • Familiarità con tecnologie di datawarehouses e datalakehouses.
  • Conoscenza dei sistemi di versionamento del codice, come Git.
  • Esperienza nell’utilizzo di strumenti di collaborazione come Jira, Confluence, o simili.
  • Conoscenza di Docker e Kubernetes per la creazione e la gestione di ambienti containerizzati.
  • Capacità di lavorare in un ambiente collaborativo, partecipare attivamente a discussioni tecniche e proporre soluzioni innovative.
  • Orientamento al problem-solving e capacità di affrontare sfide complesse con creatività.
  • Laurea in ingegneria informatica, computer science o similare.

Soft Skills

  • Eccellenti competenze di comunicazione e capacità di lavoro di squadra.
  • Capacità organizzative.
  • Mentalità analitica e grande attenzione ai dettagli.
  • Visione d’insieme: flessibilità e innovazione.
  • Efficacia operativa.
Cosa ti renderebbe speciale
  • Esperienza nel deployment e nell’ottimizzazione di modelli machine learning in produzione.
  • Esperienza nello sviluppo di servizi web, API e applicazioni server-side.
  • Conoscenza di MLOps, CI/CD e strumenti DevOps per automatizzare processi di sviluppo e deployment.