Software, Data & AI Engineer · Brno · remote / hybrid
TEDOM data platform

ETL, warehouse, catalog and regulatory reporting
Role: Built and run the data side of an energy supplier since 2023: ETL, warehouse, catalog and reporting.
Result: Twelve .NET 9 ETL projects with 358 tests, a catalog with lineage and Text-to-SQL, and seven mandatory ERÚ annexes generated deterministically.
Since 2023 I have built and run the data side of TEDOM energie, an energy supplier: everything that moves data from operational systems into the SQL Server warehouse, and everything that reads it back out.
ETL into the warehouse
- Customer information system (Oracle): incremental loads through staging and MERGE into production tables.
- CRM and customer contact: Raynet CRM, Daktela call centre (calls, QA, transcripts), shared mailboxes through Microsoft Graph, SendGrid e-mail events.
- Market and registry data: EEX prices, the ARES company registry, competitor prices from the ERÚ price comparator (about 12 600 products per run).
- Files: Excel and XLSB parsed without Excel installed.
- Operations: shared audit, retry and security library; expected runs are checked every morning in a digest, and a failed job sends its own diagnosis.
Twelve .NET 9 projects scheduled as SQL Agent jobs, 358 tests and CI on every pull request.
DWH Catalog & AI Control Center
- Metadata collectors for SQL Server, SQL Agent jobs and Power BI models.
- Lineage & impact analysis from source tables through views to Power BI reports.
- Logical relationships: the warehouse has no physical foreign keys, so joins rely on evidence-backed relationships with a confidence score and steward approval.
- Grounded Text-to-SQL and an MCP server so AI assistants answer from the real schema.
Regulatory reporting (ERÚ, decree 346/2025)
Seven mandatory portfolio annexes generated from the warehouse. Every annex is deterministic (two runs, identical output) and reconciled against per-supply-point detail; each assumption is written down as a decision record.
Performance
SQL Server audit over Query Store, index usage and statistics, with fixes split into safe quick wins and changes that need workload validation.
Stack
.NET 9 · C# · SQL Server · T-SQL · Oracle · SQL Agent · Microsoft Graph · Vue 3 · MCP