Descrizione della Posizione Lavorativa
Stiamo cercando un AI Developer che non voglia ripetere sempre lo stesso lavoro: non chi evita l'impegno, ma chi evita sforzi non necessari. Se per te l'AI è più che chiamare un'API — significa progettare sistemi, orchestrare flussi di lavoro e far funzionare concretamente le cose — continua a leggere.
Il ruolo
Lavorerai su sistemi nei quali l'AI è una componente, non l'intero lavoro. Le attività principali includono:
- Sviluppare funzionalità potenziate dall'AI e workflow agentici;
- Integrare l'AI in prodotti reali e processi aziendali;
- Lavorare sulla logica backend, sui flussi di dati e sulla progettazione del sistema;
- Contribuire alle pratiche di AI-Driven Development tra i progetti.
AI-Driven Development (obbligatorio)
Gli strumenti AI non sono un extra: fanno parte del flusso di lavoro. Strumenti come Cursor, Claude Code (o analoghi) sono attesi nell'uso quotidiano per:
- accelerare la prototipazione;
- ridurre compiti ripetitivi;
- concentrare l'attenzione sulla progettazione di sistema invece che sul boilerplate.
Se preferisci scrivere tutto manualmente, questo ruolo risulterà intenzionalmente più difficile.
Tech stack e attività
- Python 3.12+;
- Asyncio (uso serio, non import occasionale);
- Tipizzazione rigorosa;
- Pydantic e Pydantic AI / MCP (Model Context Protocol) per collegare LLM a strumenti e dati.
In pratica ti occuperai di:
- sviluppare agenti AI e sistemi RAG (Retrieval-Augmented Generation);
- costruire connettori MCP e server per integrare modelli con strumenti e dati;
- progettare prompt e garantire che gli output siano strutturati e validati;
- gestire flussi di dati, inclusi streaming e JSON complessi, verso applicazioni frontend.
Requisiti e atteggiamento
Non è necessario conoscere tutto, ma dovresti:
- essere a tuo agio con Python asincrono;
- avere esperienza pratica (anche tramite progetti personali) con Pydantic / Pydantic AI;
- essere genuinamente curioso riguardo ai sistemi AI;
- comprendere le differenze tra ReAct prompting, Tool Calling e Function Calling;
- proficiency in inglese.
Nessun codice legacy, processi inutili o sovraingegnerizzazione: obiettivo costruire sistemi che non richiedano continui interventi correttivi.
Profili: sono benvenuti profili junior motivati ad apprendere rapidamente; i candidati mid-level dovrebbero già avere una buona idea di ciò che funziona e di cosa normalmente non funziona.
Competenze trasversali richieste
- flessibilità e adattabilità;
- voglia di imparare continuamente;
- capacità di lavorare in autonomia e in team;
- comfort con requisiti in evoluzione e iterazioni rapide.
Nice to have
- Vercel AI SDK;
- React / TypeScript;
- esperienza con streaming SSE;
- gestione di output tipizzati in ambienti frontend;
- mentalità full‑stack (o volontà di svilupparla).
Sede e modalità: posizione full-remote. Azienda con sede a Modena (MO), Italia.
Contratto e compenso: il tipo di contratto e la retribuzione dipenderanno dall'esperienza del candidato.
Come candidarsi: invia il tuo GitHub o parla di un progetto AI recente (preferibilmente che coinvolga Pydantic AI). No slide, no lunghe presentazioni: solo codice e pensiero tecnico.
Benefit per i dipendenti
- Full-Remote;
- MacBook Pro;
- buoni pasto (meal vouchers).
Requisiti
Ammissibile per profili Junior e Mid: comfort con Python asincrono, esperienza pratica con Pydantic / Pydantic AI (anche tramite progetti personali), curiosità per i sistemi AI, conoscenza delle differenze tra ReAct, Tool Calling e Function Calling, buona padronanza dell'inglese.
Competenze richieste
Competenze professionali
Python 3.12+
Asyncio
Tipizzazione rigorosa
Pydantic
Pydantic AI / MCP
Sistemi RAG
Progettazione prompt
ReAct / Tool Calling / Function Calling
Gestione flussi dati e streaming (JSON complessi)
Costruzione connettori e server MCP
Vercel AI SDK
React
TypeScript
SSE streaming
Gestione output tipizzati frontend
Competenze trasversali
Flessibilità
Adattabilità
Voglia di imparare continuamente
Capacità di lavorare in autonomia
Lavoro di squadra
Comfort con requisiti in evoluzione