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 siamoSiamo 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 statefulPostgreSQL con EF Core: modellazione dello schema, migrazioni, materialized views, bulk upsert ad alto throughputClickHouse per analytics OLAP in tempo realeAWS: ECS Fargate, RDS, S3, Athena, Glue, SQS, ALB, CloudWatch, Secrets ManagerAWS CDK v2 (TypeScript) per l'infrastruttura come codiceDocker con build multi-stage, Docker Compose per sviluppo localePipeline CI/CD con federazione OIDC verso AWSOpenTelemetry per tracing distribuito, metriche e logging strutturato (Serilog)
Come lavoriamo
Leggere codice prima di scriverlo.Gran parte del lavoro consiste nel comprendere codice esistente — nostro e di librerie terze. Capire il contesto, 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.Code review come processo centrale.Attenzione ai dettagli, alle scelte di design e ai trade-off, sia quando scrivi sia quando revisi codice altrui. Accogliamo feedback e li diamo con la stessa apertura.AI-assisted development: integrazione di agenti di sviluppo (Claude Code e simili) nel workflow quotidiano. Delega automatica a ciò che è ben definibile, mantenendo le decisioni di design cognitive al team.Ownership tecnica proporzionata. Partecipare con task delimitati, crescendo verso decisioni architetturali più ampie man mano che si costruisce contesto sulla piattaforma.
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: abilità di scrivere Dockerfile funzionante e lavorare con docker-compose.Git: workflow branch-based, pull request, gestione di conflitti ordinari.Testing: unit test e almeno un'esperienza con integration test.Curiosità tecnica genuina e voglia di approfondire sistemi distribuiti, osservabilità e infrastruttura.
Nice to have
Microsoft 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: partire su task delimitati e assumere ownership crescente man mano che si costruisce 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.
Sederemoto / ibridoTipo contrattotempo indeterminatoLocationGenoa, Liguria, IT#J-18808-Ljbffr