Descrizione della Posizione Lavorativa
Posizione: Junior Software Engineer (.NET / Cloud)
Siamo un piccolo team tecnico che realizza una piattaforma distribuita ad alte prestazioni su AWS. Cerchiamo persone curiose, capaci di ragionare per sistemi, leggere codice con spirito critico e desiderose di crescere su architetture complesse. Integrando strumenti di sviluppo AI-assisted nel flusso quotidiano, riduciamo il lavoro ripetitivo per concentrarci su design, qualità e affidabilità.
Stack tecnologico
- .NET / C# con Clean Architecture (Domain → Core → Business → Infrastructure → Api)
- Microsoft Orleans (modello ad attori virtuali: clustering, streaming, persistenza stateful)
- PostgreSQL con EF Core: modellazione, migrazioni, materialized views, bulk upsert
- ClickHouse per analytics OLAP in tempo reale
- AWS: ECS Fargate, RDS, S3, Athena, Glue, SQS, ALB, CloudWatch, Secrets Manager
- AWS CDK v2 (TypeScript) per Infrastructure-as-Code
- Docker (multi-stage build) e Docker Compose per sviluppo locale
- Pipeline CI/CD con federazione OIDC verso AWS
- OpenTelemetry per tracing distribuito, metriche e logging strutturato (Serilog)
Come lavoriamo
- Leggere codice prima di scriverlo: gran parte del lavoro è capire codice esistente, isolare il contesto e identificare i punti di intervento.
- Ragionare per flussi e sistemi: valutare interazioni, potenziali failure e l'impatto delle modifiche a livello di sistema.
- Code review come processo centrale: attenzione a design, trade-off e dettaglio; feedback reciproci e costruttivi.
- AI-assisted development: integrazione di agenti (es. Claude Code) per delegare attività ben definite, mantenendo umano il lavoro cognitivo; formazione sull'orchestrazione di questi workflow.
- Ownership tecnica proporzionata: si inizia affiancati su task limitati con crescita graduale verso decisioni architetturali.
Requisiti
- Esperienza con .NET/C# (2-3 anni), anche tramite progetti personali: async/await, dependency injection, EF Core o ORM equivalenti.
- Buona conoscenza di SQL e database relazionali: progettazione di schemi semplici, query non banali, indici e piani di esecuzione.
- Basi di modellazione dei dati e capacità di scegliere strutture adeguate al problema.
- Capacità o forte propensione a leggere codice altrui, rispettando convenzioni e ricostruendo il contesto prima di intervenire.
- Familiarità con almeno un cloud provider (preferibile AWS, GCP/Azure accettabili).
- Docker: scrivere Dockerfile funzionanti e usare docker-compose.
- Git: workflow branch-based, pull request e gestione conflitti.
- Testing: unit test e almeno esposizione a integration test.
- Curiosità tecnica e volontà di approfondire sistemi distribuiti, osservabilità e infrastruttura.
Nice to have
- Esperienza con Orleans o altri modelli ad attori (Akka, Erlang/Elixir, Dapr Actors).
- PostgreSQL avanzato: materialized views, bulk operations, ottimizzazione query.
- Strumenti IaC (AWS CDK, Terraform, Pulumi).
- Pipeline CI/CD e gestione credenziali via OIDC.
- OpenTelemetry o altri stack di osservabilità.
- ClickHouse o altri database OLAP.
- React / TypeScript e SPA moderne (Vite, TanStack Query, Tailwind CSS).
- Data engineering: pipeline ETL/ELT, schemi dimensionali, formati colonnari (Parquet).
- Esperienza con strumenti e workflow AI-assisted e multi-agente (es. git worktree, deleghe parallele).
Cosa offriamo
- Un codebase maturo e ben documentato con architettura pulita, non un legacy da riscrivere.
- Un percorso di crescita reale: avvio su task delimitati e progressiva assunzione di responsabilità.
- Workflow di sviluppo potenziato da AI che riduce il lavoro meccanico.
- Stack moderno senza debito tecnico significativo.
- Code review intesa come momento formativo.
Sede: remoto / ibrido — Venezia (VE), Italia
Tipo contratto: tempo indeterminato
Benefit
- Percorso di crescita strutturato e affiancamento iniziale.
- Ambiente tecnico moderno e formazione su workflow AI-assisted.
- Codebase documentata e opportunità di responsabilità crescenti.
Requisiti
2-3 anni di esperienza con .NET/C# (anche progetti personali), conoscenza SQL e database relazionali, basi di modellazione dei dati, capacità o forte propensione a leggere codice esistente, familiarità con almeno un cloud provider (preferibilmente AWS), esperienza con Docker e Git, esposizione a unit e integration test, curiosità verso sistemi distribuiti e osservabilità.
Competenze richieste
Competenze professionali
.NET / C#
EF Core / ORM
SQL / PostgreSQL
Microsoft Orleans / modelli ad attori
Docker / docker-compose
AWS (ECS Fargate
RDS
S3
etc.)
AWS CDK (TypeScript)
CI/CD e OIDC
OpenTelemetry
ClickHouse
Git
Testing (unit e integration)
Competenze trasversali
Pensiero sistemico
Attenzione ai dettagli
Capacità di leggere codice altrui
Curiosità e voglia di imparare
Lavoro di squadra
Apertura al feedback