Job Position: Junior Software Engineer (.NET / Cloud)
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 lavoriamoCi 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 cerchiamoRequisitiEsperienza con .NET/C# (2-3 anni, anche tramite progetti personali significativi): async/await, dependency injection, EF Core o ORM equivalentiSQL e buona familiarità con database relazionali: progettazione di schemi semplici, scrittura di query non banali, comprensione di indici e piani di esecuzioneBasi di modellazione del dato e capacità di scegliere strutture appropriate al problemaCapacità (o forte propensione) a leggere codice altrui: attenzione alle convenzioni esistenti, pazienza nel ricostruire il contesto prima di intervenireFamiliarità 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-composeGit: workflow branch-based, pull request, gestione di conflitti ordinariTesting: unit test e almeno un'esposizione a integration testCuriosità tecnica genuina e voglia di approfondire sistemi distribuiti, osservabilità e infrastrutturaNice to have (ti insegneremo noi, ma se già li conosci è un plus)Microsoft Orleans o esperienza con il modello ad attori (Akka, Erlang/Elixir, Dapr Actors)PostgreSQL avanzato: materialized views, bulk operations, query optimizationAWS CDK o altri strumenti di IaC (Terraform, Pulumi)Pipeline CI/CD e gestione credenziali via OIDCOpenTelemetry o altri stack di osservabilitàClickHouse o database OLAP in generaleReact / 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 offriamoUn 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 contestoWorkflow di sviluppo potenziato da AI che riduce il lavoro meccanico e ti lascia concentrare sull'apprendimentoStack moderno e aggiornato, senza debito tecnico da smaltireCode review come momento formativo, non come filtro burocratico
Sede : remoto / ibridoTipo contratto : tempo indeterminato