Backend Developer

Universidata — Italy · Posted ~1 day ago

Mid Full-time

Skills

Python Node.js TypeScript FastAPI PostgreSQL Neo4j NestJS Async backend development LLM/RAG pipelines Document ingestion Asynchronous workflows LLM RAG

🔓 Log in to save this job, tailor your resume & track your apply process — 7 days free, no card needed.

Log in to add to target list

Summary

Join a forward-looking engineering team building two greenfield educational technology platforms from the ground up. You will work across Python and Node/TypeScript backends, shape architectural decisions, and develop modern asynchronous services, data pipelines, and AI-powered workflows. With no legacy constraints, you will have meaningful ownership over system design and implementation.

Highlights

Work on two greenfield EdTech projects with no legacy systems or inherited technical debt. The role offers substantial influence over architecture and system design while working with modern Python, TypeScript, AI, data, and asynchronous technologies.

Description

Universidata, parte del gruppo Ingenium Education Group S.p.A., sviluppa prodotti EdTech innovativi per le scuole con l’obiettivo di trasformare il modo di fare didattica e di gestire la scuola nei prossimi decenni. Vogliamo restituire a scuole e docenti il tempo e l’attenzione per ciò che conta davvero. L’Education è il nostro ambito di punta, affiancato da altri settori in cui applichiamo la nostra expertise in Data Science & AI. Il ruolo Backend Developer dual-stack (Python + Node/TypeScript) con 3+ anni (mid) o 5+ anni (senior) di esperienza. Lavorerai su due progetti greenfield in ambito EdTech, entrambi in fase iniziale: niente legacy da reverse-engineerare, nessun debito tecnico ereditato, decisioni architetturali ancora da prendere. Spazio reale per lasciare il segno sul design dei sistemi. Gli stack Un backend Python async (FastAPI + PostgreSQL + Neo4j) con pipeline RAG e generative basate su LLM, ingestion documentale e workflow asincroni Un monolite NestJS 11 (TypeScript + Prisma + PostgreSQL + Pino + Passport/JWT), multi-tenant, con modello di permessi granulare e feature LLM integrate Cosa farai Progetterai e scriverai servizi async in FastAPILavorerai su pipeline RAG e generative con LLM (prompt design, structured output, grounding, caching)Modellerai il dominio su PostgreSQL (SQLAlchemy async)Svilupperai pipeline di ingestion documentale (estrazione testo, OCR, chunking, embeddings)Orchestrerai job in background e workflow asincroni a lunga durataSvilupperai feature backend su un monolite con modello di permessi granulareScriverai codice production-grade: tipizzato, testato (unit + e2e), con contratti DTO/Swagger coerenti e migrazioni auditedRequisiti non negoziabili3+ anni di Python backend con pratica consolidata di async/await, FastAPI, Pydantic, SQLAlchemy (async) e PostgreSQLEsperienza solida su NestJS (o framework strutturalmente equivalenti: Spring, Rails, Django strutturato) — DI, ORMs, moduli, guard/interceptor, pipe di validazioneSolide basi di REST API design e microserviziEsperienza reale di integrazione di LLM in produzione. Non tutorial, non prototipi da hackathon.Confidenza con orchestrazione di job asincroni in backgroundConfidenza con pipeline di ingestion/parsing documentale (OCR, chunking, embeddings)Ciclo di vita del software end-to-end: user story → refinement → implementazione → deploy → monitoringAttenzione all’architettura: riconosci l’astrazione utile da quella prematura.Agentic coding (non negoziabile) Uso quotidiano di coding agents come parte integrante del workflow: brainstorming, spec writing, TDD, refactoring, code review, debugging sistematico Nice to have Frontend React, Sistemi multi-tenant, Modelli di autorizzazione non banali: Entity-Scope-Actions, ABAC, Casbin, policy engine custom Domain-driven design, CQRS light, event-driven patterns dove servono davvero Agent SDK / costruzione di agenti custom con tool use non banale Pub/sub e code di messaggi (Redis, RabbitMQ, Kafka) Osservabilità in produzione (metriche, tracing, alerting) Supabase / Postgres auth Esperienza in EdTech o SaaS B2B complessi (ERP, CRM, gestionali sanitari, fintech) Contributi open source, blog tecnico, talk a conferenze — segnale che ti importa della craft Un/una “Java developer che ha visto Python di sfuggita” non è il profilo. Un/una ingegnere/a che ha lavorato in produzione in entrambi i mondi, con la testa nel sistema e non nel linguaggio, sì. Cosa offriamo RAL: 38k-50k, Contratto a tempo indeterminato, Ibrido (fino a 3 giorni di Smart Working a settimana), buoni pasto giornalieri e assicurazione sanitaria. Promessa di reale crescita continua, ogni giorno. Caffè a volontà :) nei nostri 3 uffici a Roma Prima di mandare la tua candidatura leggi attentamente i requisiti dell'annuncio, essendo abbastanza esaustivo da capire se Universidata fa per te.