C# Back-End Developer (Middle Level)

C# Back-End Developer (Middle Level)

Posizione
Sviluppatore C# – Sistema Back-End .NET (Middle Level)
Chi stiamo cercando
Stiamo cercando uno Sviluppatore C# con almeno 3 anni di esperienza professionale nello sviluppo di soluzioni software server-side basate su stack Microsoft .NET, da inserire nel nostro team di sviluppo.
La risorsa sarà coinvolta nello sviluppo di moduli mission-critical, nell’evoluzione di componenti legacy e nella progettazione di nuove funzionalità orientate a scalabilità, robustezza e manutenibilità del sistema. Il ruolo prevede un focus particolare su:

API REST e SOAP WebServices

Windows Services

Integrazioni server-side basate su architettura Microsoft

Pipeline di elaborazione dati basate sui principali pattern architetturali in ambito back-end (es.: architetture event-driven)
La figura ricercata deve mostrare una buona autonomia tecnica, capacità di analisi funzionale e padronanza delle logiche di integrazione tra componenti distribuiti.

Requisiti tecnici

Il/la candidato/a ideale possiede:

Ottima conoscenza di C# e .NET (Framework, .NET Core, .NET 6+).
• Buona conoscenza di pattern e best-practice come dependency injection, async/await, task parallelism, logging e configurazioni multi-ambiente.
• Esperienza comprovata nello sviluppo di software back-end orientato ai servizi, con particolare competenza nella progettazione, implementazione e ottimizzazione di Web API.

Solida conoscenza di Microsoft SQL Server e del linguaggio T-SQL.

Esperienza con tecnologie di integrazione di servizi. In particolare:
o API REST
o Web Services SOAP (es.: WCF)

Familiarità con componenti server-side in ambiente Windows:
o Windows Services
o Web Applications / Web Sites ospitati su IIS

• Competenza nello sviluppo di unit test e integration test.
• Solida comprensione delle architetture client-server, dei principali protocolli di rete (in particolare HTTP/HTTPS) e delle logiche di comunicazione sincrona e asincrona tra servizi.
• Ottima familiarità con Git per versioning del codice: gestione dei branch, pull request e workflow collaborativi (GitFlow o simili).
Requisiti preferenziali (nice to have)

• Conoscenza di almeno un framework front-end (es.: Angular, Blazor).

• Esperienza nell’utilizzo di strumenti di Intelligenza Artificiale a supporto dello sviluppo

• Conoscenza dei paradigmi alla base dell’utilizzo di un message broker (es.: RabbitMQ): concetti di exchange e routing, modelli publish/subscribe, architettura ESB, etc..

• Conoscenza delle pipeline CI/CD

Responsabilità principali

La risorsa sarà coinvolta nelle seguenti attività tecniche:
• Sviluppo di nuovi moduli server-side basati su architettura .NET, includendo progettazione delle componenti, definizione delle interfacce, gestione del ciclo di vita dei servizi, implementazione di logiche applicative e integrazione con sistemi esterni.
• Manutenzione evolutiva e correttiva di componenti software legacy, con interventi su codice .NET Framework esistente, ottimizzazione delle performance, refactoring mirato, analisi di compatibilità, gestione delle dipendenze e riduzione del debito tecnico.
• Progettazione e implementazione di API REST, comprendendo:
o definizione della struttura degli endpoint
o modellazione DTO e contratti
o utilizzo di middleware, dependency injection e pipeline HTTP
o gestione sicura dell’autenticazione/autorizzazione
o logging, monitoring e gestione errori.
• Sviluppo e gestione di Web Services SOAP, inclusa:
o creazione e modifica di WSDL
o serializzazione XML
o gestione dei binding e dei protocolli
• Sviluppo, monitoraggio e manutenzione di Windows Services, con:
o implementazione di processi long-running e task schedulati
o gestione dei cicli di esecuzione (start/stop/recovery)
o logging avanzato
• Sviluppo e manutenzione di applicazioni Web ospitate su IIS, incluse:
o configurazione degli application pool e del web hosting
o gestione dei binding
• Gestione dell’accesso ai dati su Microsoft SQL Server, con:
o scrittura ed ottimizzazione di query T-SQL
o utilizzo di stored procedure, viste, funzioni e transazioni
• Sviluppo e manutenzione di unit test e integration test, con:
o utilizzo di framework di testing (xUnit, NUnit, MSTest)
o mocking e test double

Profilo ideale:

Il/la candidato/a ideale, oltre alle competenze tecniche richieste, dimostra una solida capacità di operare in contesti strutturati e orientati alla qualità del software. È in grado di analizzare problemi complessi, proporre soluzioni tecniche efficaci e contribuire attivamente al miglioramento continuo dell’architettura applicativa. Mostra un’elevata attitudine al problem-solving, cura per i dettagli e capacità di lavorare in modo autonomo nella gestione delle proprie attività, garantendo affidabilità, precisione e rispetto delle tempistiche.
La risorsa possiede inoltre ottime capacità comunicative, fondamentali per collaborare con analisti, sviluppatori e stakeholder di progetto; sa documentare il proprio lavoro in modo chiaro e strutturato e affronta con flessibilità l’evoluzione dei requisiti funzionali. Ha un mindset orientato alla collaborazione, al confronto costruttivo e alla condivisione delle conoscenze, contribuendo alla crescita complessiva del team.

Candidatura

Candidati