Episode 904 ·

Building Peacock at Scale with António Vieira, Director of Global Apps Engineering at Sky

Peacock has become a streaming giant. How did they scale it to millions of users?

Today, we're talking to António Vieira, Director of Global Apps Engineering at Sky. We discuss how Peacock handles 30% of internet traffic during major NFL games, why live streaming is exponentially harder than video on demand, and how AI is being used to create personalized content experiences with synthetic voices.

All of this right here, right now, on the Modern CTO Podcast! 

To learn more about Sky, check out their website here.

About António Vieira

António Vieira is the Director of Global Apps Engineering at Sky, where he leads the team responsible for building and running the Peacock streaming service. Over the past 13 years, he has grown his engineering organization from 4 people in Portugal to 500 engineers across Portugal, the UK, Czechia, and the US. His team manages streaming platforms including Peacock in the US, NowTV in Europe, SkyShowTime in 22 European countries, and Showmax across Africa. António has been instrumental in building Peacock since early 2019 and has successfully delivered record-breaking live streaming events, including NFL games that reached 23 million viewers and represented 30% of all internet traffic.

About Sky

Sky connects and entertains millions of people across Europe. At the heart of everything we do, is a belief that people deserve better. For decades, we’ve shaken up every category we entered to give people what they love, to make life a little easier and to provide great value. That’s how we bring millions of customers the joy of a better experience in TV, broadband and mobile.

In TV, we offer the best sports coverage, unmissable TV and the smartest ways to stream and aggregate the TV you love. In broadband, we power homes and businesses, with a fast, reliable connection. In mobile, we bring people closer, with plans at unbeatable value. And now, you can even keep your home connected and protected, through our smart insurance. We design our products to fit seamlessly into your life, with service whenever and however you need it.

That’s how we do better for customers. And we believe in better for society too. We power the cultural economy in the UK and beyond, making award-winning news, original sport, and entertainment. We contribute billions to UK GDP, creating and sustaining thousands of jobs and sharing both our journalism and our coverage of the arts, free of charge. We are cutting emissions and making recyclable, energy-efficient products, and we give back, through free internet access and digital skills for under-served communities and young people.

Sky is owned by Comcast Corporation, a global media and technology company.

Transcript

(Intro Narrator at 00:00:00) Today, we're talking to António Vieira, Director of Global Apps Engineering at Sky, about how he and his team built and run the streaming service Peacock. You're listening to Joel Beasley, Modern CTO.

(Joel Beasley at 00:00:17) So you make the Peacock app. You and your team, that's what you're responsible for.

(António Vieira at 00:00:23) Exactly. It's a long story, how we got to work with Peacock. But before we get there, I just want to agree something with you. Can we agree on a budget for the AI topic so we don't derail everything with the AI topic? Are you calling that, how do you say, like 30%?

(Joel Beasley at 00:00:42) Definitely less than 99%.

(António Vieira at 00:00:45) Yeah, all right. That's amazing. We know it's an inescapable topic, right? Anyway, it's a long story that I won't tell in the podcast because it will be a very long podcast. But to sum it up, by a series of fortunate accidents, we ended up having a team of four people here in Portugal working for Sky and doing streaming stuff, streaming and TV in the internet age kind of thing. And we were working, a small group, we were working on some small projects. This was like 13 years ago.

(António Vieira at 00:01:21) Then as we continued to work with this project, we wanted to expand our reach and do more stuff. We got additional opportunities. I think maybe we had some talent as part of it. I guess that probably explains it. And we ended up creating a team here that got increasing responsibility, and we grew from these four original people that started it to a total of 500 people. That's more or less what we have now. And midway through that journey, we had the chance to start working on what is now Peacock. Back then it was not called that. We had that opportunity to start that project. I joined the team that was building Peacock in early 2019, and that's how I got here. So now I've been privileged to be part of the team that builds Peacock for the last five years.

(Joel Beasley at 00:02:16) Oh, that is so cool. What was it before it was Peacock?

(António Vieira at 00:02:19) Well, we had a code name that I'm not sure I can share.

(Joel Beasley at 00:02:24) It's okay, all right.

(António Vieira at 00:02:25) It was a funny internal name. We only got the final name midway through. We were already building the project then, and all of that was a bit later. Yeah.

(Joel Beasley at 00:02:33) Now, are all 500 of those people working on Peacock, or do you do a bunch of different work for the organization?

(António Vieira at 00:02:38) Vast majority. There's a tiny group here in Portugal that doesn't work only on Peacock, but it's still a tiny group that works on some of the projects in Sky. But the vast majority is working on what we call the global streaming, and Peacock is our main product.

(Joel Beasley at 00:02:52) I'm curious. So to prepare for this interview, we watched Peacock last night, me and the kids and the family, and we used Roku to go into Peacock. Now, is that an app that you guys manage yourself and you deploy it for Roku?

(António Vieira at 00:03:09) Okay, it's built by my team. Today, my team is not only in Portugal, just to be clear. Although most of my journey I'm still here in Portugal, I have the majority of my team that builds the apps here in Portugal, but I also have a team in the UK and in Czechia. So the entire group is divided not only in Europe. We also have a team in the US. So it's a wide engineering group working across all these locations.

(Joel Beasley at 00:03:33) That's awesome. And then you guys know Testlio. I know Testlio. Yeah, you know Testlio. What did you guys do with them?

(António Vieira at 00:03:40) Yeah, we started working with them, I think it was three years ago, I believe. We had this challenge. We operate Peacock in the US, but we have some of the brands. It's basically the same product or a variant of the same product that we are different brands across the world. In Europe, we have NOW TV in the UK, Italy, and Germany. We have Sky Showtime in 22 European countries, including here in Portugal, and we have Showmax in over 40 countries in Africa. So when we needed to syndicate our platform to support all these new propositions, as we call them, we needed to understand how we operate the testing and the quality at scale. And of course, we had the combination of automation, manual testing, non-functional testing, all the usual things, and of course telemetry as well. We invest heavily on telemetry, but there's still a part that's very hard to operate at the global scale if you don't have the chance to move to this particular location, someone that has this particular device that is a customer of this particular payment provider. And Testlio, we started working with them three years ago. They give us great help on this because they can, at any moment, create someone with the exact conditions we may need to diagnose a production issue, to go through a very particular test before we release a new version, and they help us with that. They've been a trusted partner.

(Joel Beasley at 00:05:10) So you like them because of the granular ability to test use cases.

(António Vieira at 00:05:15) Yes. That leads us a bit to we need to understand a bit the challenge in streaming, and it's great that we use the example of Roku. Roku is one of the devices we use. And Roku, there's a bunch of Roku models, of course, that we need to support. But if you take a step back and you reflect a bit on the streaming challenge from an application perspective, aside from music, it's the only other business that works like this where you need to build the same app in a wide range of platforms, right? So we cover everything from a $15 little stick that you connect to your TV to a $2,000 foldable phone, right? And everything in between. In terms of capacity, availability, technology stack, they are very different. So we end up optimizing for that and optimizing for testing all those combinations, not only in terms of automation, but we can't test it all without too much. Even if we want to, just think about it. There's thousands and thousands of different device models that we need to support. So how do we scale that is part of the challenge of managing a streaming platform at scale.

(Joel Beasley at 00:06:24) Well, also, they're always updating their platforms. So you've got thousands of platforms that are constantly doing updates to themselves, and then you have to respond to those updates and make improvements.

(António Vieira at 00:06:34) OS versions every day, every week. This is a continuous challenge, right? And sometimes they do launch something or our partners, they also have issues, right? And sometimes the issues affect us or affect other platforms, and we need to be on top of it. And for that particular use case, crowd testing is an essential tool today for us.

(Joel Beasley at 00:06:58) Let's talk about the Thanksgiving Day Parade, right? You guys stream that. When you do a big event like that or the Olympics, are you up all night the night before? Are things pretty stable because you have systems and processes for these traffic spikes?

(António Vieira at 00:07:14) It's something that you learn, right? So one particular challenge we have with Peacock and in streaming. Streaming and live in streaming is a different challenge than what we call VOD, video on demand. Live is unforgiving, right? You don't have a second chance to broadcast a live event. Either you get it right the first time or you have your CTO calling you and the board calling you. So it's not a good story. We've been lucky, but it's been also a lot of hard work to do it. So we've been through this and the journey is always the same. Like anything you do in life, the first time you do it, well, it's all hands on deck. You don't know what the hell you're doing, so you're trying to figure it out. And yeah, you'll be there through the night, right? And there are still the big defining moments like doing our record-breaking NFL game. Yes, we were there during the night. I don't need to be there during the night for the Macy's Thanksgiving Parade where in terms of scale, it's not at the same ballpark. So there's a lot of work and preparation that goes through to ensure that you don't need to, and you make it increasingly rare. And my objective in terms of career, the holy grail of a streamer is the ability one day we may be able to do the Super Bowl, 100% exclusive in streaming with 100 million concurrent users watching the game without anyone needing to be awake during the night, right? We're still far from that ambition, but eventually we'll get there. That's what moves us, by the way. Those are the challenges. And this particular challenge from an engineering perspective, we can discuss a bit. Now, again, let's consume a bit of the AI budget, okay? So now in AI, you keep hearing people discussing this challenge that we don't have enough compute for AI, right? It's one of the recurrent topics and all the CapEx investment behind that. And it's funny that we never discuss CapEx investment on the internet infrastructure. When was the last time you heard about it? You don't, right?

(Joel Beasley at 00:09:23) Yeah.

(António Vieira at 00:09:25) So for everyone, for you, for me, and most of our daily usage, internet is a fixed problem, right? It's done. It's a done deal, right? You assume it works and there's nothing else to invest there to learn. Now that's fortunately true aside from some eventual hiccups like when that happened today with the internet with the big providers. But aside from that, it's very stable and it works fine. When you get to one of these high-end streaming events, you're playing at the limits of what's possible with today's infrastructure on the internet. That's what makes it extremely challenging. And if you think about it, when we did our record-breaking NFL exclusive, we had around 23 million different viewers. That means 16 million concurrent streams. And that was about 30% of the internet traffic that day went through our platform and our systems, right? Just to put it in perspective. If you want to do the Super Bowl, it's more than three times that. So you get beyond the 100%. So how do you manage that, right? There's a lot of challenges there that most people don't realize, but they result from this challenge, the underlying limitation that the internet was not designed to stream live broadcast. That was not the design principle. It was about resilience and reliability on the network. It stays about small packages moving back and forth and surviving network failures across. This is not the model. The streaming model is you have all these, you want to push to everyone the same thing at the same time. So it's a very different model, so we need to do a lot of moving stuff around to make it happen.

(Joel Beasley at 00:11:07) So that's interesting. So it's way easier to serve 20 million concurrent users a prerecorded video than it is a live video.

(António Vieira at 00:11:16) Oh, it's not even, it's totally different challenges. Totally.

(Joel Beasley at 00:11:21) Is it different bandwidth, like on the internet, as far as like how much consumption is it?

(António Vieira at 00:11:25) The fact that you don't have 20 million people watching the same VOD. So even if you launch the most successful TV show in the world, right, whatever, in any streaming provider, even if it's in all of them at the same time, right, people don't watch VOD at the same time, right? You time shift it, right?

(Joel Beasley at 00:11:43) So you can do—

(António Vieira at 00:11:45) So you don't have that peak where everyone joins at the same time and we all need to start watching the game. And you see it in sports, right? This happens mostly with sports. Sports, people want to watch the try, the goal, whatever score it is, right? The big moments. The moments that bring us together around the sport are those moments, the defining moments of the sport. And people want to get there, click a button, they're watching it, and they're watching more or less what's happening live, right? You cannot wait five minutes or 10 minutes. The value of that moment decays exponentially with time, you know? The closer you are to the moment of the big event in the game, the most valuable it is for our audience. So you need to do this as close to real time as possible. We call it low latency, the jargon we use in the industry. It's not zero. It's never zero. Of course there's always, but it's like in the 10, 20 seconds right now in streaming. That's the ballpark that we're working on. So you need to deliver the same thing to 20 million people within 20 seconds. That's what makes the challenge a big one.

(Joel Beasley at 00:12:52) So if you're going to bet on these sports things, you need to be there in person.

(António Vieira at 00:12:58) Yeah. No, it depends.

(Joel Beasley at 00:13:02) We don't want to go there. We don't want to go there. I don't do that, but I was just thinking, like, you know, back in the day, early in my career, a bunch of people were trying to lease real estate close to the NASDAQ or the New York Stock Exchange because of the latencies and the high-frequency trading. If they could get the computers really, really, really close, they could out-trade other people. And I was thinking of that when you're just talking about sports stuff.

(António Vieira at 00:13:32) Yeah. The reason is different because it's not a compute latency reason, but some of the engineering challenges are similar, right? So you need to push, in this case, it's mostly about the network packages that needs the actual video content. It's not any compute and pure latency. The pure latency itself is not a problem. It is a problem if you need to send the same package 20 million times, right? Because that's exactly what makes it challenging. It's not the fact that if you're broadcasting just for one customer, there's no challenge here, right? What makes this challenge is that we're all in the same pipe and that pipe doesn't expand anymore. So we need to put closer to the smaller pipe, near the consumption, the household, our customers, and that's what makes it challenging in such a short time. And of course, tolerating failures is very difficult, right? Because you don't have excess bandwidth. You can move stuff around. There are limits to that, but we operate on those limits.

(Joel Beasley at 00:14:34) That's interesting. And so it's because of the fact that everybody is trying to watch the same thing at the same time, the pipe that's deploying that piece of content is the constraint.

(António Vieira at 00:14:46) Yes. Yes. There's lots of other things happening, right? If you look at it, there's the entire platform. Again, on the live events side of things, you have a lot of people coming into the platform during a small period of time. This huge ramp up puts a pressure on the entire platform, and you need to make sure that you serve everyone. You're not allowed the luxury of having long-running caches for these things because, again, you want the event to be live and you want people to open the platform. If the last Celtics-Knicks game is airing on Peacock, you want to see the update that's airing exactly where it is on the progress bar and all of that, right? So you don't get away with a lot of caching. So it requires a lot of engineering to make that happen in a very short turnaround time and with a very low latency and also with resilience. And the resilience part, again, is the expectation. The expectation we have is the one we set with broadcast, right?

(Antonio Vieira at 00:15:47) People are used that TV just works, and TV still needs to work the exact same way in the streaming age, irrespective if it's more challenging to implement or not.

(Joel Beasley at 00:15:57) Now does this unique constraint of massive concurrent users, does that prevent you from using cloud services, or do you have to own your equipment and have it on prem? Or does it not really matter?

(Antonio Vieira at 00:16:10) No, no. We use several cloud vendors. It's more about, from an engineering perspective, an architecture perspective, to design a system that supports this, you need to run away from single points of failure. There's no single point of failure, no single CDN, no single service, nothing. We have everything doubled down as much as possible. Our fault tolerance and self healing needs to be part of building most of the back end services that we have. In case of failure, something that's very important for us is we design the system in the way that fails in favor of the customer. This means if you don't know something, you try to make the best out of it and still provide the customer an experience. And when you're talking about these important events, people just want to watch the game. They may not be able to, I don't know, add something to their favorites. That's not a big deal. But all those things, you don't crash the platform because you cannot add something to the favorites. Right? I'm oversimplifying this a bit.

(Joel Beasley at 00:17:14) I get it. I get it.

(Antonio Vieira at 00:17:15) Thousands of decisions like this that go into guaranteeing one of these games works flawlessly. And that's part of the preparation. There's a lot of preparation. You just don't get there and hope for the best. We test everything over and over again.

(Joel Beasley at 00:17:30) I get what you're saying. I've been a software engineer for twenty years, and so it's the principles in which you're decisioning from. You're like, we want to fail in favor of the customer. And then so that you bake that into your culture. And then when they're making every little decision, your whole team, it's not a big meeting on what do we do with everyone. Everyone just knows this is how we do things here.

(Joel Beasley at 00:17:49) Exactly.

(Antonio Vieira at 00:17:50) Exactly.

(Joel Beasley at 00:17:51) Yeah. Now, I'm curious for you. You're a consumer. You stream all different types of services because you're a living human in 2026. So I'm curious for you, was there anything before you got into the streaming job specifically with Peacock, anything that you've learned that really surprised you as far as maybe human behavior or consumption patterns, anything like that?

(Antonio Vieira at 00:18:18) No. Actually, it's not different. I love TV, and I've been a TV user or fan for a long time even before streaming existed. And kind of the things that you can condense all consumer behavior in, this natural need for people to feel connected. And that's part of, by the way, that's part of the appeal in television, right, that we have through growing up as a kid, you know, those shows we watch with our parents, all that idea of sharing and being together with the family, the idea that the next day at work or at school, you can have a discussion and share, did you see the game yesterday? Right? Did you see the show? Which episode are you in? I don't want to give you any spoilers kind of thing. What connects people is what drives this industry. That's why it makes it so exciting to be part of working on the next step of this journey. And now the challenge from a streaming perspective, streaming leans a lot more on the personalized side, on making this interesting for you. It's kind of a middle ground between what you do with social media that's a lot more personalized and what you do with classic TV. I personally think we need space for both. Because if we just give, and again, using a bit of our AI budget, right? I'm not a fan of AI-created specific content for any person, not as a streamer. I'm saying this as a customer. I don't see the point. If I watch one thing and Joel, you watch something completely different, where is the sharing part of this? What are we getting from this as people? What is what makes us be together in this life? And that's the exciting part, and it's what we're still trying to reconcile, this apparent paradox, how you can have the personalized and have what you like, but still be able to share with people that are like-minded and like the same. And also have the big moments that everyone shares, like that amazing Super Bowl final with your two favorite teams that you've been discussing for years to come with your friends and family. That's it. That's for me, it's the key driver. There's no surprises there. It's exactly how you expect.

(Joel Beasley at 00:20:40) You can actually make friends with people based on having a show that you both like and comment. Right? Isn't that wild?

(Antonio Vieira at 00:20:47) Absolutely. Absolutely. I grew up, we had a lot of NBC shows when I was a kid here in Portugal. And I still remember the first time I went to NBC headquarters in New York, in Rockefeller Center. So it's an iconic building that we call 30 Rock.

(Joel Beasley at 00:21:05) That's a good show, by the way.

(Antonio Vieira at 00:21:07) It's a good show. That's exactly about the premises there. And I just entered there, and there was all these shows that I used to watch as a kid. It was a very meaningful moment to share that. Although I did not live and I did not grow up in the U.S., I share a bit that culture that exists even across countries. And something that when I meet my friends in the U.S. that I've been working with in the last few years, we have, even if we didn't have anything else, we had those topics to kick start any conversation. We're all Seinfeld fans, for example. Right?

(Joel Beasley at 00:21:41) You know?

(Antonio Vieira at 00:21:43) So, you know, that aired on NBC many years ago, and it runs here in Portugal. So it's a great show, and that's it. It keeps us feeling part of the same.

(Joel Beasley at 00:21:55) What is the, well, first of all, you mentioned a bunch of shows. Which is your favorite American show?

(Antonio Vieira at 00:22:02) Oh, it's Seinfeld. I already mentioned it. Seinfeld? No doubt. Hands down, Seinfeld. I absolutely, yeah, I was a big fan of Seinfeld. I still watch it sometimes, you know, rarely, but I don't have much time. But yeah, it's a great show.

(Joel Beasley at 00:22:18) Family, kids, all that stuff, work.

(Antonio Vieira at 00:22:21) Yeah. Yeah. Exactly.

(Joel Beasley at 00:22:24) Okay. Hardest technical problem that you've solved with streaming?

(Antonio Vieira at 00:22:29) Yeah. I think it's, picking up on what I mentioned about the challenge with scale, and the personalization point. It's when you combine these things that by themselves are already challenging, but a bit separated, and you bring them together. And it makes it a huge challenge. So just the fact that you can open your application, you can get the content personalized that you want to watch, but includes also linear and live content that just updated, making that work really well, it's extremely difficult. It's not something that people will appreciate how hard it is to do because it doesn't look like it. You're just seeing a browse page. But everything that goes behind to make that timely, and more to make it that fast, it's very, very difficult. And one thing that we work very hard to do, and it's part of our mission, we want to have the best streaming experience in the world. And of course, we are up there working with the best engineers in the world in this space. It's a very competitive area. And we want also to be the fastest, right, the most reliable application. And there goes a lot of effort to make these things work reliably and performant, in a performant way, in that particular space. That is very challenging to do.

(Joel Beasley at 00:23:48) Well, I think you're doing a good job. I asked my kids this morning, so last night, they watched a movie called Bad Guys 2, a new animated movie on Peacock. And then this morning, they watched The Magic School Bus, which is a show from when I was a kid, on Peacock.

(Antonio Vieira at 00:24:03) Yeah. I know.

(Joel Beasley at 00:24:04) And I asked them, I said, how was your experience? I was like, I asked, do you like the application? And they're like, yeah. And I was like, okay, how is your experience then? And they're like, it played. And I was like, okay.

(Antonio Vieira at 00:24:17) Well, you got 90% there if that's the answer. No, it's like that's what you want to hear as an engineer. It didn't fail. No problems. That gets you a long way. Now, of course, you need to have innovation, and we've worked on a lot of that recently because you want to explore new ways to consume. Just recently, we launched the NBA, for example. The NBA is back to NBC, and we also have it on Peacock, some of the games. And we're finding new creative ways to watch the games. For example, one of the things that we have a growing user base, fan base from NBA of younger generations that are on the go and consume on their mobile devices. We built this feature, Can't-Miss Highlights, where you can follow the little clips that you would watch sometimes in social media after the game. You can watch in real time during the game. It just gets updated with a few seconds. You don't need to watch the entire game. You can go on the subway back home, and you're just flicking through them, and they are getting updated in this kind of feed style experience. And that's great.

(Joel Beasley at 00:25:28) Oh, no way.

(Antonio Vieira at 00:25:29) Those things. There are lots of things we're working on, and AI as well. I don't know if you had the chance to, I'm not sure if you're an Olympics fan. I did not ask you that. Do you like the Olympics? Or is it not your...

(Joel Beasley at 00:25:45) Oh, I mean, I've watched it before. I've watched it before. Yeah. Yeah.

(Antonio Vieira at 00:25:49) Yeah. One of the challenges with the Olympics is that you have like 5,000 events to choose from every single time.

(Joel Beasley at 00:25:55) Yeah. They were all playing on, I remember watching the Olympics back with TV.

(Antonio Vieira at 00:26:00) Yeah. And you don't even know, and it's not like, you know, sports like if you're an NBA, MLB, or NFL fan. Right? People usually know that. But in the Olympics, no one knows they like curling until they watch a curling game.

(Joel Beasley at 00:26:15) Zero streams.

(Antonio Vieira at 00:26:15) No. It's like, okay. But people are just watching the Olympics. It's like, you know, let's see if team USA or team Portugal or whatever wins, and it's just browsing there. But then you want to deep dive on that thing that excited you, looked cool, you wanted to see a bit more. How do you create ways in terms of the user experience that you can combine multiple techniques and a wide approach from multi-view, from this can't-miss highlights style, from things we call live actions? There's lots of interaction models that we add up. We launched more than 20 features for the latest Olympics in Paris on the same day. And there's an interesting engineering challenge here as well. But going back just to the experience, just putting it all together and making sense as an experience, extremely challenging. And this is amplified by the second part, that we don't have an Olympics to test. You don't get two chances to do it. When you have the Olympics every two years, you're two years building a bunch of features that you don't know if they work out or not. You cannot even test them together because we just scaled off the Olympics because we don't have events to fill on those features and make this make sense. So there's a, it's in a sense, a gamble. We don't know what will work out. We test different things. Some work out really well. We had also the AI recap, great, especially for the Paris Olympics where the U.S. population, because of the time difference between Paris and the U.S., couldn't watch several of the events live. And you had this AI summary that we craft specifically for each person that had like, you know, it's like those clips you watch, the summary usually that existed already in most Olympics in the past, but now personalized for the sports that you like and you enjoyed. And that was a very interesting case of AI where it's a controlled case. It's not like we let people do all crazy stuff out of script with AI, but we leverage AI to create the content that did not exist. And it's not AI creating content. The content is the same. We're just repackaging and serving in a way that's interesting for each specific customer.

(Joel Beasley at 00:28:40) So the problem of streaming is stable enough to where you're like, we can stream and we can deliver. And now we can also have engineering resources that do new cool things on top of that.

(Antonio Vieira at 00:28:58) Exactly. So you're actually taking the raw feed and creating clips from it.

(Joel Beasley at 00:28:58) Yes. And that's similar to what we do with the show. We have sometimes we do it manually, sometimes we have a tool that'll look for the best clips and it'll get it like 80% correct and we just kind of dial it in. Other times, it gets it a 100% correct. But just to be clear, from my understanding, you guys are actually taking those feeds, making clips, and then putting them into like a scrollable reel, like I'm watching reels on Instagram. It's like...

(Antonio Vieira at 00:29:24) In this Olympics, when it was Al Michaels' voice talking about the clips and commenting the clips was an AI-generated voice.

(Joel Beasley at 00:29:33) Really?

(Antonio Vieira at 00:29:34) Yes. Exactly. Yeah. It was pretty cool.

(Joel Beasley at 00:29:36) Can I switch the voice? Can I have like Tom Hanks if I want?

(Antonio Vieira at 00:29:39) No. Well, technically, yes, would be possible, but that gets us to not engineering, gets into lawyers kind of conversation that I'm not qualified to discuss. It's about rights and people that we worked at. We use voices and we use, for this case, the Al Michaels voice. They agreed to it. And of course, everything is clear, but that will be a challenge. That will be a cool feature, but we'll need to have the voice actors agree to it.

(Joel Beasley at 00:30:14) I want to use a little bit of my AI budget here.

(Antonio Vieira at 00:30:17) Yeah. Let's go. Let's go through it.

(Joel Beasley at 00:30:19) Earlier, you mentioned the general nature of your business. We talked about how you're on all of these different platforms with essentially the same application written many different times, and all those platforms are constantly upgrading. When I heard that, now I haven't personally experienced this, but I've talked to a couple people that have shared with me that the AI models are really, really good at updating applications or porting applications and things of that nature. So I'm wondering as you move from version to version, let's say, on Roku, are the AI models, are they generating, like, are they making that easier for you guys to stay up to date with those upgrades?

(Antonio Vieira at 00:31:00) Yes. Yes. It's not only Roku. That we don't treat it differently, that particular use case of any development or update that we do. So the way it works, all of these apps that we're constantly building and rebuilding, they're the same that we launch across the world. We get into a kind of a rhythm to do this. There's no special update path to, let's say, let's imagine Roku launches a new firmware version. We don't do anything special.

(Antonio Vieira at 00:31:27) The next version will support it. That's how it works. And we regularly, every week, every two weeks, we are deploying new versions of all the software we're building. So we need to move fast, so we get really good at doing it.

(Antonio Vieira at 00:31:39) This consistent rhythm of doing stuff and shipping stuff in a continuous way—we have an internal name. We call it—it's actually a cool name—we call it the release train. But I need to explain to everyone that it's a Swiss release train, not a Portuguese one, because our trains are not very timely, and this is important to be extremely timely. So the release always goes out, and whatever needs to be there needs to be there. You know, the release always goes out, and we do this. We're really good doing this. And of course, what AI is helping us right now is on the actual process of crafting each release that caters for all these things that you mentioned and others and new features and whatever is happening. It gets us faster to that. Right? Absolutely. That's part of the software development life cycle, and we can discuss a bit implications of that in terms of AI because it's an interesting and long conversation.

(Joel Beasley at 00:32:37) Now if you were to just ballpark estimate the percentage of engineers on your teams that are using some type of assistive model for their work.

(Antonio Vieira at 00:32:51) Oh, it's 100%. Everyone is using it. Everyone is using it. We're still in the adoption side of things, right, overall. Right? As an industry, I'm not talking about we as a company. The first step is you need to get the tools to everyone, and you need to convince them to use them, right, and to leverage them and to learn with them. I think that's more or less—we are—that's behind us now. We crossed that, as I think the majority of people in the industry. We're now on the second part: is this useful? And you can get, you know, you can get to, "I generate a lot of code, but then I need to manage the PRs." Or I do this and I move the bottleneck elsewhere. And now the bottleneck, for example, is testing or quality or telemetry or whatever. So you keep adding these additional steps, right? Because the code generation part is kind of the obvious use case, but you optimize all that and the rest of the software development life cycle is still there. You're still doing the requirements the old way. You're still doing the architecture the old way. So we are step by step transforming each step of the software development cycle, and that will take, of course, not months, maybe years. It will be an industry-wide transformation.

(Antonio Vieira at 00:34:04) But I'm actually more interested in, or more excited about, the possibility of actually redefining the way we build software. Because what everyone is doing, I guess—well, maybe exceptions, but in general—is just looking at the software development life cycle and going to each step and doing it differently. But what experience has shown in technology is that technology opens up different ways to approach the problem. And let me just tell you a little story I was discussing the other day with one of my peers. We wanted to use AI to generate some documentation. Kind of thing people are doing now. You know? You have all this stuff. You want to generate documentation for someone to read. And my challenge was, why would you want to do that? "Oh, because people will read documentation." If you have an AI that can answer you the questions, you would never read any documentation in your life, right? So that step does not even make sense if you take a step back. You know? That's for me is the big opportunity. And you can go, if you want to be a bit more optimistic on long-term on this: do we really need to build software? Just think about it. The software that we write, the code that we write, it's an abstraction for communicating with people, right? That's what programming languages are. Computers don't care less about if it's Python or Java or whatever. It's not the language they interpret, right? So does it really even make sense to have that intermediary representation that we are creating now? So we're doing all these generating code, doing PRs, doing reviews, shipping code to production. Maybe with the AI world, we can just generate the code every time we need it and throw it away when we don't need it. Maybe that representation does not even exist. Those are the big possibilities that I'm looking for for the future. I'm not sure if this will be the case. I'm just speculating here.

(Joel Beasley at 00:36:00) Absolutely. You're speculating based off of the past experience, and I think it's completely accurate. We can argue if it's six months, six years, sixty years. Like, you know, we can argue the timeline under which it happens. But I don't think any engineer in their right mind is gonna say it's not possible for you to eventually, in the future, just tell the system. And it's like, why would we even look at the code at a certain point?

(Antonio Vieira at 00:36:24) Yeah. Why do you need to gather requirements for that or design an architecture, right? If you can code the architecture principles and it just designs itself, right? Of course, you'll have, like, a metaprogramming kind of thing. You'll just go up one level of abstraction, right? This is still to serve people, so you need people in the loop. But that, I think, is the most interesting part. But, again, I don't know how this will play out. I think this is one of the most fundamental things. It's just we assume that this is such a massive transformation that you should not take anything for granted. You need to try it out, and we'll fail, and it's fine. And some things will work out, some things won't. That's how I approach it at least. That's how I see it. I play around with it. I see what works, what doesn't work with my reality, with my teams, and we just figure it out and try something else. That's it. There's no winners right now. It's not like, "Oh, you need to use Cursor or Augment or whatever." That's not decided, right? It's too early to call winners.

(Joel Beasley at 00:37:19) Augment's the winner. Yeah.

(Antonio Vieira at 00:37:21) You like Augment? Yeah. Yeah. We work with them. They're pretty cool. Yeah. It's a great product.

(Joel Beasley at 00:37:28) You know what's fun is engineers, like, you know, I've been doing this for about twenty years. And what I've noticed is that every generation of engineers almost scoffs at the abstraction and laziness of the next generation. Right?

(Antonio Vieira at 00:37:43) Yes. But it doesn't make it easier. You know? That's great. And I may be older than you. I'm not saying my age. But I've been working in tech maybe for almost thirty years now. And naively, when I was one of the younger ones, when I used to be on the other side, I was a bit on the, "Well, these guys, these old people don't know what the hell they're doing. We'll find this language that solves everything and will create this fantastic abstraction." I was crazy to the point that I actually wrote code once in XML. That's how crazy I was. You know? Looking back, it's like, uh, I regret that. That should be so—

(Joel Beasley at 00:38:23) We'll edit that out. Yeah. Yeah. Let's—it's okay. Okay.

(Antonio Vieira at 00:38:26) I love it. I love it. Yeah.

(Joel Beasley at 00:38:27) Anyway, so that's—so crazy. We were experimenting with things, right? That ended up not being a very good idea. But, um, anyway, the point is, fast forward thirty years, I would expect that by now, this would be a lot easier. And the funny thing is every time I try to, you know, play around because I don't code every day now, it's just not possible to make that compatible with my day to day work, but I try as much to be close to it. I would expect now we'd start a project or something like that. I could, you know, there will be a quick ramp up. Like, you know, GCC make kind of thing, it will take five minutes to set up, and it's huge. You know? What we did not appreciate is our complexity moved a lot faster than the tools we built, and maybe AI will change that. That's the first promise we can probably get from AI because it brings that entry barrier down. I can code again if I want to. I can build my projects because the boilerplate side that was like, "Oh, I'm setting up this React. Okay. How does this React thing work? Oh, Jesus. I need to configure all these just to create an HTML page? This used to be easy with jQuery." You know? And it's just we create this huge, complex architecture or this platform that we have of software structure that is incredibly hard to tame. You know? And maybe there's an opportunity here. But looking back, I'm always a bit pessimistic on that side because I would expect it would be there now. And there's no lack of work for good engineers. There's no lack of challenge. Software is incredibly hard. It's harder than it used to be when I was a kid. So I don't know. Let's see how it plays out.

(Joel Beasley at 00:40:18) There's one thing I don't like that I saw you guys are doing, but it's not just you. It's not just you. It's, uh, and this is probably me with the whole, uh, the next generation thing not liking it and how I feel like I know I'm getting old. And I've seen this trend emerge from all the streaming services where they've started putting games into the streaming. So like Netflix, you'll turn on, it'll have games. Peacock now has these, like, mini games. I don't know what it is, why I dislike it so much. But I want my games, and I want my TV and movies to be separate.

(Antonio Vieira at 00:40:57) Yeah. It's a great point. And I totally understand you because I share the feeling, right? I have this idea of lean back TV. Sometimes I even watch linear TV just because I'm lazy. I don't want to invest the time to just go through everything myself. No. That burden of decision—it's what you're trying to escape from, so I understand that. But you can see it as something like, you know, it depends on the audience. You have people that really want and are very passionate about it. And when they watch, I don't know, say, watch this NBA game, they're playing a scorecard about the game. They're playing these quizzes about the game. They want to—

(Joel Beasley at 00:41:38) Oh, they're playing games related to the content.

(Antonio Vieira at 00:41:40) Oh, yeah.

(Joel Beasley at 00:41:40) Exactly that. I haven't seen that.

(Antonio Vieira at 00:41:43) We did that for—we did that, for example, with reality in Peacock, you know, the Bravo shows, the Love Island style shows, the Traitor style shows, you know, the reality TV. People absolutely love it. And part of the dynamic of the show is not the show itself. It's everything that's discussing, talking, and sharing about the show after the show airs, right? So what we're saying is that we have all these fandoms that are our customers that actually demand us to have this product because they want to spend—the show is not enough for them. They want to spend more time around it. That's the motivation for them.

(Joel Beasley at 00:42:16) Are other people doing this, or is this just Peacock?

(Antonio Vieira at 00:42:19) Well, like, we are—

(Joel Beasley at 00:42:20) Like, I see the games everywhere.

(Antonio Vieira at 00:42:22) Yeah. I'm not sure. I think we have probably a very good position in this.

(Joel Beasley at 00:42:26) Yeah.

(Antonio Vieira at 00:42:28) In terms of the reality, I think so. I believe so. I'm not an expert of the entire market, but I guess that's true.

(Joel Beasley at 00:42:34) That is cool. I'm glad I brought—I almost didn't bring this up because I was like, I'm not a negative person, but at the same time, stop putting games in.

(Antonio Vieira at 00:42:41) No. It's a—

(Joel Beasley at 00:42:42) You guys are doing it different. You're doing it totally different than I've ever seen.

(Antonio Vieira at 00:42:45) We're trying as much to be lean on our fandoms, our franchises, our brands, right? You know? You have Opinionated or you have the Love Island or you have the NFL games, you know, or you have NBA. All those franchises and things that, you know, people love, the content they love to watch—it's building around that. It's not games as, you know, "I'm going to play, like, a casual game that's provided."

(Joel Beasley at 00:43:10) Like solitaire.

(Antonio Vieira at 00:43:11) Like—no, no, no. If it's a solitaire, it's a specific solitaire around the fandom. But most of them are—

(Joel Beasley at 00:43:19) Jersey Shore solitaire.

(Antonio Vieira at 00:43:22) No. That would be fun. Yeah. I'm not sure that would be a winner, but, anyway, it won't.

(Joel Beasley at 00:43:27) It will not. Oh, so that—congratulations on that. You know, I don't hear a lot of new stuff like that that often, and I think that is actually pretty cool. I'd be interested to see—I like trivia. Like, uh, one of my favorite things about the Amazon application when I'm watching through there is I can see they've got these, like, fun facts or whatever. If I click pause, I can see this interesting information. And I almost always check that out.

(Antonio Vieira at 00:43:56) Yeah. Yeah. Then in Peacock, you can be asked questions about the facts to see if you're a good fan. It's the other way around. So it's an interesting approach here.

(Joel Beasley at 00:44:07) Well, let's wrap up on some leadership advice for technologists. And, uh, I'm gonna ask you for a piece of advice and here are the constraints. It has to be something that you were told, you implemented, and it stayed with you for a long time, like a piece of leadership advice.

(Antonio Vieira at 00:44:23) Yeah. I can share a bit, uh, maybe instead of going just to a single piece of advice. It's, uh, because this goes through a time horizon of—it's part of the story of building the Sky team here in Portugal. So it's a bit closer to my heart if I can say that. Yeah. When we started—so this group of four people that I mentioned previously, my boss back then, a guy called Pedro Giazza, that's, uh, an amazing guy, was my mentor during a big part of my career. And I learned with him through several interactions how to build a successful team. And it's around three very simple things for me, right? The first one is you need to have a shared mission and that mission needs to be clear. And back then for us was we wanted to do cool stuff in Portugal because we did not have that much opportunity to do world-class engineering. Back then was world-class engineering. Today is building the best streaming experience in the world. The mission may change, but at a certain moment, you have a very clear mission. The second thing, you need to have amazing people, people you can trust, you need to bring them together. And most of it is, you know, these two are kind of universal. Most people know this. But for me, it's absolutely essential. The third one, it's the one that connects: you need to have people that are passionate about the mission and that really live through it. And that's how you build the culture. You don't design the culture upfront. You have a clear—as a leader, you just need to guide and set the rules for that. You want to guide towards a mission. You choose and you invest wisely. I know you have someone recently in the podcast discussing precisely this topic around how you need to invest to get the right people. And we did a lot of that work around finding people through connections, through friendships, you know, through previous past acquaintances in terms of work.

(Antonio Vieira at 00:46:20) And we build a team around that. But it's not enough for these people to be competent or to be okay with the mission. If they are passionate about the mission and you can get the people that are passionate about the mission and you create that passion, then you create an entire culture around it. And for me, that's absolutely the key point to build highly successful, high-performance teams.

(Joel Beasley at 00:46:43) I love that you said that because I figured that out a couple years into my career where I found that if I had really good, high-quality engineering friends, they also have good, high-quality engineering friends. And they'll self-select. They don't want to be around the ones that aren't as good because they're trying to become better. And so if you can start collecting those people and stacking them to get them, then you create this essentially gravitational pull.

(Antonio Vieira at 00:47:12) Let me pick up on that just to share a very short story on how when we built this in Portugal, one of the challenges we had. We did not have a market here with people that could have the experience, like we have, I don't know, in Silicon Valley, where everyone worked in this big corp and they can learn with each other, and we have this collective industry dynamic of shared learning. And we were a bit outside of this where we have a small 10 million country, like the size of Tennessee or something like that. It's very isolated in the far west side of Europe. So we needed to learn with each other. And the way we found the route to do it, we create this very strong showcase culture. Means whatever you're building, right, this applied to back end, front end, any work you're doing, you were required to come over and present that work in front of the entire team. That was it. Now, sometimes it was not a good conversation because you would be extremely challenged, and it would be okay. It was part of our culture there because that was the only way we could learn. We had no one else to ask, so we learned with each other. That for me was the most critical part of this journey, that ability, of course, to tolerate some discomfort that comes with it, to learn together and grow as a team.

(Joel Beasley at 00:48:34) Well yeah, and the people who don't like that will leave, and that's a good thing too.

(Antonio Vieira at 00:48:38) Yes. That happened as well. That happened as well.

(Joel Beasley at 00:48:40) Of course it does, because it's uncomfortable. You have to push through difficult moments.

(Antonio Vieira at 00:48:44) If you want to be good, you need to—that's why you need the passion part, right? Because you need to endure all that, and you need to understand it's uncomfortable but necessary.

(Joel Beasley at 00:48:53) Well also, it takes the pressure—if it's all about me being a great engineer, then it's a different mindset than if I'm like, hey, we're trying to achieve the shared mission, the shared outcome. And so that helps dissolve ego because it's like, yeah, okay, I might suck, but let's all focus on how to achieve this specific outcome and how I might fit into the team.

(Antonio Vieira at 00:49:16) Exactly. Yeah. Exactly. And get all the feedback you can, right? And is there a better way to do this? Is there another approach? Anyone has a better idea? That kind of dynamic was really essential to establish our engineering culture here with the team.

(Joel Beasley at 00:49:32) A clear shared mission, amazing people, people who are passionate about the mission. Let's talk just briefly about making the mission clear, the shared mission. What does this look like on a tactical level? Is this you just constantly reinforcing as the leader what the mission is, bringing it up in the all-hands? Or how do you actually do it?

(Antonio Vieira at 00:49:51) You need to live it. All these shared moments when we're together are opportunities, right? If people are building a feature and the feature doesn't look very nice from a user experience perspective, right, even if it's a small thing, like it's the wrong color—I don't know, I'm putting this a bit, oversimplifying this a bit; it's usually a bit more nuanced than that—people just expect to be challenged and expect to have that as a conversation. Is this good enough? Is this targeting towards our mission? You need to live it every day. You repeat it every day. Not by repeating the sentence, right, that you wrote one day on a PowerPoint deck. That's not it. People internalize it on every single decision. Should we go this direction? Should we design software this way? Should this be the right architecture for this? Does this meet or not our ambition that we have for the product? You need really to live to it. And of course, leadership plays an important role here. Not only—it's not my work. It's the work of an entire leadership team. And all of them live to the same standard, and we keep ourselves in check, all of us. And people keep me in check sometimes, and it's fine. You need to accept that. You ask yourself the question, is this working towards what we want to do, the team we want to be? And if the answer is no, we're not doing it. We need to be brave. And sometimes, yeah, you do get into trouble by doing that. It doesn't come without any pain. It does come with pain sometimes, but you're building something bigger than you. That's the whole point. If it's just for you, you wouldn't do it.

(Joel Beasley at 00:51:38) When you're hiring people for your team, so not just at the organization as a whole, but they're going to be a direct report of yours, what's the thing that you look for the most? Every interview you do for a direct report, you're trying to figure out if they've got this—

(Antonio Vieira at 00:51:53) Ownership. Ownership. People need to own their destiny to be successful in my team and need to be trusted, right? People really need to feel it. That's part of—they are committed to whatever is on their plate. It's not that they need to be perfect or flawless. That's not it. Or the most talented or the most interesting person in the world. That's absolutely irrelevant. They need to be someone we as a team can trust that to their words, to their ability, to their judgment. And by taking that ownership of being a part of them, that's essential. If they're just, you know, this is just a job, nine-to-five kind of thing, and it's not with me, it's not my job kind of attitude, doesn't work out very well. The way we call that, by the way, we have an internal motto for this, for what we look in people. We call it a can-do, hands-on attitude, right? It's how we distill that. You need to have this optimistic thing that owners have, right? You need to treat it as your own, that you can make it happen, that you don't depend on other people. Of course, you rely on other people, but it's not an excuse kind of thing. But also, hands-on is essential, more from an engineering perspective. I don't believe engineering gets done in PowerPoint decks. Engineering is done on the ground with engineers looking at software, looking at the apps, seeing it to work, being there in the big moments, being there in the Super Bowls and whatever, being in the incident calls when things go wrong if necessary. Everyone in my team can get pulled into an incident call if necessary, and everyone knows that's part of the job. And they love it. That's part of what they sign up to.

(Joel Beasley at 00:53:42) This is great. You're a wealth of information, Antonio.

(Antonio Vieira at 00:53:46) Thank you.

(Joel Beasley at 00:53:48) Thank you so much for listening. And if you found this episode useful, please share it with a friend or colleague who you think would get value from it. And if you have topics that you'd like to hear discussed on the podcast, either add me on LinkedIn or send me an email, [email protected]. Every time I get an email or LinkedIn message, it absolutely makes my day and inspires me to keep going.