Summary
✨ AI‑Generated
A technology organization is seeking a Senior Backend Engineer to design, develop, and operate complex backend applications and distributed services with a focus on scalability and reliability.
Highlights
Senior role focused on scalable backend architecture, distributed systems, autonomy, and technical ownership.
Description
Senior Backend Engineer – PHP/Laravel, Cloud & Distributed Systems
Cerchiamo un Senior Backend Engineer con almeno 6 anni di esperienza professionale significativa nello sviluppo di applicazioni backend complesse, preferibilmente in ambienti cloud e distribuiti.
La figura entrerà a far parte di un team tecnico piccolo, nel quale sono importanti autonomia, capacità di analisi e ownership delle soluzioni sviluppate.
Non cerchiamo un profilo focalizzato prevalentemente sullo sviluppo di siti web tradizionali, ma una persona che abbia esperienza concreta nella progettazione, sviluppo, evoluzione e gestione di applicazioni backend ad alto carico, API e servizi distribuiti, con particolare attenzione a scalabilità, affidabilità e continuità del servizio.
Competenze principali richieste
Backend development
Ottima esperienza con PHP moderno e sviluppo object-oriented.Esperienza significativa con Laravel.Progettazione e sviluppo di REST API e servizi backend.Ottima conoscenza di JavaScript.Esperienza nella progettazione di applicazioni modulari, scalabili e manutenibili.Conoscenza di design pattern, principi SOLID e buone pratiche di software engineering.Esperienza con testing automatico, unit/integration testing e code review.Database e gestione dei dati
Ottima conoscenza di MySQL, sia dal punto di vista dello sviluppo sia dell'ottimizzazione:progettazione dello schema;indici e query optimization;transazioni e concorrenza;gestione di elevati volumi di dati;replica, alta disponibilità e problematiche di consistenza.Esperienza con database distribuiti, replicati o geograficamente separati.Ottima conoscenza di Redis, utilizzato ad esempio per:caching;dati temporanei/volatili;sessioni;locking;rate limiting;coordinamento tra servizi.È particolarmente apprezzata esperienza con Redis Cluster/Sentinel o soluzioni analoghe di alta disponibilità.Sistemi asincroni e distribuiti
Esperienza concreta con sistemi di messaging e code, preferibilmente RabbitMQ.Conoscenza dei principali pattern di elaborazione asincrona:producer/consumer;retry;acknowledgement;dead-letter queue;idempotenza;gestione degli errori e dei messaggi duplicati.Esperienza nello sviluppo di applicazioni distribuite su più nodi, anche in differenti datacenter o regioni geografiche.Comprensione delle problematiche tipiche dei sistemi distribuiti: latenza, fault tolerance, consistenza, concorrenza, failover, retry e gestione delle network partition.Esperienza nella progettazione di servizi stateless e scalabili orizzontalmente.
Cloud, deployment e operations
È richiesta familiarità concreta con il ciclo completo di delivery di un'applicazione, non limitata alla sola scrittura del codice.
In particolare:
Git e preferibilmente GitLab;branching strategy, merge request e code review;pipeline CI/CD;procedure automatizzate di build, test e deploy;gestione di ambienti development/staging/production;buona conoscenza di ambienti Linux.Non è necessario che la persona sia un DevOps Engineer puro, ma deve comprendere come il proprio software viene costruito, distribuito, monitorato e gestito in produzione.
Performance, affidabilità e osservabilità
Cerchiamo esperienza reale con applicazioni in produzione sottoposte a carichi significativi.
Sono quindi importanti competenze relative a:
analisi e ottimizzazione delle performance;profiling di applicazioni e database;caching;gestione della concorrenza;scalabilità orizzontale;alta disponibilità;graceful degradation e fault tolerance;logging strutturato;metriche, monitoring e alerting;troubleshooting di problemi di produzione.Gradita esperienza con strumenti quali Prometheus, Grafana, ELK/OpenSearch o equivalenti.
Sicurezza
È richiesta una buona conoscenza delle principali problematiche di sicurezza delle applicazioni backend e delle API, tra cui:
autenticazione e autorizzazione;OAuth2/OIDC/JWT o tecnologie equivalenti;gestione sicura delle credenziali e dei secrets;validazione degli input;rate limiting;protezione delle API;principi OWASP.
Competenze preferenziali
Costituiscono un plus:
buona conoscenza di Python, soprattutto per servizi backend, automazioni, elaborazione dati o tooling;conoscenza di TypeScript;esperienza con architetture event-driven;esperienza con microservizi o con sistemi modulari distribuiti;conoscenza di altri sistemi di messaging/streaming quali Kafka, AWS SQS/SNS o equivalenti;conoscenza di altri database SQL/NoSQL;esperienza con sistemi multi-region e strategie di disaster recovery;familiarità con API versioning, OpenAPI/Swagger e contract testing;esperienza nella modernizzazione o evoluzione di sistemi legacy.
Frontend
Il ruolo è prevalentemente backend.
È comunque gradita una conoscenza sufficiente di HTML e CSS, oltre a JavaScript, che permetta alla persona di intervenire autonomamente sul layout e su semplici componenti delle interfacce quando necessario.
Non è richiesta una specializzazione da Frontend Developer.
Caratteristiche personali
Essendo inserita in un team di dimensioni contenute, cerchiamo una persona:
autonoma nell'affrontare problemi tecnici complessi;pragmatica e orientata alla soluzione;capace di comprendere un sistema esistente prima di modificarlo;abituata ad assumersi responsabilità sul software anche dopo il deploy;capace di effettuare troubleshooting in produzione;attenta a qualità, leggibilità e manutenibilità del codice;disponibile al confronto tecnico e alla code review;capace di documentare adeguatamente architetture e decisioni tecniche;interessata a proporre miglioramenti tecnologici senza introdurre complessità non necessaria.
Seniority
Almeno 6 anni di esperienza professionale, di cui una parte significativa maturata nello sviluppo di backend/API e applicazioni distribuite o ad alto carico.
La seniority dovrà emergere soprattutto dalla capacità di:
prendere decisioni architetturali motivate;valutare trade-off;diagnosticare problemi complessi;lavorare autonomamente su sistemi esistenti;gestire l'intero ciclo di vita di una funzionalità, dalla progettazione al funzionamento in produzione.L'esperienza effettiva su sistemi complessi e in produzione è considerata più importante del semplice numero di tecnologie presenti nel CV.