Job Position: Junior Software Engineer (.NET / Cloud)
Tutti i potenziali candidati sono invitati a leggere con attenzione i seguenti dettagli prima di inviare la propria candidatura.
Chi siamo
Siamo un team tecnico snello che sviluppa una piattaforma distribuita ad alte prestazioni su AWS. Cerchiamo persone curiose, che sappiano ragionare per sistemi, leggere codice con occhio critico e avere voglia di crescere su architetture complesse. 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 / 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: 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'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)
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à (o la voglia di svilupparla) di orientarsi 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 un cambiamento locale impatta il comportamento globale. Non serve che tu lo sappia già fare su scala distribuita — serve che tu voglia impararlo.
Code review come processo centrale.
Attenzione ai dettagli, alle scelte di design e ai trade-off, sia quando scrivi sia quando revisioni codice altrui. Accogliamo feedback e li diamo con la stessa apertura.
AI-assisted development.
Integriamo agenti di sviluppo (Claude Code e simili) nel workflow quotidiano. Deleghiamo agli agenti ciò che è ben definibile, mentre il lavoro cognitivo — design, review, decisioni — resta nostro. Ti insegneremo come orchestrare questo tipo di workflow se non lo conosci già.
Ownership tecnica proporzionata.
Partirai affiancato su task ben delimitati, con crescita graduale verso decisioni architetturali più ampie man mano che costruisci contesto sulla piattaforma.
Cosa cerchiamo
Requisiti
Esperienza con .NET/C# (2-3 anni, anche tramite progetti personali significativi): async/await, dependency injection, EF Core o ORM equivalenti
SQL e buona familiarità con database relazionali: progettazione di schemi semplici, scrittura di query non banali, comprensione di indici e piani di esecuzione
Basi di modellazione del dato e capacità di scegliere strutture appropriate al problema
Capacità (o forte propensione) a leggere codice altrui: attenzione alle convenzioni esistenti, pazienza nel ricostruire il contesto prima di intervenire
Familiarità con almeno un cloud provider (AWS preferibile, ma GCP/Azure vanno bene come punto di partenza)
Docker: saper scrivere un Dockerfile funzionante e lavorare con docker-compose
Git: workflow branch-based, pull request, gestione di conflitti ordinari
Testing: unit test e almeno un'esposizione a integration test
Curiosità tecnica genuina e voglia di approfondire sistemi distribuiti, osservabilità e infrastruttura
Nice to have (ti insegneremo noi, ma se già li conosci è un plus)
Microsoft xrdztoy Orleans o esperienza con il modello ad attori (Akka, Erlang/Elixir, Dapr Actors)
PostgreSQL avanzato: materialized views, bulk operations, query optimization
AWS CDK o altri strumenti di IaC (Terraform, Pulumi)
Pipeline CI/CD e gestione credenziali via OIDC
OpenTelemetry o altri stack di osservabilità
ClickHouse o database OLAP in generale
React / TypeScript con SPA moderne (Vite, TanStack Query, Tailwind CSS)
Data engineering: pipeline ETL/ELT, schemi dimensionali, formati colonnari (Parquet)
Esperienza con strumenti AI-assisted e workflow multi-agente (git worktree, deleghe parallele)
Cosa offriamo
Un codebase maturo, ben documentato e con architettura pulita — non un legacy da riscrivere, ma un ambiente in cui imparare cosa vuol dire \"fatto bene\"
Percorso di crescita reale: partirai su task delimitati e assumerai ownership crescente man mano che costruisci contesto
Workflow di sviluppo potenziato da AI che riduce il lavoro meccanico e ti lascia concentrare sull'apprendimento
Stack moderno e aggiornato, senza debito tecnico da smaltire
Code review come momento formativo, non come filtro burocratico
Sede : remoto / ibrido
Tipo contratto : tempo indeterminato