Full Stack Engineer

La figura inserita all’ interno del gruppo che si occupa di sviluppare la linea di prodotti AI-powered di Ammagamma, si occuperà dello sviluppo prodotto in tutti i suoi aspetti, interagendo frequentemente con i colleghi per integrare all’interno degli applicativi le funzionalità di intelligenza artificiale.

Il/La Full-Stack Engineer, in particolare, si occuperà di:

  • Gestione del ciclo di vita del software dall’inizio (raccolta requisiti e design architetturale) alla fine (deploy e monitoraggio);
  • Setup di ambienti di analisi dati in Linux per abilitare Data Scientist all'analisi;
  • Progettazione e implementazione dell'architettura, sia a livello infrastrutturale che applicativo;
  • Implementazione dell’interfaccia utente;
  • Progettazione di applicativi scalabili, modulari e manutenibili;
  • Progettazione e implementazione delle API di backend degli applicativi;
  • Integrazione dell’interfaccia utente con le API di backend;
  • Progettazione e implementazione di pipeline di CI/CD;
  • Partecipazione attiva in tutte le fasi di definizione della soluzione;
  • Gestione di base di ambienti e risorse cloud anche tramite infrastructure as code;
  • Deploy containerizzato degli applicativi sviluppati;
  • Monitoraggio e bugfixing degli applicativi sviluppati, una volta in produzione;
  • Stesura della documentazione dei propri sviluppi;
 

Desideriamo entrare in contatto con risorse in possesso dei seguenti requisiti:

  • Esperienza pregressa nella mansione, maturata in ambienti dinamici e innovativi;
  • Grande familiarità con lo sviluppo web in Python per il backend, preferibilmente con framework FastAPI, e React per il frontend;
  • Grande familiarità con lo sviluppo di API di backend;
  • Grande familiarità con database relazionali, preferibilmente PostgreSQL;
  • Familiarità con tecniche di gestione di basi di dati (indicizzazione; partizionamento; ottimizzazione di query SQL; etc.);
  • Autonomia con la linea di comando sia per task di sviluppo che configurazione di base di ambienti Linux;
  • Autonomia con Git;
  • Familiarità con Docker per sviluppo e deploy di applicazioni web;
  • Familiarità con sviluppo e gestione di risorse in cloud, preferibilmente AWS, nello specifico:
  • Creazione di risorse tramite infrastructure as code, preferibilmente tramite CDK;
  • Creazione di infrastrutture serverless e cloud-first (e.g., utilizzo di Lambda functions, API Gateway e servizi come Glue, Athena…);
  • Connessione di servizi cloud per creare architetture adatte al caso d’uso in sviluppo;
  • Preferibilmente, creazione di pipeline di CI/CD
  • Gestione di ruoli, utenze e permessi in ambito cloud;
  • Familiarità con CSS e, preferibilmente, con il framework Tailwind CSS;
  • Conoscenza di pattern di sviluppo e architettura per la creazione di applicativi modulari e codice riutilizzabile
  • Curiosità nell’esplorazione di nuove tecnologie e creatività nell’approccio a problemi nuovi che potrebbero necessitare di soluzioni non immediatamente evidenti;
  • Mindset in grado di coniugare le esigenze di business con quelle tecniche;
  • Flessibilità, proattività e ottime doti di problem solving.
 

Costituiscono un plus:

  • Conoscenza di tecnologie di orchestrazione (e.g. Kubernetes);
  • Esperienza nello sviluppo con Kafka e sistemi event-driven;