Matej Smitala — Senior backend engineer — 15 years in production, the last 8 on event-driven microservices carrying high-volume real-time data for a regulated EU betting operator. Java and Kotlin on Spring Boot, Kafka, PostgreSQL. I design, build, maintain and run the services I work on, including production on-call.
| Languages | Java 17–25 · Kotlin · TypeScript · SQL · C# |
| Frameworks | Spring Boot 3 / 4 · Spring Kafka · Spring MVC · coroutines · Node.js · React · Angular · .NET |
| Messaging | Apache Kafka · Avro + Schema Registry · ZeroMQ · RabbitMQ · WebSocket · CBOR |
| Data | PostgreSQL · read/write workload and query tuning · partitioning · jOOQ · Flyway |
| Observability | Micrometer · OpenTelemetry · Prometheus · Grafana · Kibana / ELK · Logstash |
| Delivery | Maven · GitLab CI · Docker · SaltStack |
| Testing | integration tests in CI against real dependencies · Testcontainers · Grafana k6 · Gatling |
| Practice | ADRs · OpenAPI · C4 / Structurizr · docs-as-code · PlantUML |
Each number is marked measured (observed in production) or target (a non-functional requirement for a system not yet in production).
One of a larger team on a programme decomposing a betting monolith into event-driven microservices. Design goes through reviewed decision records. I contribute to the architecture and write a share of the implementation.
Kotlin · JVM 25 · Spring Boot 4 · Kafka · Avro · PostgreSQL · jOOQ · Flyway · Testcontainers
Two Kotlin microservices ingesting an external live data feed at volume and normalising it into the internal event model — provider connectivity split from domain logic across a versioned contract.
Kotlin · Spring Boot 3/4 · Kafka · Avro · PostgreSQL · jOOQ · Resilience4j · Testcontainers
Took over a business-critical platform that had no active maintainer and became its main maintainer. Rewrote most of the Node.js routing application into typed TypeScript, which made the later performance and reliability work reviewable. Proposed and built the per-hop instrumentation that attributed cumulative delay to specific hops; the latency work followed from it.
TypeScript · Node.js · uWebSockets.js · ZeroMQ · Java 17/21 · Spring Boot · CBOR · JWT · Prometheus · Grafana · Jest · Testcontainers
The in-play section of a betting site, worked from Kafka consumer to rendered odds cell. I designed how the frontends integrate with the push platform (W-3) — subscription model, snapshot-plus-delta contract, reconnect handling — and implemented most of the backend and frontend code on that real-time path. Operated it for several years in production.
Java 21 · Spring Boot 3.5 · Kafka · Avro · PostgreSQL · jOOQ · Flyway · Caffeine · TypeScript · React 18 · Immutable.js · Micrometer · Prometheus · Grafana · Testcontainers · k6
Greenfield loan and mortgage process automation for two Slovak banks — long-running approval workflows integrating core banking over SOAP. Started as a frontend developer on AngularJS and moved into the Java/Spring backend; led the loan-automation component of a .NET branch application. Also built the Android proof-of-concept for mobile onboarding with biometric verification, and an Android app for the non-profit odkazprestarostu.sk.
Java · Spring · AngularJS · .NET · SOAP · Android
| 2018 — now | Software engineer · contract A regulated online betting operator (EU) Ownership of the real-time messaging platform every customer-facing application subscribes to, then the programme decomposing the betting monolith into event-driven services on Kafka. Several production microservices designed, built, released and run across the engagement. Real money, regulated, low latency. |
| 2011 — 2018 | Software engineer Softec · Bratislava Loan and mortgage process automation for Tatra Banka and Poštová Banka — greenfield Java/Spring and .NET solutions with AngularJS frontends, integrating core banking over SOAP. |
| 2007 — 2012 | Mgr., Applied Informatics Comenius University · Bratislava Master's degree. |
REDUCED MOTION — static snapshot shown; typical values displayed.
sim clock --:-- —