name

Maciek Próchniak

Map Search Engineer
MapTiler

I’m developer/architect having more than 15 years of experience in IT – but my roles vary from analysis to deployment. I’m mainly interested in JVM (Scala in particular) My main fields of interest are functional programming, stream processing systems (Akka, Kafka, Flink) and integration. I also like to give talks at conferences – Confitura, HeapCon, Devoxx just to name a few.

Talks

2026 — Map Search Engineer @ MapTiler
  • Maps and territories

    When you planned how to get to the conference venue you probably used digital maps and a routing app. There are ubiquitous now, but how do they work under the hood? We’ll explore the fascinating world of maps and location services. We’ll start with the data - the format, the sources, then explore some of the most interesting/cool algorithms and show how they are used in many more or less known tools and applications. Why? Not only because maps are fascinating, but also because all of the developers can learn a lot about the power of open data, efficient data structures and composable tools!

2025 — Map Search Engineer @ MapTiler
  • How to call in a foreign language? With an Interface!

    When we think about an application or a service, it is typically written in a specific programming language, such as Python, Java, or TypeScript. However, sometimes one language is just not good enough. It can be pluggability, performance, some unique libraries or just the team preferences. How can we combine C with Java or Rust with Python? We’ll explore different ways in which languages can communicate with each other in a single process, such as scripting, FFI, and Web Assembly. How do they work under the hood (and what is the lingua franca?) What are the benefits, drawbacks and caveats? In Python, Rust, NodeJS, Java, and maybe more!

2023 — Senior Software Engineer @ hyperexponential
  • Programming languages - somewhat similar, wildly distant or just with different idioms?

    In the last 18 years I was programming almost exclusively on JVM - Java, Scala, Kotlin etc. This year, I moved to different ecosystems - Python, Rust, even Go. At first, the languages seem quite different - syntax, libraries, etc. At a second glance, everything starts to look familiar - functions, interfaces, types have much in common. But after a while, you start to discover interesting things - how similar concepts can lead to different idioms and styles due to different implementation or design. In this talk we’ll have a look at some of those differences - types, resource handling, method dispatch etc. Why idiomatic Java code can work, but be ‘weird’ in Rust - and vice versa.