DM open to interesting problems

Dragutin Marjanović

I build distributed backends and the search infrastructure underneath them — in Scala, on ZIO, with types doing the arguing.

Role
Engineering lead & hands-on backend engineer
Company
lambdaworks
Base
Novi Sad, Serbia · 45.25° N
Depth
Elasticsearch & OpenSearch, streaming, type-safe APIs

Track record

Selected work

  1. 01 zio-elasticsearch A type-safe, streaming-friendly Elasticsearch client for ZIO. I've been its lead human contributor since 2022 — DSL design, streaming executors, release engineering. ScalaZIO65★
  2. 02 ZIO ecosystem Merged contributions to zio-redis, zio-telemetry, zio-config and ZIO core: protocol work, tracing, and the unglamorous correctness fixes that keep libraries trustworthy. ScalaUpstream
  3. 03 scountries & scurl-detector Two small Scala libraries with a clear job each — ISO 3166 country data, and URL extraction from messy text. Small surface, no surprises, still in use. Scala39★
  4. 04 QualityGate Runs accessibility checks against a pull request's deployed preview, reports back in GitHub, and fails the check when a server-authoritative budget is exceeded. Current build. TypeScriptCI2026
  5. 05 Product engineering Hundreds of merged changes across private product codebases — APIs, ingestion pipelines, catalog systems — plus leading the engineers building them. Private

How I work

i

Make illegal states unrepresentable.

Types are the cheapest tests you will ever write. If the compiler can rule a bug out, it should — before a pager ever has the chance to.

ii

Distributed means assume failure.

Networks partition, nodes lie, clocks drift. Systems I build state their failure modes out loud instead of discovering them at 3am.

iii

Legible beats clever.

The best abstraction is the one the next engineer understands without asking. I optimise for the team that inherits the code.

Elsewhere

Happy to talk distributed systems, search, functional Scala — or a hard problem you're stuck on.

dmarjanovic94@gmail.com