Skip to content Přeskočit na obsah

Jakub Březík

Developer · Data and API Integration Vývojář · Datová a API integrace

Jakub Březík

SummaryProfil

Developer with 20 years in IT, the last 10 in data warehousing and data integration between systems in banking and insurance. From 2018 to 2026 at KBC I did the reference-data integration from source systems to data warehouse: design, build, orchestration, testing and daily operations across four environments and ten KBC Group entities. I design asynchronous, file-based integration flows with validation and fallback mechanisms, and build services around them. I make complex systems easy to see through, in data, tools and documentation.

Vývojář s 20 lety v IT, z toho posledních 10 v datových skladech a datové integraci mezi systémy v bankovnictví a pojišťovnictví. V letech 2018–2026 jsem v KBC řešil integraci číselníků ze zdrojového systému do datového skladu: návrh, vývoj, orchestraci, testování a každodenní provoz napříč čtyřmi prostředími a deseti entitami skupiny KBC. Navrhuji asynchronní, souborové integrační toky s validací a fallback mechanismy a vystavuji kolem nich služby. Z nepřehledného dělám přehledné, v datech, nástrojích i dokumentaci.

ExperienceZkušenosti

Integration & ETL Developer, Reference DataIntegrační a ETL vývojář, číselníky

KBC (via Adastra)(přes Adastru) 2018 – 20262018 – 2026 · PraguePraha

Project Rainbow: KBC Group's central data warehouse on Teradata (FSDM model) for internal and regulatory reporting, including reporting to the ECB. It serves ten local and group entities. End-to-end owner of the reference data flow from RDM to the Teradata DWH. Codelists are enablers: without fresh and correct values the rest of the warehouse cannot load reliably.

Projekt Rainbow: centrální datový sklad skupiny KBC na Teradata (model FSDM) pro interní a regulatorní reporting včetně reportingu do ECB. Obsluhuje deset lokálních a skupinových entit. End-to-end vlastník toku číselníků z RDM do DWH na Teradata. Číselníky jsou enablerem: bez aktuálních a správných hodnot se zbytek skladu nedá spolehlivě načíst.

Architecture and designArchitektura a návrh

  • Implemented Informatica BDM export mappings on top of the existing canonical format, a view that flattens RDM business objects into single table, so one mapping serves every codelist and scales well.
  • Proposed reversing the data flow between environments (production to integration, integration to development) for the internal RDM data-testing case that relied on live data, defended it before the technical committee, got it approved and negotiated the routing with the platform and security teams.
  • Introduced OpenAPI specifications and swagger-ui for the data testing REST services; the RDM application team adopted the same setup for their own interface.
  • Maintained the integration documentation and the content and domain ownership catalogues in Confluence, used by the team, analysts and DWH operations.
  • Implementoval jsem exportní mappingy v Informatica BDM nad existujícím kanonickým formátem – view, které složí business objekty RDM na jednu tabulku, takže jeden mapping obsluhuje všechny číselníky a dobře škáluje.
  • Navrhl jsem obrácení toku dat mezi prostředími (z produkce do integrace, z integrace do vývoje) pro interní testování dat RDM, které vyžadovalo živá data. Obhájil jsem ho před technickým výborem, získal schválení a vyjednal routing s platformovým a bezpečnostním týmem.
  • Zavedl jsem OpenAPI specifikace a swagger-ui pro REST služby data testingu; aplikační tým RDM převzal stejné nastavení pro vlastní rozhraní.
  • Udržoval jsem integrační dokumentaci a katalogy obsahu a vlastnictví domén v Confluence, které používá tým, analytici a provoz DWH.

Integration engineeringIntegrační vývoj

  • Owned the export chain: denormalizing view on the RDM database, Informatica BDM mapping, flat-file export, file transfer to the Unix servers, ingestion and loading through the database layers on Teradata.
  • Replaced the standard one-job-per-table (400+ jobs) load with a looping job that validates each table, loads the ones that pass, stops on nulls or structure mismatches.
  • Wrote the housekeeping modules: archiving and retention of exports, RDM housekeeping through its REST API, and the data-testing checks that call the in-house testing service.
  • Maintained source file XML definitions, normalization ETL and the loading transformations stored in PostgreSQL.
  • Vlastnil jsem exportní řetězec: denormalizační view nad databází RDM, mapping v Informatica BDM, export do souboru, přenos souborů na unixové servery, ingest a load přes databázové vrstvy na Teradata.
  • Standardní load jeden job na tabulku (400+ jobů) jsem nahradil smyčkovým jobem, který každou tabulku validuje, nahraje ty, které projdou, a zastaví se na null hodnotách nebo nesouladu struktury.
  • Napsal jsem moduly pro housekeeping: archivaci a retenci exportů, housekeeping RDM přes jeho REST API a kontroly testování dat, které volají vlastní testovací službu.
  • Udržoval jsem XML definice zdrojových souborů, normalizační ETL a loadovací transformace uložené v PostgreSQL.

Services and tooling (Java, Spring Boot)Služby a nástroje (Java, Spring Boot)

  • Data-testing service: compares the exports with the RDM source and the Teradata target and exposes the checks as a REST API. It replaced a manual comparison in Excel that took tens of minutes per query run, down to seconds. Results are wired into Jira Zephyr test suites and Confluence tables through their APIs.
  • Environment generator: creates integration, acceptance and production variants of an entity's roughly 1,000 template objects, including flows and orchestration, so one development environment behaves like three environments. A single-entity sandbox load took about 90 minutes and had to be wiped between datasets; migration tests now load all three at once and analysts compare live. Test suite runtime went from days to hours, allowing multiple loads per day.
  • Operations dashboard: runs the check SQL on PostgreSQL and posts a compact status grid (three environments × ten entities × layers) to Confluence after each daily load, scheduled by Jenkins. Each tile expands to defect details and links. Covers database space, missing objects, column drift, nulls, load delays, soft errors, new and obsolete tables, volume spikes and empty loads, cutting detection and fix times. Handed over to DWH operations.
  • Offline codelist viewer: converts the exports into one Excel workbook with an index and one tab per codelist, with ownership metadata, for users without RDM access. Introduced delivery of generated codelist workbooks to the organization's SharePoint through the managed file-transfer platform.
  • Služba pro testování dat: porovnává exporty se zdrojem v RDM a cílem na Teradata a vystavuje kontroly jako REST API. Nahradila ruční porovnávání v Excelu, kde jeden běh dotazu trval desítky minut; teď trvá sekundy. Výsledky jsou napojené na testovací sady v Jira Zephyr a tabulky v Confluence přes jejich API.
  • Generátor prostředí: vytváří integrační, akceptační a produkční varianty zhruba 1 000 šablonových objektů entity včetně toků a orchestrace, takže jedno vývojové prostředí se chová jako tři prostředí. Load sandboxu pro jednu entitu trval kolem 90 minut a sandbox se musel mezi datovými sadami mazat; migrační testy teď nahrávají všechna tři prostředí najednou a analytici porovnávají živě. Doba běhu testovacích sad se zkrátila ze dnů na hodiny, což umožňuje několik loadů denně.
  • Provozní dashboard: spouští kontrolní SQL nad PostgreSQL a po každém denním loadu publikuje do Confluence kompaktní stavovou mřížku (tři prostředí × deset entit × vrstvy), plánováno v Jenkinsu. Každá dlaždice se rozbalí na detail defektů a odkazy. Pokrývá místo v databázi, chybějící objekty, posun sloupců, null hodnoty, zpoždění loadů, měkké chyby, nové a zastaralé tabulky, skoky objemů a prázdné loady, čímž zkracuje dobu odhalení a opravy chyb. Předáno provozu DWH.
  • Offline prohlížeč číselníků: převádí exporty do jednoho excelového sešitu s rejstříkem a záložkou pro každý číselník včetně metadat o vlastnictví, pro uživatele bez přístupu do RDM. Zavedl jsem doručování generovaných sešitů číselníků na firemní SharePoint přes platformu pro řízený přenos souborů.

Operations and DevOpsProvoz a DevOps

  • Daily operations of the reference-data loads on all environments. Codelists are enablers for the rest of the warehouse, so failures were diagnosed from Unix, Teradata and PostgreSQL logs and fixed immediately.
  • Wrote my own Jenkins pipelines for builds, deployment and operations jobs.
  • Každodenní provoz loadů číselníků na všech prostředích. Číselníky jsou enablerem pro zbytek skladu, takže chyby diagnostikoval z logů Unixu, Teradata a PostgreSQL a opravoval je okamžitě.
  • Psal jsem vlastní Jenkins pipeline pro buildy, nasazování i provozní úlohy.

JavaSpring BootRESTOpenAPIInformatica BDMInformatica MDM/RDMStonebranch UAC/UDMTeradataOraclePostgreSQLPerlPythonJenkinsJiraConfluenceUnix

DWH Developer

Komerční banka (via Anywhere)(přes Anywhere) 2017 – 2018

Internal DWH enhancements on Teradata: extended the HR table models and workflows, extended and refreshed the KPI transformations for the next year.

Interní rozvoj DWH na Teradata: rozšíření modelů HR tabulek a workflow, rozšíření a aktualizace KPI transformací pro další rok.

TeradataBTEQPowerDesigner

BPM Developer

IBM (contractor)(kontraktor) 2017

Refactored the core business module and implemented processes on the IBM BPM platform.

Refaktoring hlavního obchodního modulu a implementace procesů na platformě IBM BPM.

MS SQLIBM BPMJavaScript

DWH Developer, IBFS

Société Générale (via Accenture)(přes Accenture) 2016 – 2017

Built Teradata warehouses for the non-French countries from templates: parametrization and deployment per template, modelling of the country-specific extras in PowerDesigner. Introduced Apache Velocity for template-driven code generation.

Stavba datových skladů na Teradata pro mimofrancouzské země podle šablon: parametrizace a nasazení podle šablony, modelování specifik jednotlivých zemí v PowerDesigneru. Zavedl jsem Apache Velocity pro generování kódu ze šablon.

TeradataBTEQPowerDesignerApache VelocityPowerShell

ETL Developer, Solvency II

NN (via Accenture)(přes Accenture) 2015 – 2016

ETL transformations in Informatica PowerCenter on Oracle and data modelling in PowerDesigner. Functional and technical design, defect analysis, code reviews, unit tests, test scenarios and support of system and UAT testing.

ETL transformace v Informatica PowerCenter nad Oracle a datové modelování v PowerDesigneru. Funkční a technický design, analýza defektů, code review, unit testy, testovací scénáře a podpora systémového a UAT testování.

PowerDesignerInformatica PowerCenter

Earlier experienceDřívější praxe

CSC, SkillZone 2006 – 2014

Customer support, project coordination of application deployments and server migrations, knowledge management and reporting, network and systems administration.

Zákaznická podpora, koordinace nasazení aplikací a migrací serverů, knowledge management a reporting, správa sítí a systémů.

RemedyServiceNowMS SQLIBM Cognos

Projects and AIProjekty a AI

AI is part of my daily toolkit: analysing errors and logs, writing scripts and tests, reviewing code. Every output is checked by tests and review, so the speed does not cost accuracy.

AI je můj každodenní pracovní nástroj: rozbor chyb a logů, skripty, testy, revize kódu. Každý výstup ověřují testy a review, takže zrychlení nejde na úkor přesnosti.

Arcanista – collection manager for Magic: The GatheringArcanista – správa sbírky Magic: The Gathering

Personal projectVlastní projekt (in progress)(rozpracováno)

Web app for TCG collectors: what you own, where it is stored, what it is worth and what is missing from a set or deck. Product, UI/UX, architecture and build on my own, with AI agents as the development team.

Webová aplikace pro sběratele TCG: co mám, kde to leží, kolik to stojí a co chybí do kompletní sady nebo balíčku. Produkt, UI/UX, architektura i vývoj sám, s AI agenty jako vývojovým týmem.

AI-driven developmentVývoj s AI

  • I run Claude Code agents as a team: an approved spec, tests written from it in one session, the build in another that may not change them. CI enforces it.
  • Parallel agents in separate git worktrees pick up GitHub issues and open pull requests; I decide and approve.
  • Rewrote the app from Django/Python to TypeScript in two months: 1,100+ commits, 170 pull requests, 220 test files, 37 architecture decision records.
  • Agenty Claude Code řídím jako tým: schválená specifikace, z ní testy v jedné session, implementace v jiné, která testy nesmí měnit. CI to vynucuje.
  • Paralelní agenti v oddělených git worktrees berou issues z GitHubu a otevírají pull requesty; já rozhoduji a schvaluji.
  • Za dva měsíce přepis z Django/Python na TypeScript: 1 100+ commitů, 170 pull requestů, 220 testovacích souborů, 37 zaznamenaných architektonických rozhodnutí (ADR).

What sets it apartČím se liší

  • Every physical card is its own copy with condition, language, price paid and location, not just a quantity.
  • Real storage: boxes, binders and folders nested to any depth, so you know where each card is.
  • Phone scanning: cards recognised from a photo by image embeddings, learning from corrections; nothing is written until you confirm.
  • Prices from Czech, European and US shops with history; sources are never blended, a missing price is never shown as zero.
  • Every edit can be undone, deletes go to a recycle bin, and it handles like a desktop application.
  • Každá fyzická karta je samostatná kopie se stavem, jazykem, nákupní cenou a umístěním, ne jen počet kusů.
  • Skutečné uložení: krabice, alba a složky do libovolné hloubky, takže víte, kde karta leží.
  • Skenování mobilem: rozpoznání karet z fotky přes obrazové embeddingy, učí se z oprav; nic se nezapíše bez potvrzení.
  • Ceny z českých, evropských a amerických obchodů s historií; zdroje nemíchá a chybějící cenu nenahrazuje nulou.
  • Každou úpravu jde vrátit, smazané jde do koše a ovládá se jako desktopová aplikace.

Cloud

  • Development environment on AWS as infrastructure as code (CloudFormation): EC2, ECR, ALB with WAF, Cognito, Route 53, S3, SES with Lambda, a budget alarm. Deployment through OIDC, with no stored keys.
  • Deploying takes a couple of clicks; between test rounds the app runs locally on Docker Compose to keep the cloud bill down.
  • Vývojové prostředí na AWS jako infrastruktura v kódu (CloudFormation): EC2, ECR, ALB s WAF, Cognito, Route 53, S3, SES s Lambdou, rozpočtový alarm. Nasazení přes OIDC, bez uložených klíčů.
  • Nasazení je otázkou pár kliknutí; mezi testovacími koly běží aplikace lokálně v Docker Compose kvůli úspoře nákladů.
Arcanista: public profile with a card showcase and collection stats
Public profileVeřejný profil
Arcanista: a printed set with collection progress
Set progressPostup v edici
Arcanista: split view moving cards between boxes and binders
Storage, split viewÚložiště, dvě okna
Arcanista: inventory search with prices in CZK, EUR and USD
Search and pricesHledání a ceny
Arcanista: edit log where every change can be undone
Edit log with undoLog úprav s Undo
Claude CodeTypeScriptNode.jsHonoReactTanStackVitePostgreSQLpgvectorDrizzleONNX RuntimeDocker ComposeVitestPlaywrightStorybookAWS CloudFormation

Stick Survivors

Game designHerní design (personal project)(vlastní projekt) game.brezik.net

A game inspired by survivors-like games. Fight waves of enemies as one of three classes and defeat the boss in 16 minutes. Design-driven development with Claude AI.

Hra inspirovaná žánrem survivors-like. Za jedno ze tří povolání odrážíte vlny nepřátel a do 16 minut musíte porazit bosse. Vývoj řízený designem s Claude AI.

SkillsDovednosti

IntegrationIntegrace
REST APIOpenAPIInformatica BDMInformatica MDM/RDMInformatica PowerCenterStonebranch UAC/UDM
ProgrammingProgramování
JavaSpring BootPerlPythonPL/SQL
ToolsNástroje
BTEQApache VelocityMaven
CloudCloud
AWSEC2S3ALB/WAFCognitoLambda
DatabasesDatabáze
TeradataOraclePostgreSQL
DevOps and CI/CDDevOps a CI/CD
Jenkins PipelineDockerAWS CloudFormationGitUnix
AI
Claude CodeAI agentsAI agentiSpec-driven developmentVývoj řízený specifikací
CollaborationSpolupráce
JiraConfluence
ModellingModelování
PowerDesigner

LanguagesJazyky

  • Czech (native)
  • Čeština (rodilý mluvčí)
  • English (proficient)
  • Angličtina (pokročilá)

CertificationsCertifikace

  • AWS Certified Cloud Practitioner 2021 – 2024
  • Informatica Developer Tools for Big Data Developers; Big Data for Developers 2018
  • Informatica PowerCenter 9.x Developer, Level I anda II 2016
  • Teradata Advanced SQL 2015

EducationVzdělání

  • Masaryk University, Faculty of Informatics, Applied Informatics (not completed) 2005 – 2006
  • Masarykova univerzita, Fakulta informatiky, Aplikovaná informatika (nedokončeno) 2005 – 2006
  • SOŠ a SOU Spojů, Tábor — electrical engineering, telecommunications and computer technologies 2001 – 2005
  • SOŠ a SOU Spojů, Tábor — elektrotechnika, telekomunikace a výpočetní technika 2001 – 2005

Homelab

Proxmox and Docker at home: trying new technologies, running a development and test environment for demos, and isolated game servers my kids can play on safely.

Proxmox a Docker doma: zkouším nové technologie, provozuji vývojové a testovací prostředí pro ukázky a oddělené herní servery, na kterých si moje děti mohou hrát bezpečně.

ProxmoxDocker