Work Experience
Python Developer & Data Engineer
08/2025 – present
Self-employed
- Deepening knowledge and experience in Python, data engineering and cloud architectures through personal projects and targeted training.
- Development of the IoT Monitoring Platform (see Projects).
Freelance Data Engineer
02/2025 – 07/2025
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.
Programmer
03/2023 – 01/2025
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.
- Worked with large structured datasets and contributed to the stability and extensibility of the system.
Groundwater & Surface Water Advisor
03/2022 – 12/2022
Antea Group Belgium
- Analysis of hydrological data and groundwater flow modelling.
- Spatial analyses using ArcGIS Pro and QGIS.
- Advisory reports for policymakers and companies on water management.
Family care
2019 – 2021
Researcher – Hydrodynamic Modelling
05/2013 – 08/2019
Vrije Universiteit Brussel
- Hydrodynamic modelling of the Zeeschelde estuary.
- Development of numerical models in Fortran.
Special Academic Staff (BAP)
11/2009 – 04/2013
Vrije Universiteit Brussel — Brussels
Assistant Hydrology & Hydraulic Engineering
06/2009 – 07/2009
Soresma — Belgium
Hydraulic Engineer
08/2006 – 08/2007
Zorrilla Construcciones — Bolivia
Research Assistant & Programming Assistant
07/2004 – 07/2006
Universidad Mayor de San Simón — Bolivia
Projects
IoT Monitoring Platform —
github.com/GonzalezSanchez/iot-monitoring-platform ·
iot.gonzalezsanchez.dev
Project 1a: Serverless Ingestion · 12/2025 – 01/2026
Python · AWS Lambda · API Gateway · DynamoDB · CloudFormation · GitHub Actions
- Serverless REST API for real-time ingestion of sensor events (temperature, humidity, occupancy, motion) with threshold-based anomaly detection.
- Clean layered architecture (models → services → repositories). Full infrastructure provisioned with CloudFormation. Deployed to AWS via CI/CD.
Project 1b: Containerised Ingestion · 01/2026 – 02/2026
Python · FastAPI · Docker · nginx · AWS DynamoDB · React · Cloudflare · OpenTelemetry · Datadog · GitHub Actions
- Same business logic as 1a, redeployed as a containerised FastAPI application — demonstrating the separation of domain logic from infrastructure.
- Live at iot.gonzalezsanchez.dev on a home server via Docker Compose + Cloudflare tunnel. React dashboard with 30s auto-refresh and live event submission.
- Implemented end-to-end observability with OpenTelemetry auto-instrumentation and OTel Collector → Datadog APM: distributed traces with automatic DynamoDB child span detection, log-trace correlation, and Watchdog anomaly detection — zero manual instrumentation.
- Docker images built and pushed to GitHub Container Registry on every merge to main.
Project 2a: Behavior Analyzer (AWS Serverless) · 02/2026 – 04/2026
Python · AWS Step Functions · Lambda · Aurora Serverless v2 · EventBridge · Terraform · Secrets Manager · GitHub Actions
- Serverless ETL pipeline: extracts historical sensor data from DynamoDB, detects occupancy schedules, temperature trends and anomalies, stores results in Aurora Serverless v2 (PostgreSQL).
- Full infrastructure provisioned with Terraform. Runs on-demand to minimise AWS costs (~$15/month while deployed, scales to zero when idle).
- Unit, integration and regression tests (pytest + moto); 80%+ coverage enforced on every push via GitHub Actions.
Project 2b: Behavior Analyzer (Data Engineering) · 04/2026 – 05/2026
Python · Apache Airflow · PySpark · dbt · AWS S3 · PostgreSQL · GeoPandas · Power BI · OpenTelemetry · Grafana Cloud · Jenkins · Terraform · Docker
- Data engineering pipeline with Medallion architecture (Bronze → Silver → Gold): raw Parquet (DynamoDB scan) → processed Parquet (validated, cleaned) → PostgreSQL serving layer via dbt (staging views + materialised marts with source tests).
- PySpark analytics: occupancy schedule detection (window aggregation), temperature trend regression (Spark SQL regr_slope), z-score anomaly detection (stddev_pop — medium ≥ 3, high ≥ 5), spatial hotspot aggregation per building (GeoPandas, EPSG:4326).
- Observability: OTel Collector → Grafana Cloud (Mimir metrics + Loki logs) — custom counters per pipeline stage, Airflow StatsD metrics, PostgreSQL metrics via postgres-exporter.
- Orchestrated by Apache Airflow (weekly schedule). Deployed via a 9-stage Jenkins declarative CD pipeline. Infrastructure provisioned with Terraform (S3 + IAM). Power BI dashboard live at iot.gonzalezsanchez.dev.
- 94 unit tests (pytest + PySpark in-process). CI pipeline with PySpark tests (Java 17), Airflow DAG tests, dbt parse, and terraform validate — all green on every push.
Open Source
PynamoDB
Python · AWS DynamoDB
- Fixed a bug where Enum values were incorrectly rejected as attribute defaults due to an incomplete type validation list. · PR #1302