Full-stack developer
- Profili mid o senior
- Full remote o in sede a Cesena
- Assunzione o partita IVA
Il ruolo
Cerchiamo uno sviluppatore o una sviluppatrice full-stack che voglia entrare nel cuore tecnologico dei nostri prodotti. Se ami scrivere codice pulito, testato e performante e ti piace lavorare sia sul backend sia sul frontend, questa può essere l’occasione giusta per te.
Lavorerai su più progetti e clienti in parallelo insieme al team, con responsabilità reali. Contribuirai sia allo sviluppo sia alle scelte tecniche, con attenzione a qualità, sicurezza e manutenibilità.
Team e organizzazione
- Entrerai in un team di 4 sviluppatori full-stack e 3 designer UI/UX.
- Il lavoro è organizzato in sprint di 2 settimane, facilitati da uno Scrum Master.
- Lavorerai a stretto contatto con il team e con i Project Manager dei progetti, senza contatto diretto con i clienti.
Tech stack
- Backend: NestJS, TypeScript, Drizzle ORM, SQL
- Frontend: React, Tailwind CSS
- Infrastruttura: Docker, Node.js, monorepo (Nx/Turborepo), AWS
Cosa ci aspettiamo
- Architettura e sviluppo: contribuirai a definire l’architettura di nuovi strumenti e funzionalità, dal backend all’infrastruttura fino a frontend complessi.
- Componenti e librerie: progetterai, svilupperai e manterrai i nostri componenti, ampliando le librerie e sperimentando le tecnologie emergenti che possono fare davvero la differenza.
- Qualità del codice: migliorerai costantemente il codice con refactoring, correzione dei bug e code review con il team. Scrivere e mantenere test solidi è una priorità, non un optional.
- Collaborazione con UI/UX: lavorerai a stretto contatto con il team di design per passare in modo efficace dai prototipi in Figma all’implementazione, allineando vincoli tecnici e buone pratiche.
- Evoluzione dei prodotti esistenti: conoscerai a fondo i prodotti già in manutenzione per i nostri clienti, per gestire change request, correzioni e miglioramenti e garantire continuità.
- Condivisione: lavorerai in un team affiatato, dove scambio di idee, aiuto reciproco e confronto costruttivo sono alla base di tutto.
Chi cerchiamo
Cerchiamo una persona che tenga alla qualità del software e che voglia migliorare sia le proprie competenze sia i processi di lavoro. Contano la disponibilità al confronto tecnico e la voglia di sperimentare, quando porta a risultati concreti.
Esperienza
- Almeno 5 anni di sviluppo software professionale
- Ottima padronanza di TypeScript e JavaScript moderno
- Conoscenza solida di React (hooks, context, composizione)
- Esperienza con NestJS o framework simili (Express, Fastify)
- Ottima competenza in SQL e database relazionali (Drizzle ORM è un plus)
- Esperienza con Tailwind CSS o framework utility-first
- Conoscenza delle API Node.js (streams, fs, path)
- Esperienza con Docker e docker-compose
- Familiarità con dependency injection, decorators e metadata reflection
- Ottima competenza con Git e workflow collaborativi
- Conoscenza di bundler moderni (Vite, Webpack, esbuild)
- Esperienza con test a più livelli: unit, integration, end-to-end
Requisiti graditi
- Esperienza con monorepo (Nx, Turborepo, Lerna)
- Gestione avanzata dello stato (Zustand, Jotai, Redux)
- CI/CD (GitHub Actions, Ansible, Terraform)
- Inglese di livello B2+
Cosa offriamo
- RAL 37.000–42.000 €: inquadramento e retribuzione in base all’esperienza e alla seniority, con revisione periodica secondo responsabilità e crescita.
- Buoni pasto Satispay: semplici da usare e flessibili nella vita di tutti i giorni.
- Lavoro flessibile, da remoto o in ufficio: puoi lavorare interamente da remoto oppure in presenza, come preferisci. La nostra sede di Cesena è sempre disponibile per incontrarsi quando serve.
- Copertura sanitaria e welfare aziendale: assicurazione e benefit sanitari in linea con l’inquadramento e con il CCNL Metalmeccanico.
- Team building online e in presenza: iniziative periodiche per rafforzare la collaborazione e le relazioni nel team.
- Supporto alla formazione: budget e iniziative per la crescita professionale (corsi, certificazioni, risorse tecniche), per un apprendimento continuo e mirato.
- Tempo per la sperimentazione: spazio pianificato per esplorare nuove tecnologie, strumenti e approcci, condividendo con il team i risultati utili a migliorare prodotti e processi.
Come si svolge la selezione
- Call di conoscenza (30–45 min): un primo incontro per conoscerci. Parliamo del tuo percorso, delle tue motivazioni e delle aspettative reciproche, e ti presentiamo l’azienda, il ruolo e il modo di lavorare del team.
- Prova tecnica (coding challenge da svolgere offline): un esercizio pratico per valutare competenze JavaScript/TypeScript, problem solving e buone pratiche (struttura, qualità, test).
- Call tecnica (30–45 min): riguardiamo la prova insieme al Technical Lead e discutiamo scelte implementative, alternative, compromessi e approccio allo sviluppo.
- Call con il CEO (30–45 min): un colloquio finale per allinearci su obiettivi, contesto e percorso. In questa fase parliamo anche della parte economica e dei dettagli dell’offerta.








