All episodes
Eric Bowman
Episode 43 - August 31, 2021 · Talk

Mapping the World and Testing Against Reality

Featuring Eric Bowman, CTO at TomTom, former VP Engineering at Zalando and a developer behind the game "The Sims"
Apple Podcasts Spotify Youtube

Today we have Eric Bowman, CTO at TomTom, former VP Engineering at Zalando, and a developer behind the game “The Sims”. In this episode, we discuss how mapping technology has changed the world and how CI/CD practices have made real-time mapping possible.

🎧 Key Takeaways

  • How long before self-driving cars are a reality?
  • How satellite and map technology changed the world?
  • The challenges of building and testing real-time maps.
  • How feedback loops add value to developers and customers.
  • Using DevOps and CI/CD to improve your products.

Listen to our entire conversation above, and check out my favorite parts in the episode highlights!

You can also get Semaphore Uncut on Apple PodcastsSpotifyGoogle PodcastsStitcher, and more.

Like this episode? Be sure to leave a ⭐️⭐️⭐️⭐️⭐️ review on the podcast player of your choice and share it with your friends.

Edited Transcript

Darko Fabijan (00:02): Hello, and welcome to Semaphore Uncut, a podcast for developers about building great products. Today, I’m excited to welcome Eric Bowman. Eric, thank you so much for joining us.

Eric Bowman (00:12): Yeah, thanks, Darko. It’s great to be here.

Darko (00:14): Great. Please just go ahead and introduce yourself.

Eric (00:17): Yes, so I’m Eric Bowman. I’m the CTO of TomTom, which is a location technology company based in Amsterdam. I live in Berlin, and I’ve been here for about seven years. I was previously at Zalando and Gilt Groupe. Long time ago, I worked at Maxis, the game company. You know, CI/CD has in particular been quite an interesting topic in my career, so I’m really thrilled to join the podcast.

The career towards CTO

Darko (00:46): Great. Thank you. You mentioned that you became CTO of TomTom recently, although you have spent quite some part of your career at TomTom. Maybe you can give us a brief overview how that progressed for you and how you ended up being CTO?

Eric (01:01): Sure. Yeah. I joined TomTom originally in 2007 as a software engineer. And TomTom historically has had kind of its biggest success making satnav devices and was sort of, kind of an embedded software company. And I came to work on some of the early online efforts, including a map-based route planner. I really fell in love with the domain of location technology, this kind of perfect fusion of data and algorithms and kind of real-world outcomes and really having an impact on how people get around and you know how the world can kind of run more efficiently and cleaner. I was living in Ireland at the time with my family, and we had a new baby. And in 2011, the kind of commuting between Dublin and Amsterdam became problematic, and I ended up leaving TomTom and then joined Gilt Groupe, which was an e-commerce company based in New York with an office in Dublin.

Eric (01:59): And I also, at that point, got into engineering management and stayed with Gilt for several years and then ended up moving to Zalando in Berlin. And really got to experience quite a growth cycle with Zalando and led a pretty significant transformation inside the company. But I always had kind of a soft spot for location technology, and I stayed in touch with TomTom. And when the time was right, I came back just over two years ago and led engineering, more of the online services world. And then on July 1st, became the CTO, which was for me, I think, quite a long time aspiration. So I’m really excited about the new role.

How technology fits into the bigger system of the world

Darko (02:47): Congrats on that. Yeah. You seem to be really passionate about technology. But at some point in your career, you moved slightly more towards you know, leadership and management. Can you maybe give us a brief overview of how that worked out for you? Yeah.

Eric (03:03): Sure. Originally I wanted to be a physicist, and writing software was something that I did on the side, somewhat as a hobby in part to sort of supplement the work I did in physics and in part to make money on the side. And life in physics is kind of hard. It’s really hard to have the kind of impact that I really wanted to have in the world. Ultimately, I wasn’t smart enough to have that kind of impact, and I just enjoyed software so much.

Eric (03:32): But one of the things about studying physics is that you really come to appreciate a certain kind of beauty, and the expression of physical law through mathematics has a compactness and an elegance that is really profound, especially as you get deep into it. And for me, that was very influential kind of in my personal life and my intrinsic motivation. And I saw similar kind of beauty and symmetry in software and loved building systems that worked.

Eric (04:03): But for a long time, I was very, very motivated purely by the technology. And ultimately, I think part of my kind of journey to more holistic role in the technology industry, getting into management, and also understanding the commercial side was starting to understand that it’s more than just the technology. It’s how the technology fits into the bigger system of the world and really understanding that everything, for example, stems from customers, and that really focusing on what customers really need and what’s valuable to them, what are they willing to pay for or contribute to, and then organizing, through kind of organizational structure and architecture and supporting infrastructure, to create essentially value streams that still manifest the same beauty that really triggered me earlier in my career was just a tremendous challenge and a really exciting one.

Mapping the world with feedback loops

Darko (05:41): And you talked about your first days in physics and then software being on the side and mapping technologies and generally what the world really looks like and how much do you diverge with your mapping technologies and so on and all those challenges. Can you maybe talk about these domains because I think that the majority of our listeners at one point in their life saw a TomTom device somewhere on the shelf, even if they haven’t on them. But maybe they are not so familiar with the whole technology behind mapping and TomTom internal.

Eric (06:14): Sure. When I enjoyed talking to him in 2007, you know, you’d had experienced exponential growth by more or less, you know, defining the category of satnav device. And they changed how people drive kind of forever. In fact, one of the co-founders and the current CEO, Harold Goddijn, and was recently inducted into the automotive industry hall of fame because of the impact that he and TomTom have had on drivers. And it’s sometimes hard for me to remember what life was like before smartphones. And it’s also hard for me to imagine or remember what life was like before good, in-car satellite-based navigation, you know, I remember printing out maps from MapQuest and driving around and getting frustrated. It’s one of those things that people really take for granted without understanding everything that goes into it. You know, TomTom was a big customer of a map company called TeleAtlas.

Eric (07:00): And one of the things that really excited me initially, at TomTom was what I began to understand that they were building this feedback loop, which I later can realize is commonly called a flywheel where they were putting SIM cards into sound app devices in order to collect anonymous probe data, which allowed them to build a real-time model of traffic conditions globally. You know, for many people at the time, there was the first time there, TomTom suggested, you know, taking an exit off the motorway to avoid a traffic jam. And it’s kind of one of these miracle moments where you kind of can’t believe that technology could do that. And then you very quickly get angry if it doesn’t do it perfectly. And this idea that by selling more devices, they got a better traffic model, which led to a better product, which would sell more devices, just a powerful, powerful flywheel mechanism.

Eric (09:02): I think it’s difficult for people to have an intuitive understanding of the complexity around map creation and just the scale of the problem. And even though the data itself is not necessarily that big and kind of like big data terms, the interrelatedness of the graph and the dependencies with that are really, really complicated. And, you know, when you make changes to the map, it’s extremely difficult to make sure that you don’t introduce changes, which cause unintended consequences elsewhere in the map. It’s a computationally very hard problem. But for me, you know, the kind of dream of just building a better and better representation of reality using not necessarily fewer people to do so, but increasingly advanced technology, which essentially, you know, raises the level of what humans contribute to the map, you know, continually higher, is really thrilling.

Testing reality

Darko (10:05): As you were talking about this in physics, you want to describe the world by equations and in mapping technology, you described the world through maps. There is a connection there. And as you came in talking about maps and the feedback loop, I mean from our side is going to be, are joining calls with our customers and potential customers. I mean, the main thing that we talk about is a feedback loop. It’s a feedback loop that for developers, as they are developing their software and they want to know as fast as possible, ideally under five minutes, if there is anything, you know, that the test have caught and then they can, you know, keep their flow of, you know, thought and continue working on that and not wait for a long time to get the results overall. So the speed of a feedback loop is essential. You mentioned that there are quite a few challenges with running general tests and, you know, CI/CD process around like maps. Can you give us a glimpse of what are some of the challenges?

Eric (12:45): I was in a 35 minute walk and I was running late. And so I jumped in a rideshare and Friedrichstrasse in Berlin, a very famous street, was recently converted into a pedestrian-only street and the routing software navigation software, wasn’t updated to reflect that. And this poor driver had to drive around and round, try to find some way to get me where it’s going and it ended up, you know, would it be faster to walk at the end of the day. And of course it didn’t cost me any more, but it certainly cost the ride sharing company more. And it was a moment of reflection of at scale with hundreds of thousands or tens of thousands, or even more vehicles that have inaccurate maps, it introduces significant inefficiency for people and for companies.

Eric (13:43): We know when we’re going to arrive, you know, it starts to affect all the things around us in our daily lives. And when one part of that starts to break down and has the knock on effects. If it were the past and everybody knew that no one knows how long it’s going to take and whatever the overall system was resilient. As we take advantages of more convenience, we also lose some resilience. And so, you know, the importance of when a street is closed, that’s got to be known by, you know, thousands, tens of thousands, hundreds of thousands of people very, very quickly. And then you look at all of the processing power required to make sure that those changes are actually real and reflect reality is it’s massive computational problem. And it’s completely feedback based. And I think, you know, as you mentioned, and kind of the miracle of DevOps and the role of CI/CD then also really any modern product development, whether it’s in location technology or anything, it’s all about feedback. And you know, people so often they think of value flowing one direction, but the reality is that to do anything interesting value has to flow both directions, kind of all the time. Anyplace in technology now where you’re not getting feedback, it’s a missed opportunity. I think, you know, TomTom, we have that at a bigger scale than most companies, but the same principle applies everywhere.

Self-driving future

Darko (17:18): Maybe to move for a second in the realm of like mainstream media, maybe, or a very competent person to comment on the, you know, self-driving future, maybe hype at some points, what are your thoughts on that as someone from the inside?

Eric (17:35): You know, not surprisingly it’s taking longer than people hoped, but maybe not really longer than many people expected. And I think it ties a little bit into a comment I made earlier. You know, our intuition is not very good at understanding what is the true complexity of the world. And when it comes to the map, it’s a relatively static world when obviously the world’s constantly changing, but we’re in a map, we’re trying to capture static snapshots, and when you throw in the complexity of then trying to move dynamically through that ever changing role, it’s computationally extremely hard. But I think, you know, innovation is kind of unstoppable. It’s happening slightly different than we expected. I certainly remember the first time I got into a car that could partially drive itself and I didn’t quite understand what it was doing instantly. No I figured it out again.

Eric (18:35): Yeah, this is helpful. Now I want more. And now I want more, there’s just so much demand for this to happen, but it is extraordinarily expensive to figure out how to do it. Mistakes, you know, cost lives, and the amount of compute required at the car. And then, you know, there are fundamental disagreements about how is it best going to work. For example, we make something called an HD map. Our traditional map is sort of human-understandable and HD map is more optimized for use by the software. And, you know, it’s essentially providing yet another input to an autonomous driving engine over just what it can see through a camera or through LIDAR. Not everybody even agrees if HD maps are necessary and it’s expensive to create an HD map and even things like what’s the right resolution is undecided. So it’s one of these kinds of like unstoppable forces, meaning immovable object situations, but it clearly has such an opportunity to profoundly change how we live and ultimately to give us much more control as a civilization over, you know, very important things like emission levels. It’s got to happen and it is happening, but it’s at least another decade of innovation before it feels like the future we were promised.

Ignore DevOps at your own peril

Darko (19:56): Yeah. Sounds reasonable. 10 years is not that long now. And as you were describing that this is such a hard problem and computationally intensive. I mean also if I would contrast that to what’s our day-to-day work. So we work with a very, I mean, almost a hundred percent of deterministic sources, you know, and solutions and all that. And the domain that you were talking about mapping in general, and now this self-driving is maybe to some extent, continuation of that. What do you see, how on day-to-day work of a software engineer maybe have changed? You mentioned that to join TomTom in 2007. Now like almost 15 years later, how are all of the software engineering has changed at TomTom?

Eric (20:44): Well, even, you know, not just at TomTom but everywhere. I think in 2007, I remember being very frustrated by a situation, which I think was pretty accurately reflected in the Phoenix Project. And, you know, it just seemed like it couldn’t be the way to do it, but we weren’t smart enough. And where go to figure out how it should be done. Before I was at TomTom, I was working for the company 3 in the UK, which is a Telco, a highly regulated environment. You know, it was pretty hard to ship software in that environment because the consequences for failure were terrible. And our understanding of how to build resilience was pretty limited. And, you know, cloud didn’t exist yet. I was actually pretty late reading the Phoenix Project. It was recommended to me right when it published. And I was like, yeah, yeah, yeah, I’ll get to that.

Eric (21:37): I started at once. It was like, yeah, we’re past that already. Don’t care. Then I did finally get back to it. It’s like, okay, actually, this is pretty important. And it also led me to read the goal, which is also something that I wish that I had read much, much earlier in my life. I think my life might have taken a different path if I had read the goal when I was a young person, because the goal, you know, is not, it’s not a story about a factory. It’s a story about physics. And it’s a story about software and the importance of global optimization and how very hard that is. And, you know, nowadays I think working software engineers, everybody is sort of comfortable with the idea of DevOps, for example, but I think not enough people understand the intellectual history behind it, which I think is really necessary to make the really hard decisions.

Eric (22:30): When I was at Zalando, I ignored DevOps while we were simultaneously reinventing it and we could have been learning from it, but we all thought DevOps was just like, you know, software engineers and operations teams being one. And we’d already been doing that for a while. And that was kind of obvious and whatever, but now, you know, the importance of working software engineers to just the compounding of value that can occur through constant smaller iterations. So you mentioned a second ago, 10 years is not that long, which reminded me of Gate’s Law, which you probably know, which is, I think people tend to overestimate what they can do in a year and underestimate what they can do at 10.

Eric (24:30): And so software engineers today have the opportunity to understand better is how they connect to customer value. They used to be much, much harder. I mean, when I started, you know, software was shipped on a CD and that was considered modern and it’s like, whatever happened when it landed on some PC, somewhere was somebody else’s problem. And, you know, through ingenuity, we did great things, but my God, we could have gone so much faster if we had figured out a little bit sooner, like the second the internet was born to create the feedback loops that basically enable a compounding effect. So that’s one part, I think the other part is the role of machine learning in modern software development. Some people called it software 2.0, I think that was a little bit overstated. And ultimately it comes down to getting really comfortable with data engineering, which is a necessary component of anything involved in feedback. The tools now are just so incredible for that, you know, the billions and billions and billions invested over the past decade by some of the biggest companies in the world, those investments have opened up value to everyone. That’s certainly one of the key things that I would encourage anybody kind of sharpening your skills as a software developer to really focus on.

Testing and determinism

Darko (25:49): As the majority of developers are working with, you know, let’s say deterministic software, and the results that the software creates are, you know, is it testable and understandable? Should everyone, and will everyone in the future needs to tap into that part of like neural networks and so on or for machine learning where the results are not zero and one.

Eric (26:10): Yeah. So I wouldn’t overindex on determinism. It’s great when you can have it and you should seek it everywhere you can for sure. You know, for example, I wouldn’t be a huge fan of continuous stream processing. It’s way better to think of it as very small discreet changes. It’s a massive simplifier and it can become deterministic, but when software meets the real world, you lose that determinism. And so on the one hand, you want to hold onto it, as long as you can leverage it everywhere you can, but also be prepared for the fact that there was that just the wild determinism was kind of gone, right. And not be surprised by that. So that’s one reason why I’m actually, I’m not a big fan of staging environments, for example, and believed very strongly in finding a safe way for people to develop in production. Even though you lose to determinism, but you find out really quickly when things work and when they don’t work.

Darko (27:09): Okay. All right. It was a very interesting conversation. I loved the overview, what DevOps is and how you say it. Good luck with your new role and all the best. Thank you.

Eric (27:23): Thanks, Darko, a real pleasure. And thanks everyone for listening.

Read more about testing:

Meet the host

Darko Fabijan

Darko, co-founder of Semaphore, enjoys breaking new ground and exploring tools and ideas that improve developer lives. He enjoys finding the best technical solutions with his engineering team at Semaphore. In his spare time, you’ll find him cooking, hiking and gardening indoors.