17 ott
|
ZeroDD Soluzioni Informatiche
|
Lecce
17 ott
ZeroDD Soluzioni Informatiche
Lecce
Chi siamo
ZeroDD è una software house in forte crescita con sede a Lecce, specializzata in soluzioni digitali per la Pubblica Amministrazione. Lavoriamo su progetti di integrazione, sviluppo software e trasformazione digitale per clienti regionali e nazionali.
Descrizione profilo
Cerchiamo uno sviluppatore backend che realizzi servizi Java/Spring Boot robusti e testati, con un'attenzione costante alla sicurezza scritta nel codice: autenticazione e autorizzazione basate su componenti standard, segreti mai in chiaro, input validati, analisi statica integrata nel ciclo di sviluppo. La figura lavora in un team cross-funzionale e si confronta con il Tech Lead sulle scelte architetturali e di processo.
Requisiti:
- Almeno 3 anni di sviluppo backend in Java/Spring, con almeno un progetto in cui ha configurato Spring Security o un server OAuth2.
- Esperienza pratica di secure coding verificabile (correzione di rilievi di analisi statica, test di autorizzazione, gestione di segreti).
- Laurea in Informatica, Ingegneria Informatica o esperienza equivalente.
- Gradita una certificazione o un corso su sviluppo affidabile.
- Italiano fluente; inglese tecnico.
Principali attività
- Progettare e implementare funzionalità backend in Java/Spring Boot all'interno di un'architettura.
- Modellare e far evolvere lo schema di persistenza su database NoSQL tramite migrazioni versionate.
- Integrare componenti di messaggistica asincrona e job pianificati in contesti ad alta disponibilità.
- Progettare e mantenere API REST contract-first con specifica OpenAPI.
- Implementare autenticazione e autorizzazione con i componenti standard dell'ecosistema Spring, senza primitive di sicurezza scritte in proprio.
- Scrivere test unitari, di integrazione e di autorizzazione; mantenere la copertura e la qualità del codice ai livelli concordati.
- Mantenere attivi e verdi gli strumenti di analisi statica e di sicurezza del codice in pre-commit e in pipeline, correggendo i rilievi.
- Revisionare il codice dei colleghi e documentare le decisioni tecniche in forma breve e motivata.
Competenze tecniche
Linguaggio e framework:
- Java 17 o superiore; Spring Boot; Maven.
- Architetture a strati o esagonali; monoliti modulari; verifica automatica dei confini architetturali (ArchUnit o equivalenti).
- Gestione centralizzata degli errori, configurazione esternalizzata, endpoint di health e readiness.
Persistenza e messaggistica:
- MongoDB e/o PostgreSQL: modellazione, indici, migrazioni versionate, transazioni.
- Un broker di messaggi (RabbitMQ, Kafka o equivalenti) e i pattern di consistenza correlati (outbox, idempotenza).
- Esecuzione sicura di job pianificati su più istanze (lock distribuiti).
API:
- OpenAPI 3 in approccio contract-first; validazione automatica della specifica nei test; controllo della compatibilità all'indietro.
Secure coding:
- Spring Security e Spring Authorization Server: JWT, OAuth2 (client_credentials), configurazione della catena dei filtri.
- Autorizzazione basata su ruoli e perimetri di visibilità, con test sistematici dei casi positivi e negativi.
- Hashing adattivo delle password e dei segreti (bcrypt, argon2).
- Gestione dei segreti tramite vault (HashiCorp Vault, OpenBao o equivalenti); nessun dato sensibile in configurazione, log o risposte.
- OWASP Top 10; validazione di input e di URL in uscita (prevenzione SSRF).
- Client HTTP verso servizi terzi con autenticazione OAuth2, OIDC, Basic.
- Analisi statica e SCA: Semgrep (incluse regole personalizzate semplici), SonarQube, Snyk o equivalenti,
integrati in pre-commit e CI.
Testing e qualità:
- JUnit 5; Testcontainers per test di integrazione contro servizi reali; uso misurato di fake e mock; JaCoCo; mutation testing (PIT) gradito.
- Formattazione automatica del codice (Spotless o equivalenti).
Strumenti e processo:
- Git con branching per feature, merge/pull request, code review, Conventional Commits.
- Pipeline CI/CD (GitLab CI o equivalenti).
- Docker per gli ambienti locali; nozioni di Kubernetes.
- Strumenti di tracciamento e documentazione (Jira, Confluence o equivalenti); diagrammi testuali (Mermaid o equivalenti).
Competenze gradite
- OAuth 1.0a come client.
- Nozioni di frontend React/TypeScript e di tipi generati da OpenAPI.
- Scrittura di Architecture Decision Record.
Competenze trasversali
- Autonomia nel portare una funzionalità da requisito a rilascio, con test e documentazione.
- Capacità di scrivere decisioni tecniche brevi e motivate e di rispondere puntualmente alle revisioni.
- Rigore nel separare il ruolo di autore da quello di revisore.
- Comunicazione chiara con colleghi di altre aree e con interlocutori esterni.
Cosa offriamo
- Contratto e inquadramento con CCNL CED, con relativo piano welfare e assicurazione salute
- Range retributivo: 28-30k
- Buoni pasto
- Flessibilità oraria
- Sede del lavoro: Lecce, con 2 giorni di lavoro da remoto a settimana
- Ambiente collaborativo, contesto stimolante e progetti con impatto reale
La ricerca è rivolta a candidati di entrambi i sessi (L. 903/77) e a persone di tutte le età e nazionalità, ai sensi dei D.Lgs. 198/2006, 215/03, 216/03. Si prega di prendere visione dell'informativa sulla privacy (art. 13, D.Lgs. 196/2003 e art. 13 GDPR 679/16).
Retribuzione: €28.000,00 - €30.000,00 all'anno
Benefit:
- Assicurazione sanitaria
- Buoni pasto
- Lavoro da casa
Sede di lavoro: Ibrido/da remoto (Lecce, Puglia)
📌 Backend Engineer - Java/Spring, secure coding (Lecce)
🏢 ZeroDD Soluzioni Informatiche
📍 Lecce