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;