Back-End Developer
Siamo un’azienda campana e un centro di ricerca ICT tra i più noti in Italia, che da 20 anni promuove l’innovazione tecnologica in diversi settori (Sanità, Manifatturiero, Aerospazio, Ferroviario e Smart-Cities). Realizziamo progetti di ricerca, prototipazione, sviluppo pre-competitivo e industrializzazione ad alta tecnologia (Artificial Intelligence, Machine Learning, Industry 4.0, Internet of Things, Augmented e Virtual Reality, Digital Healthcare). Il nostro punto di forza è un ambiente giovane e collaborativo che mette al centro le competenze, l’unicità e l’inclusione di ciascuna persona.
Partiamo da un’idea, la realizziamo e la immettiamo sul mercato.
In questo contesto e con un piano di crescita in forte espansione, cerchiamo BACK END DEVELOPER da inserire nel dipartimento Area sistemi IT.
Panoramica del ruolo
Il nostro Back-End Developer sarà responsabile di progettare e sviluppare le componenti server-side delle applicazioni web, occupandosi anche dell'architettura dei database, dell'integrazione dei servizi e delle API, e delle logiche che rendono le nostre applicazioni scalabili e sicure. Il candidato ideale avrà esperienza nella gestione delle prestazioni, nella gestione dei dati e nell’ottimizzazione dei sistemi lato server, oltre a essere un ottimo collaboratore in un ambiente dinamico e stimolante.
Responsabilità principali
- Progettazione e sviluppo del back-end: Creare, sviluppare e ottimizzare applicazioni server-side utilizzando i principali linguaggi di programmazione, principalmente Java11. in un’architettura a microservizi. La tua responsabilità principale sarà garantire la massima efficienza e scalabilità dei sistemi.
- Gestione dei database: Progettare, implementare e ottimizzare database relazionali (MySQL, PostgreSQL) e non relazionali (MongoDB, Redis). Gestire la creazione, l'aggiornamento e la sicurezza dei dati.
- Integrazione e gestione delle API: Progettare, sviluppare e manutenere API RESTful per l'integrazione dei servizi con il front-end e con altri sistemi esterni. Garantire che le API siano ben documentate (tramite strumenti quali swagger-ui) e facili da manutenere.
- Ottimizzazione delle prestazioni: Ottimizzare il codice per garantire la massima velocità delle applicazioni e il minimo consumo di risorse. Utilizzare strumenti di profilazione per identificare e risolvere i colli di bottiglia.
- Sicurezza e protezione dei dati: Implementare e monitorare misure di sicurezza in ogni fase dello sviluppo (es. protezione contro attacchi come SQL injection, gestione sicura dei dati sensibili).
- Collaborazione con il team front-end: Lavorare a stretto contatto con i front-end developer per integrare il back-end con l'interfaccia utente in modo trasparente ed efficiente.
- Test e debugging: Scrivere e mantenere test automatizzati, sia unitari che di integrazione, per garantire la qualità del codice. Eseguire il debug dei sistemi e risolvere i problemi rapidamente.
- Supporto alla manutenzione e aggiornamento: Aggiornare e manutenere il codice esistente, aggiungere nuove funzionalità e risolvere eventuali problematiche software.
Competenze richieste
- Linguaggi di programmazione: Esperienza consolidata in Java11. Familiarità con framework specifici come Spring, SpringBoot, Hibernate, Liquibase.
- Database: Esperienza con database SQL (MySQL, PostgreSQL, etc.) e NoSQL (MongoDB, Redis). Capacità di progettare schemi complessi e di ottimizzare le query.
- API e microservizi: Esperienza nella progettazione e sviluppo di API RESTful o GraphQL, con una buona comprensione dei principi di architettura a microservizi.
- Versionamento e collaborazioni: Ottima conoscenza di Git e GitHub, esperienza nell’utilizzo di sistemi di versionamento del codice e gestione di flussi di lavoro (branching, pull request, merge).
- Sistemi di distribuzione e DevOps: Familiarità con piattaforme cloud come AWS, GCP o Azure, conoscenza di tecniche di deploy automatizzate tramite CI/CD (Jenkins, GitLab CI, CircleCI).
- Performance e ottimizzazione: Esperienza nell’identificare e risolvere problematiche di performance a livello server, database e rete.
- Sicurezza: Conoscenza delle migliori pratiche di sicurezza applicativa, tra cui la gestione sicura dei dati, protezione delle credenziali e delle sessioni, prevenzione delle vulnerabilità comuni.
- Testing: Conoscenza di metodologie di testing come TDD (Test-Driven Development) e BDD (Behavior-Driven Development), esperienza con framework di test come JUnit, PyTest, Mocha, ecc.
- Conoscenza di sistemi operativi: Esperienza con Linux/Unix e gestione della configurazione.
- Virtualizzazione: Esperienza con containerizzazione (Docker).
- Publish-subscribe protocols: Conoscenza di tecnologie di messaging (MQTT, RabbitMQ, Kafka).
Soft skill
- Problem-solving: Capacità di risolvere problemi complessi in modo creativo ed efficiente.
- Autonomia e proattività: Capacità di lavorare in modo indipendente, con un forte senso di responsabilità e attenzione ai dettagli.
- Collaborazione e comunicazione: Ottime capacità di lavorare in team, di comunicare in modo chiaro con i colleghi e con altri dipartimenti (es. product, design).
- Curiosità e aggiornamento: Passione per l'apprendimento continuo, con un interesse particolare per le nuove tecnologie e le tendenze del settore.
Requisiti preferenziali
- Esperienza con strumenti di orchestrazione (Kubernetes).
- Familiarità con le metodologie Agile/Scrum e strumenti di gestione del progetto (Jira, Trello).
- Esperienza nell’utilizzo di framework di testing come Selenium o Cypress per test end-to-end.
- Conoscenza di strumenti di monitoraggio delle applicazioni (es. New Relic, Prometheus).
Info aggiuntive
Sede di lavoro: Aversa, CE - possibilità di smart working
Orario di lavoro: Full Time
Siamo un’azienda impegnata per le pari opportunità, tutti i candidati saranno considerati per il ruolo in esame indipendentemente dal sesso, razza, religione, paese d’origine, disabilità, orientamento sessuale, età o qualsiasi altra caratteristica tutelata dalla legge. L’annuncio è rivolto ad ambo i sessi (D.lgs n. 198/2006) e nel rispetto di quanto disposto dall’art. 10 del D.Lgs n. 276/2003.