Leuven, Belgium

Álvaro González Sánchez

Backend & Data Engineer · Python · AWS · Azure · Databricks

About

Backend developer with a strong background in Python, API development, and cloud-based data architectures. Experienced in building scalable backend applications, processing time series data, and automating complex workflows. Combines software engineering with an analytical engineering mindset and years of experience in modelling and data-intensive projects. Driven to build robust, secure, and performant systems within a dynamic, fast-growing environment.

Skills

Backend & Dev

Python FastAPI Flask Java Spring Boot REST APIs ETL Pipelines OOP TDD Git CI/CD Scrum AI / LLM Claude API MCP Agent loops SSE streaming

Cloud & DevOps

AWS Lambda API Gateway S3 DynamoDB Aurora Serverless CloudFormation Step Functions EventBridge Secrets Manager CloudWatch SNS Azure ADLS Gen2 Key Vault Event Hubs Azure Monitor Infrastructure & DevOps Terraform Docker Docker Compose Kubernetes Nginx GitHub Actions Jenkins Cloudflare OpenTelemetry Datadog

Data Engineering

Databases PostgreSQL MySQL MongoDB Processing PySpark Databricks Delta Lake Unity Catalog Pandas NumPy Scikit-learn GeoPandas Pipelines Apache Airflow dbt Auto Loader Databricks Asset Bundles ETL/ELT Observability & BI Grafana Cloud Power BI Tableau

Languages

Spanish · Native English · C1 Dutch · C1 German · A2 French · A2

Experience

08/2025 – Present

Python Developer & Data Engineer

Self-employed

  • · Designed, built and operate a production IoT/data platform — serverless & containerised ingestion, analytics pipelines on AWS and Azure Databricks, and an AI assistant (Claude API + MCP) — live at iot.gonzalezsanchez.dev (see Projects).
  • · Run as a real product: CI/CD, infrastructure as code, observability and security hardening on a self-hosted server; open-source fixes merged into Pydantic and PynamoDB.

02/2025 – 07/2025

Freelance Data Engineer

Self-employed — Peru & Bolivia

  • · Data analysis and software development for projects in South America (environmental and water sector).
  • · Processing and analysis of discrete and continuous datasets using Python.

03/2023 – 01/2025

Programmer

Link / Manage Count-e — Leuven

  • · Backend development and maintenance of a school management system with a complex relational database (350+ tables).
  • · Automation of administrative business processes in collaboration with multidisciplinary teams.

2022

Ground & Surface Water Advisor

Anteagroup

  • · Analysis of hydrological data and modelling of groundwater flows
  • · Spatial analyses and reporting using ArcGIS Pro and QGIS
  • · Advisory reports for policymakers on water management

2013 – 2019

Researcher – Hydrodynamic Modelling

Vrije Universiteit Brussel

  • · Research on flow dynamics in the Zeeschelde estuary
  • · Development of hydrodynamic models in Fortran

Projects

IoT Monitoring Platform

A growing platform covering all layers of a real IoT system — from secure device ingestion through a Kafka gateway to behavioral analytics and an AI assistant that answers questions about the live data. Built around a conference room monitoring use case (temperature, humidity, occupancy, motion), with a deliberate focus on clean architecture, infrastructure as code, and engineering practices that hold up in production. 403 tests across seven projects, 80%+ coverage enforced on every push via GitHub Actions.

Project 1a

Serverless Ingestion

Serverless REST API for real-time sensor event ingestion with threshold-based anomaly detection. Clean layered architecture (models → services → repositories). Full infrastructure as code with CloudFormation. Deployed to AWS via CI/CD.

Python AWS Lambda API Gateway DynamoDB CloudFormation

Project 1b

Containerised Ingestion

Same domain logic as 1a, redeployed as a containerised FastAPI app. End-to-end observability with OpenTelemetry auto-instrumentation → OTel Collector → Datadog APM: distributed traces with automatic DynamoDB child span detection, log-trace correlation, and Watchdog anomaly detection — zero manual instrumentation.

Python FastAPI Docker nginx React OpenTelemetry Datadog
Datadog APM — POST /events flame graph with automatic DynamoDB child span detection

Project 2a

Behavior Analyzer · AWS Serverless

Serverless ETL pipeline: extracts historical sensor data from DynamoDB, detects occupancy schedules, temperature trends and anomalies, stores results in Aurora Serverless v2 (PostgreSQL). Full Terraform infrastructure. Runs on-demand to minimise costs.

Python Step Functions Aurora Serverless Terraform EventBridge
Step Functions execution graph — Extract → Transform → Analyze
On-demand · AWS LinkedIn post →

Project 2b

Behavior Analyzer · Data Engineering

Same analytics goal as 2a, re-implemented with a data engineering stack. Medallion architecture (Bronze → Silver → Gold): raw Parquet → processed Parquet → PostgreSQL via dbt. PySpark analytics: occupancy schedules, temperature trend regression (regr_slope), z-score anomaly detection, spatial hotspots (GeoPandas). Observability via OTel → Grafana Cloud. Power BI dashboard live in the frontend. Deployed via a 9-stage Jenkins CD pipeline (Groovy Jenkinsfile).

Python Apache Airflow PySpark dbt AWS S3 GeoPandas Power BI Grafana Cloud Jenkins (Groovy)

Project 2c

Behavior Analyzer · Azure Databricks Lakehouse

Same analytics domain as 2b, rebuilt on a fully managed Azure stack. Bronze ingestion via Auto Loader, Silver transformation with the Write-Audit-Publish pattern (good records MERGEd idempotent, invalid records to quarantine — never deleted), Gold layer with dbt-databricks incremental models: z-score anomaly detection, hourly aggregations, dimensional models. Full IaC via Terraform. Monthly job on the 1st at 06:00 Brussels time via Databricks Asset Bundles. Gold data served live via FastAPI /lakehouse/* endpoints.

Python Azure Databricks Delta Lake Unity Catalog dbt ADLS Gen2 Terraform DABs

Project 3

IoT Device Gateway · Kafka

Secure device layer for the platform: device registration with bcrypt-hashed API keys, short-lived JWT session tokens and per-device sliding-window rate limiting. Async FastAPI producer publishes sensor events to Kafka (Redpanda); a consumer group normalises them to the shared DynamoDB contract with idempotent writes — poison messages go to a dead-letter queue with full error context. CloudFormation IaC, CLI device simulator and Locust load-test suite integrated in CI.

Python FastAPI Kafka Redpanda DynamoDB CloudFormation Locust
Live in production · backend-only (no dashboard tab)

Project 4

AI Assistant · Claude + MCP

Conversational AI layer over the live platform: Claude answers questions about the real sensor data by calling the platform's own REST APIs, exposed as 7 read-only MCP tools. Bounded agent loop on the streaming Claude API, answers streamed token-by-token via SSE into a chat tab. Security by design: least-privilege container, read-only tool allowlist, per-IP rate limiting.

Python Claude API MCP FastAPI SSE Docker React
AI Assistant chat — Claude answers from the live data via the get_rooms MCP tool

Open Source

Pydantic · 10B+ downloads

Fixed silent acceptance of unknown mypy plugin config keys; added validation and clear warnings for both pyproject.toml and .ini formats, with test coverage. · PR #13149

Python mypy plugin

PynamoDB · 2k+ stars

Fixed a bug where Enum values were incorrectly rejected as attribute defaults due to an incomplete type validation list. · PR #1302

Python AWS DynamoDB

Education & Certifications

MSc Water Resources Engineering

KU Leuven · 2009 · Magna cum laude

Enterprise Java Developer

VDAB · 2022

Intro to CS & Programming – Python

MITx

Computational Thinking & Data Science

MITx

Introduction to Data Science with Python

HarvardX

Developing Apps in Python on AWS

AWS

Containers, Kubernetes & OpenShift

IBM

Python for Data Engineering

IBM

Complete ArcGIS Pro Mastery

Esri

Full list on LinkedIn.