Tech
Jun 18, 2019
Johann, Wolt’s logistics engineer: “The most difficult situations require me to be Sherlock Holmes – when the routing suddenly goes haywire”
Did you know that Wolt’s tech stack is a lot broader than a single mobile app? We build all our tech in-house and wanted to write a bit more about what we do, and who actually does the developing here. In this blog series, we’re interviewing our engineers to give you a glimpse into the dev life at Wolt.
Today we’re featuring Johann Muszynski, who is a logistics programmer. Wolt’s optimization is tasked with deciding which courier partners do which tasks and in what order. This decision is influenced by various goals like time windows, minimizing the delivery distance for courier partners, estimating travel times based on historical traffic patterns or how long pickups and dropoffs take, and meeting any special requirements of that specific delivery. This an integral part of Wolt’s platform and a part of Wolt’s business that people don’t always realize the complexity of.
What do you do here?
I’m a logistics programmer so when I’m not massaging our algorithms and fixing bugs, I’m usually reading papers or staring at performance graphs.
Why did you choose to work here?
I found the challenges to be really interesting. Wolt offered a combination of doing some of the things I enjoyed at my old job with added math and logistics, which I really enjoy. I’ve also played my fair share of city building games. It seemed too good to be true that at Wolt we’re solving the hard problems of logistics in-house.
“My favorite language is a small scripting language called Lua, because it’s very elegant and minimalistic.”
What’s the most interesting technological challenge you’re currently working on?
After spending some time cleaning up our route optimizer code, I’ve finally started working on the first iteration of our city-simulation tech. The idea in a nutshell is to be able to make changes to the route optimizer and then see how the changes perform in our Wolt-city sim before rolling them out to the live environment. Soon I will start comparing metrics between the simulated cities to the real ones to see how far off the city-sim tech is!
What’s the most difficult technical problem you’ve encountered during your time at Wolt?
Probably the situations where I’m forced to be “Sherlock Holmes”: when the routing suddenly goes haywire in the live environment, I put on the detective hat, fetch all the data, and then replay and piece together exactly what happened locally on my machine. The few times that has happened has been the most adrenaline-laced debugging I’ve ever done.
What technologies do you use?
We use modern C++ for the optimization server and algorithms, and we do our scripting in Python.
Favorite programming language and why?
My favorite language is a small scripting language called Lua, because it’s a very elegant and minimalistic language with which you can express most well known programming concepts. The smaller the language the cooler it is! Which makes it ironic that I spend most of my time writing C++…
“I’ve learned a metric crapton of stuff in the short time I’ve been here.”
How can developers develop themselves at Wolt?
I’ve learned a metric crapton of stuff in the short time I’ve been here. The sheer tech stack that we have offers a lot to learn for a person like me who hasn’t had a lot of exposure to backend tech stacks. I also try to learn a lot from the many awesome people here. Being around people who are smarter than you, is in general, a great way to learn!