About
I’m Ömür Uçum. I’m interested in how enterprise systems get built, how they break, and what it takes to repair them afterwards.
I currently work as an IT4IT and service banking team lead in participation banking. A good deal of the job is carrying the consequences of architectural decisions: a platform choice made today decides whose pager goes off three years from now. Most of what I write here is therefore about trade-offs rather than preferences.
What I work on
Recent years have been mostly these:
- Streaming architecture. Enterprise standards for Kafka and Flink, a platform evaluation between Confluent and AMQ Streams, moving card processing onto a streaming path. The ZooKeeper-to-KRaft migration is a configuration change on paper and an operating-model change in practice.
- Workflow automation. A BPMN/DMN platform on OpenShift, plus a custom engine replacing Zeebe. The expensive way to learn when a workflow engine is genuinely warranted and when a state machine would have done.
- Search and data infrastructure. Migrating from Elasticsearch to an OpenSearch/Flink/ClickHouse stack — a move that began as licence pressure and turned into an architectural rethink.
- Open banking and consent. Systems where consent has to be verifiable, auditable and revocable. How far Keycloak carries you, and where it stops.
- Blockchain. A multi-chain custody proof of concept for Turkish banks, and an Ethereum wallet application.
One question sits underneath all of it: how does an organisation lose what it knows? Vendor lock-in gets the attention. I think knowledge lock-in is the larger risk — the understanding that keeps a system running left undocumented, never handed over, resident in a few people’s heads.
Why this site exists
I’ve been writing in Turkish on Medium and LinkedIn for a long time. Both are good distribution. Neither is an archive. Formats drift, links rot, code blocks mangle, and the platform decides where your work lives.
This is the canonical source. Originals live here; copies go out to Medium and
LinkedIn and point back with rel=canonical.
The site is bilingual — Turkish primary, English secondary. Not everything is translated. Where a translation doesn’t exist, the language switcher shows that language as unavailable rather than redirecting you somewhere else. Navigation that tells the truth beats navigation that looks complete.
Technically: static output, close to zero client-side JavaScript, diagrams rendered to SVG at build time, accessibility that is measured rather than assumed. Source is on GitHub.
Sections
- Articles — long-form technical writing.
- Research — more formal work, sourced and dated where that matters.
- Labs — measurements, experiments and reproducible tests, including the ones whose results I didn’t like.
- Talks — presentations and event recordings.
- Projects — what I’m working on, most of it still in motion.
Contact
If you disagree with something here I’d like to hear it, particularly if you think a measurement is wrong. Links are in the footer.