Senior Software Engineer (.NET / Cloud)
Descrizione dell'offerta
Job Position: Senior Software Engineer (.NET / Cloud)
Chi siamo
Siamo un team tecnico snello che sviluppa una piattaforma distribuita ad alte prestazioni su AWS. Cerchiamo persone che sappiano ragionare per sistemi, leggere, revisionare codice con occhio critico e prendere decisioni architetturali solide. Usiamo strumenti di sviluppo AI-assisted nel nostro workflow quotidiano per eliminare il lavoro meccanico e concentrarci su ciò che conta: design, qualità e affidabilità del sistema.
Lo stack
- .NET 10 / C# con Clean Architecture (Domain → Core → Business → Infrastructure → Api)
- Microsoft Orleans — modello ad attori virtuali per computazione distribuita, clustering, streaming, persistenza stateful
- PostgreSQL con EF Core 10: modellazione dello schema, migrazioni, materialized views, bulk upsert ad alto throughput
- ClickHouse per analytics OLAP in tempo reale
- AWS: ECS Fargate, RDS, S3, Athena, Glue, SQS, ALB, CloudWatch, Secrets Manager
- AWS CDK v2 (TypeScript) per l'intera infrastruttura come codice
- Docker con build multi-stage, Docker Compose per sviluppo locale
- Pipeline CI/CD con federazione OIDC verso AWS
- OpenTelemetry per tracing distribuito, metriche e logging strutturato (Serilog)
- Modellazione dati analitici: schemi dimensionali, query federate su storage colonnare, ingestion batch
Come lavoriamo
Ci interessa che tu sappia pensare, non solo scrivere codice. In concreto:
- Leggere codice prima di scriverlo. Gran parte del lavoro consiste nel comprendere codice esistente — nostro e di librerie terze. Ci aspettiamo la capacità di orientarsi rapidamente in una codebase estesa, isolare il contesto rilevante e identificare i punti di intervento prima di toccare una riga.
- Ragionare per flussi e sistemi. Capire come i componenti interagiscono, dove sono i punti di failure, come si propaga uno stato in un sistema distribuito, come un cambiamento locale impatta il comportamento globale.
- Code review come processo centrale. Attenzione ai dettagli, alle scelte di design e ai trade-off, sia quando scrivi sia quando revisioni.
- AI-assisted development e lavoro in parallelo. Integriamo agenti di sviluppo (Claude Code e simili) nel workflow quotidiano. Lavoriamo su più task in parallelo tramite git worktree, delegando ciò che è ben definibile agli agenti mentre il lavoro cognitivo — design, review, decisioni — resta nostro. Ci aspettiamo che tu sappia orchestrare questo tipo di workflow, non solo eseguirlo.
- Ownership tecnica. Le decisioni implementative sono di chi scrive il codice, con la responsabilità che ne deriva.
Cosa cerchiamo
Requisiti
- Esperienza solida con .NET/C# (minimo 4-5 anni): async/await, dependency injection, middleware pipeline, EF Core
- Microsoft Orleans o esperienza concreta con il modello ad attori virtuali: grain, clustering, streaming, persistenza stateful
- SQL e PostgreSQL avanzato: progettazione dello schema, query optimization, indici, materialized views, bulk operations
- Solida conoscenza di modellazione e organizzazione del dato, sia transazionale sia analitico
- Capacità di leggere e navigare codebase estese: comprensione di codice altrui, attenzione alle convenzioni esistenti, abilità nell'isolare il contesto rilevante
- AWS: esperienza hands-on con ECS/Fargate, S3, RDS; familiarità con IAM e networking VPC
- AWS CDK (TypeScript) per infrastruttura come codice
- Docker e containerizzazione: Dockerfile multi-stage, compose, troubleshooting
- Pipeline CI/CD automatizzate: build, test, deployment, gestione credenziali
- Testing: unit test, integration test con database reali (Testcontainers), test parametrizzati
- Osservabilità: OpenTelemetry (tracing, metriche, logging strutturato)
- Git avanzato: workflow branch-based, gestione conflitti, worktree, code review
Nice to have
- React / TypeScript con esperienza su SPA moderne (Vite, TanStack Query, Tailwind CSS)
- Data engineering: pipeline ETL/ELT, schemi dimensionali, Athena/Presto, formati colonnari (Parquet)
- ClickHouse o altri database OLAP
- Esperienza concreta con strumenti AI-assisted e capacità di orchestrare più agenti in parallelo su worktree separati
Cosa offriamo
- Un codebase maturo, ben documentato e con architettura pulita — non un legacy da riscrivere
- Workflow di sviluppo potenziato da AI che riduce drasticamente il lavoro meccanico
- Autonomia tecnica e ownership sulle scelte implementative
- Stack moderno e aggiornato (.NET 10, Orleans 10, EF Core 10)
Sede : remoto / ibrido Tipo contratto : tempo indeterminato