41. Challenge Accepted. with Adam Maschek, CTO at Westwing Home & Living

"Delphi, Visual Basic, Commodore and 10+ years being a CTO. We've got a lot of common ground with Adam. I've asked him about his road to a CTO role and its challenges. We spoke a lot about how software development changed over the years, which elements of architecture to own vs. buy from the market and if Cloud Native is ruling over Cloud Agnostic approch to the architecture? Overall, pretty deep conversation. Thank you Adam!" Piotr Karwatka, Host.

Topics discussed:

How did you get into software engineering?

You have a one year “Professional Traveller” experience on your LinkedIn. Tell us about what have you learned from this exp?

Tell us a little bit about Westwing? The business model? Scale?

How did the Covid19 pandemic impact the Westwing business?

How did you join the company? What’s your role at the company?

What are the key challenges you and the company are facing right now in regards to the eCommerce business? 

How does it differ compared to the situation when you started 10 years ago?

Let’s talk about the architecture that powers you up.

Which elements to buy vs which to own?

How did the way we develop software change in the last 10 years - having a lot of Cloud Services at hand right now?

Cloud Native or Cloud Agnostic?

What’s the optimal team structure at this scale?

How the innovation process looks like - from the new-feature req. up to deployment?

How long does it take for the business decision for the feature to be on production?

Tech trends that make you excited? 

Transcript:

Piotr Karwatka: [00:00:46] 

Hello everyone. Today, my guest is Adam Maschek, CTO at Westwing Home & Living. He's been in the role for 10 years already. And I can't wait to ask him how the e-commerce changed over the course of his career, how COVID-19 speeded up the Home and Decoration business that they were operating and what are the challenges he's facing change over the time, and how he's received success as a CTO. Hi, Adam. Super nice to have you here.

Adam Maschek: [00:01:12] Hi, thanks for having me, quite excited to appear on your podcast. And I think it's my first podcast ever. 

Piotr Karwatka: [00:01:22] Ah, super cool. The first time is always the best. So let, let me start with some, you know, a background question first. How did you get into software engineering in the first place? 

Adam Maschek: [00:01:33] That's a good question. I actually, I don't even remember how old I was when I first came across a computer actually back in the day. So I grew up in Hungary. I mean, we didn't have our own computer, but my father had a Commodore 64, probably more for his work.

And every Christmas he brought it home. Me and my brother, we played some games on it. And this was my first exposure. And then I was always interested in, you know, how did they make those games? How, how could I make potentially, maybe one of these days my, my game and that's how I got into it.

And my parents, and I eventually found some kind of programming course for kids when I first learned about integers and variables. So my first programming language was Basic. Are you? I even took it later. I think it was called quickBASIC or something like that. And, and that's how I learned it.

And later in University, I was learning or in Hungary the standard to do was Turbo Pascal and Java and C, C ++, Delphii also so I had a handle on those standards. So that's how I got into the, but interestingly, actually back then, there was not so much about web, and web programming, and even maybe today is the same that somehow web programming was always a poor man's thing. And I was interested in that. I was fascinated by the possibility. So how many things can you show and do in a web browser? Yeah. And this was actually in the late nineties where kind of everyone was having a website with an under construction icon.

Piotr Karwatka: [00:03:23] I remember those times. Yes.

Adam Maschek: [00:03:28] For some reason everyone wanted to do a guest book and I also wanted to do. 

Piotr Karwatka: [00:03:33] Yeah, absolutely. Yeah. I remember those times and the funny thing, because I probably went pretty much the same way you did. I mean, Turbo Pascal, Delphi was on my list. Actually, my first commercial application was in Delphi, so I spent a lot of time with that, and then C++, and the web, it came around like, 1999, 2000 something like this, as exactly as you said.

Adam Maschek: [00:04:00] Yeah, 

Piotr Karwatka: [00:04:01] and we were doing guest books. 

Adam Maschek: [00:04:04] I was starting to learn and that's how I actually, I realized that, okay, I know HTML, CSS, I know JavaScript, but I cannot go get school to learn these things. And, and that's how I actually got into PHP. And ever since it's kind of more, the language I'm most comfortable with. And, and if you look around, it's still that power's around 80% of the worldwide web. It's still considered by many, like a poor man's language, but it is out there and you can make websites very, very easily.

Piotr Karwatka: [00:04:45] Yeah. It's fantastic. Like how sometimes better doesn't mean most popular or maybe how something that is just popular is getting better and better. Because if you take the first version of PHP comparing to PHP seven or something like this there is actually nothing to compare, right? It's two totally different things.

Adam Maschek: [00:05:08]A lot of people say now it's becoming a JAVA. 

Piotr Karwatka: [00:05:12] Yeah. More and more. Yeah. I can agree with that. 

Adam Maschek: [00:05:13] Yeah. But yeah, that's how I got into it. And then actually what I did, I actually went back to University and I was teaching myself some PHP web programming to students I've faced, I think two or three semesters.

I was teaching because that was the only web programming course you could have. And once I studied there, I think for many years there was no one actually doing. 

Piotr Karwatka: [00:05:37] Yeah, those were funny times. I remember that in 1999, I read a tutorial in some newspaper, you know, where you are teaching yourself programming or internet or anything from newspapers because the internet wasn't that [opular and accessible over the modems and, you know, built by time you spend online. And it was crazy times. So in this newspaper, I read an article how to ride the JavaScript based e-commerce store. But it was this Java script from 1999, you know, so document ride and, you know, all those crazy hacks.

And I was like, man who's going to build any e-commerce shop with Javascript, it's insane! Now everything is in Javascript. So that's also a funny thing, like how those things change over time, and this Javascript, which was back then very new, funny thing right now is an industry standard. The PHP was another like text for matter right now with something like Java.

Well I'm super excited about what we're gonna see in the next few years. Let's let's back to your career path because in your LinkedIn I saw something that really interests me a lot. I mean, there was a position, a professional traveler for about a year. What have you learned from this experience and what you were actually doing this whole year?

Adam Maschek: [00:07:06] Yeah. Yeah. So there's a funny thing. I just put them on Linkedin. Then I was not a paid traveller, so I was like not doing it for money, but I just kind of put it there to explain my gap here. And then we could talk a whole other podcast about that and traveling, but I will try to sum it up quickly. Basically, there was a period of time when I was thinking, okay, what is the kind of thing I always wanted to do when I was a kid,  and I was in a position of life where I had the possibility, I didn’t have a family. I didn't want to invest in a car or in a house. I would rather spend the money on something I always wanted you to do. And that was traveling around the world.

So actually. I had a very good friend of mine, a French guy who was in a similar life situation. And then one day was like, okay, let's just start with around the world for a year. And we did that, so almost a full year and traveled extensively, North America, South America, Southeast Asia, Asia, and then in the backpacking style.

And I learned a lot of things. And I think one interesting aspect of it, when we talk about  technology. And this was back in 2010, 2011. It was fairly easy to, it was the eraly days of was booking.com or trip advisor etc. so there was sort of these things. But there was not so many smartphones.

Right? So right now you can just go to the airport, buy a ticket to Kamchatka, and when you land you open the wi-fi in your hotel room to find out what to look at. And back in the day, It wasn't that easy, right. So I had the normal flip phone. My friend had a Blackberry, he was more advanced, and that’s how we traveled. So we kind of had the wifi spots in hotels, hostels, and we kind of planned it a few weeks ahead, but it was still challenging. And, I was often thinking about how did all these people do that even earlier?  Say in the fifties or in the 19th. century. You could maybe go to the library and read all the books of what people may have written on Peru or Chile. But you just had to go there and figure it out yourself. And, it's so much easier for us thanks to technology. Thanks to the web. Thanks to the smartphone, it is actually available for everyone. If you want to travel the world. You can do it and the world is big, but small enough that you can do it in a lifetime. So that's cool. And I learned I think many things, but a couple of things to reflect on. I think one of the things on a general level, I think traveling generally opens people's mindset. So you see many different things, many different people, cultures, places. And so on, it just gives you a wider perspective, man, when you meet someone from those countries and then you have a better empathy to understand them. So I think that's on a generic lever. And on a more concrete level, I think also you will learn how people are different. Despite it, often we sit in Europe and we say, yeah, the Asians or the South American, they're all the same, but not, they are so different because they have their own language, their own culture, which we just kind of bundled them together, but they are actually very different.

And I think that’s the thing. It's how different people's everyday problems are there and here in the Western world. We often have stupid problem. Someone once gave me an example? Like oh, the Pringles box is too small. I cannot fit my hand in it. And in Vietnam, I met people whose biggest problem was how they will feed their family the week after. And, and still those people were much happier than some of the people here. And they had such different aspects of what happiness is, despite all the problems they had. And I think that teaches you all to everybody in your own life and then humble in that sense, and that was an interesting learning.

Piotr Karwatka: [00:11:32] That's really interesting. To be honest, traveling is something I miss most from this pandemic, like all the other things okay. We have limits here and there, but we cannot go around. That's that's the thing.

Okay. Tell us please about Westwing, when you joined the company, what was the business model for you guys? Because I'm not sure if everyone is on the same page. 

Adam Maschek: [00:11:57] Yeah. So I joined the company at the very early, startup times. So I was actually employee number seven. So really the early times and, and about the business itself, it was founded here in Munich by a German founders. And the whole idea was to be an inspiring source for customers. So our mission is actually to inspire and make every home a beautiful home. And this is what we try to do. So we try to be that kind of inspirational e-commerce, which not only offers products, but it also offers ideas, tips, inspiration for those people who like their homes and they want to furnish it nicely. And basically that's what we do. We have two websites, one is called Westwing and the other one is called Westwingnow, with corresponding mobile applications. And we're in 11 European countries.

And we work with thousands of suppliers or so we have some of our own brands and that's the basic precedent for our customers. And, and, and that is our end mission is to inspire and make every home a beautiful home. 

Piotr Karwatka: [00:13:18] Yeah, that sounds kinda cool. Can you give us any insights of the scale for office when you said 11 markets, which is pretty cool,  And how many orders you have per day or traffic, like give us some numbers to get the perspective.

Adam Maschek: [00:13:34] Yeah. So we are in 11 countries, including Poland, for example a number of orders. Actually, I don't have off the top of my head. Well, we typically look at the engineering and assess it by the traffic. And that is obviously what is affecting us. I, I think I, I have to say that to me, they didn't have so big or nor scaling these tools at all.

So we scaled with business travel and by now the business is quite big. So it's several hundreds of millions euros of revenue size and we scaled the business and we also have a worry. Peak traffic engineering, because we do a lot of big news that turns into push notifications. We do send them out at 8:00 AM.

And then send them the kind of customers come to our website. And this is what, the challenging thing for engineering, right? Because if you have a constant high loads, you can deal with them that you said in New York, from New York. Hi, when you have a problem and, and this is what we are tackling. And then there, in terms of numbers, I think one of foremost frequented API that is serving or, or one of four websites is reaching around 180,000 requests per minute.

For us, Netflix is a big number or some other, yeah, yeah. Thus far for us that, these, for example, on number that that's the are tackling 

Piotr Karwatka: [00:15:01] that sounds like a challenge. Actually, I have a next question about the challenges you are facing as a CTO. So we discussed the scalability and the peaks. I will ask you about the architecture in a couple of minutes, but even if I ask you like, what other challenges CTO of companies like  Westwing have, what would you say?

Adam Maschek: [00:15:27] Yeah. So I was thinking that the way I want to answer you on this question, I think as a CTO, you're always juggling thousands of problems at the same time, and it's hard for them to pick out one or two.

But what I think when I tried to also kind of reflect what is the most interesting. Those are typically not the technical challenges to solve. Because the scaling one, you can solve it, trying to either put more money on it, re-architect, , you could have better cache’ing, whatever. I think that these are typically easy to solve.

I think the harder thing to solve is more like management, people, and team growing challenges. And I think that's even also some of those topics, which we  talk less about between CTOs or these people.  We always focus on technology, their cool new tools, the cool new programming, things, architecture, and much less about organization and organizational structure.

So, I would say actually that is I think one of the challenges, which I am currently tackling is how to grow the team. And actually, I think every scenario is faced at some point, because he will face that when you are a start up and you grow your engineering team from three people to 20, he has to work with them very differently. Then you grow them from 20 to 50, to a hundred to 200. You always have to constantly change how you are organized. 

Piotr Karwatka: [00:16:59] Absolutely. I actually am getting those kinds of questions pretty often. Even today I got a WhatsApp message, something like my friend becoming a CEO. What would be the advice for him? Like you grew Divante from zero to 250 people. So what would be your advice? And this guy probably was expecting a single WhatsApp message. It's not that easy. How was it in your case? Like how did this change over the time, the structure? The number of people you have. And what would you say is the optimal structure for this team size as  you need to deal with Westwing size,?

Adam Maschek: [00:17:42] You can tell your friends who listen to the podcast. Maybe it is better than WhatsApp.

Piotr Karwatka: [00:17:47] That's why, that's why I'm digging deeper because I can send him just this episode 

Adam Maschek: [00:17:54] It depends, but I think you always have to listen to other people, what they went through, but at the end you have to shape your own organization.

I think for me, definitely, there was a breaking point at let's say around 20 team members. Because that's when you kind of realize you cannot do one-on-one’s anymore, with 20 people, you cannot do stand up rounds in a single round, so you have to change something. And that's when you typically bring in tech leads or team leads and you start to shape some teams.

Per some kind of border, either per platform or per topic, or backend, frontend. 

Piotr Karwatka: [00:18:37] Can I just interrupt you for a second? Because I can totally agree with you. For me. It was pretty much the same thing when I was building Divante’s team, but the actual problem was that those folksI had in my team, software engineers, mostly, didn't want to become the managers. They were afraid of leading other people. Have you faced the same problem? 

Adam Maschek: [00:19:01] Yeah, definitely. And I think everyone faces the same problem, because I think that's very specific for software engineering. Typically you would like to have teammates who understand both tech, but most people, but those are very hard to find people. So you would either end up with people who understand tech, but no so good with people or people who are good with people, but not so good in tech. And then you kind of have to make your bed or find those rock stars who can do both. Everyone faces that. And then you have to tackle it differently. Either you make the leads or you bring in externals or, or what I faced that sometimes you have to push people out of their comfort zone. So even if they think that they are not steady, but you think they are. Then sometimes you just need to give them a nudge and then they will feel better.

Good in the beginning because they think they are perfectionists typially. And they think they are not doing a good job, but actually they are doing an excellent job. You just have to reinforce and then push them out a little. 

Piotr Karwatka: [00:20:09] And, and probably provide them also with mentoring support and this kind of stuff requires a lot of talking with people. And what, what's the team size right now of the organization you are leading?

Adam Maschek: [00:20:21]. So right now we are growing. So last year we were growing a lot from around probably 150 people. Under the 9,200 range. And that's, again, it seems like a smaller change maybe in percentage, but it's already big enough that it puts stress on the organization because of how you manage the discount. Again, I think one of the key things you have to do is constantly learn and change, right? So that's one thing in agile principles or the threads, retrospect change, experiment things. And I think that's what you have to do impact management to do change. And that's also a tricky thing because I think in small organizations, It's much easier to change.