"Fabian once led the Technology at Rocket Internet - German based startup power-house. Doing headless before it got popular :-) Then he just pushed the pedal to the metal being a hands-on CTO of Spryker - of the most popular Commerce platforms. Now Fabian is working on a new startup - ROQ Technology which is going to change the way we build enterprise applications, no matter the industry." - Piotr Karwatka, Host.
What was your role at Rocket Internet?
Alice&Bob it’s not the first time our listeners hear about it - Halil from Lovecrafts mentioned it, then Adam from Westwing. Tell us more about it?
Then Project A: It’s an operational VC. What's the role of a CTO?
Then you founded Spryker together with Boris (also who was our guest). What was your initial idea for the product and its architecture?
Why did you leave Spryker / How did your background lead you to founding ROQ?
Tell us more about the ROQ. The USP and features of ROQ app?
How does it differ from Low-code (e.g. Bubbble.io) or Google Firebase or boilerplates (e.g. Laravel Spark) platform?
Who’s the target customer?
What do you think about low-code/no-code platforms? Is ROQ going to include some of these features (eg. UI builders etc?)
Core principles designing the application: Spryker vs ROQ. Key differences?
Tech stack discussion / architecture and design patterns.
How did your switch from PHP to JS look like? What was the toughest part of this transition?
Backend/Frontend/FullStack specialization - historical approach and how did it change over the course of years?
React Server Components / Livewire / Hotwire
Episode 26_Pioneers_Fabian Wesner
[00:00:46] Piotr Karwatka: Hello everyone today my guest is Fabian Wesner, a CTO with more than 15 years of experience who in the past five years led technology at Rocket Internet and was a technical founder of the e-commerce platform. We're going to discuss his experience and how the way we build the apps has changed and this latter topic led us to the discussion about his new venture ROQ technology.
Hey Fabian, thank you for accepting my invitation!
Fabian Wesner: Hello, Peter. And thanks for having me.
Piotr Karwatka: That's awesome. Maybe we can start with your background, how you got into software engineering?
[00:01:18] Fabian Wesner: Yes, yes. Yeah, actually I'm a software developer since 1998. So I started actually with writing HTML while I was in school. I started computer science afterwards. Created my first company, like in 2007 and actually I was developing all the time, so I actually was looking into other directions, but it all the time I was writing code. I learned Java actually initially, but then switched over to PHP very quickly because I liked it. It's more pragmatic, easier to ride.
[00:01:46] Piotr Karwatka: [00:01:46] Yeah. Got it. And actually, web apps. Did you do some windows application that was pretty popular in the early 2000? I was using Delfi and then C-sharp kit.
[00:01:57] Fabian Wesner: I was doing some, some basic and plus PI, but afterwards actually I just I said, well, what's the future? Actually, it was even quite clear in the late nineties. And so, I stuck with web development. I never looked into anything else. I was never interested. There was no point of building a Windows application.
[00:02:14] Piotr Karwatka:[00:02:14] Yeah. Yeah, absolutely. At this point you are completely right. The focus was important and the web was the ultimate platform. So how you joined Rocket Internet? It was, it is the first milestone in your profile. I wanted to ask you a little bit more about that.
[00:02:29] Fabian Wesner: [00:02:29] True. Actually, it's not the first milestone, so I did something before. So, from my career perspective, before Rocket, I was a freelancer. Working for different customers as a freelance software developer, there I was not really happy. Like there was no career perspective for me and Rocket offered me a full-time job. That was 2009. So, like 12 years ago and they said, Hey, you can join us. And then we actually, we will train you to become a CTO and it was a career perspective for me. That's why I joined Rocket Internet. Back then it was a company, actually a VC, which had a portfolio of companies. And they placed me into their portfolio company called Zalando.
[00:03:09] It was a German fashion shop in 2009. Yeah. So, my job there was actually to build a new checkout into Magento. I did that. And then afterwards, I also implemented a warehouse management system. Based on PHP Force. And then actually I was part of the team launching Zalando Lounge- a shopping club which actually had the same business model. So, I did that for one year.And then at rocket I became CTO. Well, I expected it to become CTO of one of the portfolio companies, but then actually I became CTO of Rocket Internet.
[00:03:40] Piotr Karwatka: [00:03:40] That's interesting.What does the CTO of VC actually do? Like, because, as you said, it's very natural that they put you into some portfolio company and they have very clear goals to make this product and the city over there, the VC itself.
[00:03:58] Fabian Wesner: Yeah, actually, it was a VC at that time. It's more like operational VC or at that time they called themselves“company builder”.
[00:04:09] Piotr Karwatka: [00:04:09] So it's a company which just creating other companies. So, they have a tier company venture builder.
[00:04:10] Fabian Wesner: [00:04:10] Exactly, IT team, marketing team and so on. And if you have an IT team you also need a CTO, but that's why at that time there was a plan to copy their most successful company, which is Zalando, actually all over the world. And I was CTO So, my job actually was to execute this from a technical point of view. So, I started as my Magento and then actually we launched the first shop in Japan is called Lacondo. I think it's still alive. I didn't check it. Then we launched another shop in in Brazil. It's called Dafiti. This is one of the most popular e-commerce shops in South America today. Then we actually created another one in Russia. It's called Lamoda. There are these kinds of shops, even Australia, The Iconic. So, my job was to drop the cost to build a team and building like we had 100 people are out in the it team. And then actually I created a technology. Initially it was Magento, but then we replaced Magento with our homegrown technology. This technology is called Alice & Bob I'm quite sure that some engineers still knowit because it's still in use even like 10 years later. It's still used by, for example, you will find some fragments in the source code of Hello Fresh and maybe Westbank, these kinds of companies. They're still using the Alice &Bob system.
[00:05:32] Piotr Karwatka: [00:05:32] Yeah, the that'snot the first time Alice & Bob is mentioned in my podcast actually, because when I had an interview with Halil Koklu from LoveCraft's, he told me that when he was at Rocket Internet, they were using it as well. So maybe you can say a bit more about it?
Fabian Wesner: [00:05:58] So actually, so my job actually was to create a lot of these shops. So, my bosses at that time were like, Oliver Samwer - the owner of Rocket Internet. One of the three brothers, Samwer brothers, quite famous, actually entrepreneurs in Germany. Yeah, and he actually wanted to have a lot of these shops all over the world, there was a long list and what I did actually I created a team in Berlin, able to like a Kanban mode, that it was a team for design as a team for product, another team for editing and so on. So, I created a system that allows these kind of repetitive launches. So, this was actually, this was not a very software quality thing. It was more like intended as a big templating system. So, you have different business models, like for fashion, for furniture, for toys, you have the different country tangent then, and that actually, we just plug them together, And we would actually roll out country, by country, by country. And this was very,very fast actually. So, execution time. Was like 15 to 20 milli seconds. And this is also one of the reasons why it's so hard to get rid of it. So, the code quality is not good. So, I still have people at interviews today for telling me about, about that bad experiences with Alice & Bob.
[00:07:04] They do not know that I was actually the architect. But the problem is it’s so fast, that whenever people tried to replace it, that makes the whole system slower. And from the business point of view, speed is more important than code quality. And that's why it's so, it's so sticky actually aware.
Piotr Karwatka: [00:07:20] the architecture was very interesting. Even the named Alice and Bob means like it's the separation of concerns. Right. I think it was very, very fresh approach to the front and back-end separation. Maybe you can say a little bit more about this for me. It was like first first-time headless to be implemented in e-commerce maybe
[00:07:40] Fabian Wesner: [00:07:40] Yeah, actually. So before I saw him do it, I was working on Magento. Magento actually has the front end and the back end and the administration. You're obviously going wind up application. And this is messy because you have different concerns for 1 application. So for me, it was very clear. We need an application, which is a hundred percent focused on rendering the front end and another application that holds the business logic. So we started with Bob. The name of the project was Bigfoot and Bop means Bigfoot's own Backend.
[00:08:12] So then we called the back end Alice cuz that sounds just reasonable. We even had a third guy called Connie. That actually was the marketplace extension. And yeah, and the idea really was to build two, to use like two applications, both PHP, we use different frameworks, like Alice run was running on very fast framework Bob for was running on scent framework, a more enterprise framework at the time. And then actually we just implemented it with standard technologies, my sickle and yeah, actually. That's it. So it wasn't separation. I think I've seen it a lot of time. When I looked at Magento installations of people that use Magento, then they try to build some app in front of Magento. It's actually the same pattern, but in our case it was without Magento.
[00:08:59] Piotr Karwatka: [00:08:59] What you just said is actually what we implemented with Vue Storefront 1. It was actually an app on top of Magento, separating the users from hitting Magento itself, even with this elastic search layer in between. So it's pretty much the same approach, which is, by the way very, very cool. And as you said, works very well. So, it was kind of biolerplate, right? They, they were just taking it to new project, but it wasn't like a framework, but more like a boilerplate?
[00:09:34] Fabian Wesner: [00:09:34] It was a boilerplate to make systems in a week. With our team and build that we implemented the whole shop until they go live, which took usually like five days to launch one more shop, actually. We always copied the last one, like we took the Brazilian Portuguese language and put in the English language and put it into the Australian logo and here we go. After five days, we had the Australian shop up and running, this is actually what we did there. Part of my job was actually also to hire the first engineer then onsite in the country and, because the idea was that Rocket wanted to hand over this to local quickly weactually overall we hired actually one thousand. So, we reached the limit of Atlassian JIRA at that time because we had one JIRA for the project. And I did actually a lot of interviews. Like for example, I had days where I had like three hours and had 12 candidates so people who prepared it. So I had like 15 minute slots for one startup.
[00:10:30] Piotr Karwatka: [00:10:30] Sounds like crazy times, but also very interesting, I guess you learned a lot in the process, like having experience with so many teams, so many projects.
[00:10:43] Fabian Wesner: [00:10:43] Well, that's what I like for my, I mean, it was younger than now, actually it was just 30. And actually when I arrived the office the eight and the morning that actually people from Australia, Japan waited for me. Hey, we want to talk with you. At the end of the evening, when I went to leave the office at nine the, actually the people in Brazil said, no, you cannot go- we want to talk with you. So it was quite an interesting time.
[00:11:06] Piotr Karwatka: [00:11:06] It’s like listening to audio books on twice the speed, you know, there is this option. You can speed up things and you have this daily that's that's amazing. And then, then there was Spriker. How did this Rocket Internet experience lead you to fund this breaker and maybe you know some history on how it was funded, this is very interesting for me.
[00:11:32] Fabian Wesner: [00:11:32] Yeah. Actually, after Rocket, I moved to there was, there was actually a management split. So the Managing Director at Rocket Internet decided to create their own company builder. This was called Project A and actually I was moving from Rocket to Project A at the time. So I was actually CTO of Project A. And again, my job was the same that I had at Rocket. So again, I created another shop system called Yves & Zed.But this time we use the last letters of the alphabet. There are also some shops operating with this, for example, there's a German shop called Contorion. It's an MRO shop B2B shop. And yeah at project A we actually some contact from enterprise companies. They asked us, hey, could we somehow use the shop system for ourselves? And that was the answer was always no, because it's a VC and that cannot sell technology, but there was obvious demand for an enterprise shop system.
[00:12:25] And this was one of the reasons actually, why Spriker was created because they have to demand for this technology. Okay. Then let's do a startup that's focused on this. There are a lot of reasons why Spriker was created, Alex told already on a lot of podcasts. But this was one of the reasons. For me actually it was an easy decision. And this was a chance for me to actually to go ahead with my own company, to become a founder. And yeah, actually they sold my baby, so it was clear that I want to go there. So that's why I became CTO of Spriker. Spriker is an enterprise level e-commerce operating system. So it's now actually this time it's a very powerful shop system can be used for B2C, B2B use cases for marketplaces international setups.It's quite powerful. It's enterprise level. Now it's mentioned in the Gartner Magic Quadrant. It got quite good funding recently. Yeah, It's a good story actually, but actually, maybe just maybe switched from our even set from port a to Spriker the names today, by the way. So when you look inside of Spriker source code you will still find Yves & Zed. The code source code was rewritten because what we implemented; this was not enterprise level. And it took us several years actually to rewrite it into enterprise.