Maria Kazandjieva who manages Cadmium, our web video player and Valerie Balcom, a senior software engineer on the TV UI Application, discuss working in engineering at Netflix and what it takes to thrive in the Netflix culture.
Maria Kazandjieva who manages Cadmium, our web video player and Valerie Balcom, a senior software engineer on the TV UI Application, discuss working in engineering at Netflix and what it takes to thrive in the Netflix culture.
[Music]
Lyle: Hello, my name is Lyle Troxell, I’m a senior software engineer at Netflix. I mean, I do host this podcast along with my co-host Michael Paulson but you know what? He’s also a senior software engineer at Netflix. So, when we talk with, I don’t know, two software engineers’ things can get a little geeky as you will here on this episode of, We Are Netflix. Our guests are Valerie Balcom, a senior software engineer on our TV platform and Maria Kazandjieva, a manager of the team that develops our web browser video player. And actually, Maria is also a software engineer, so we geek out a bit on this episode. We get into a little of the nitty-gritty on how the TV—what it’s like to develop on the TV. And also, we talk a bit about standards and other things and the challenges with developing a really robust video player on top of the browser.
So, if those things are interesting to you because you happen to be an engineer, you are in luck. Everybody else, we start this episode talking, just generally, about what it’s like to work at Netflix. In fact, I start out by asking Valerie about her relatively recent transition to Netflix as a new employee.
Valerie: My previous job was actually a company that is trying to expose what feedback is to other companies. And so, coming into Netflix I actually was really attracted to the role because of the culture and how feedback is given. Even in my interview process I found that at the end of this like long winded, exercise after exercise and conversation after conversation, I still got feedback. And that was a very humbling experience for me. So, I really started off at Netflix with the sensation that I’m learning constantly. I was lucky enough that within the first, I think, couple of weeks that I started there were 360s, which is an organized feedback system within Netflix. So, from start to finish I was always getting this sense of everyone really is here to learn and learn from each other too.
Lyle: Did you get actual feedback even though you were brand new?
Valerie: Yeah, absolutely.
Lyle: Would you mind sharing with the four of us and 10,000 other people?
Valerie: And the world, yeah, so, one of my pieces of feedback was, especially in a nervous situation, maybe you’ll see a little bit of evidence of that now. But when I’m asked a question, I have to make sure that I’m being a little bit more concise and get to the point sooner. And that was my feedback is, you know, when I’m asked a very specific, more challenging question, where I have to wrack my brain, I’ll kind of make a few loopty—loops before I get to the right point.
Lyle: So, sharing that in that large room allowed you to understand that all of your colleagues now get that about you?
Valerie: Yes.
Lyle: So, they might be able to help you out but even if they don’t say anything, you’re conscious that they might be thinking, “Am I rambling?”
Valerie: Absolutely.
Michael: Does that make you more nervous to talk, thus causing more rambling?
Valerie: Honestly, no, I think it’s been a really good exercise for me.
Michael: Oh, nice.
Lyle: Any other ways of handling that?
Valerie: I notice that my e-mails are a lot shorter.
Michael: Interesting, that’s good, that’s always a plus one.
Lyle: Maria, as the senior engineer in the—or the senior person here at Netflix in the room with us, can you describe 360s to someone outside the company?
Maria: 360s are peer reviews, they’re not anonymous, so you know who gave it to you and I think that’s a huge value. They happen, as you mentioned, in March. They’re also intentionally decoupled from our compensation review process, which usually happens in the fall. The idea is that this is an opportunity for everybody to solicit feedback on how they can be better. And I don’t think any of us can genuinely say that we’re perfect, maybe we wish we were but we aren’t. And once you go in with this idea that you’re not perfect or, “I’m not perfect and the people around me care enough to make me a better person and to help me be a better person.” That’s what you get out of 360s.
And so, of course, there’s two parts to it. One is, receiving the feedback which, I admit, I get very nervous about every year. Though it has turned out that I am more uncomfortable with positive feedback then negative. Negative I know what to do with, right? There’s an action item there, I can tackle it. It’s usually something that I’m kind of aware of already. Where I’m like, “Oh, yeah, I totally do that but it’s good that now that people are noticing it, I have an ally, somebody that can, you know, look at me and give me that immediate feedback.” But with the positive feedback, I don’t know what to do with it. I’m like, “Oh, thank you.”
Lyle: It just raises the bar of expectations now.
Maria: It raises, yeah, high expectations are a dangerous thing in general. However, I should say that positive feedback and reinforcing positive behavior is very important. I think as an IC it was more of a—as an individual contributor it was more of a, “Okay, that feels good.” But as a manager I actually really value seeing positive feedback about people on my team. Because it means that they’re doing something well and I want to continue reinforcing that behavior or grow it.
Michael: Okay, since it’s hard for you to hear positive feedback, why don’t you share a positive feedback thing you got in your last 360?
Maria: Man, I wish I had a—
Michael: It’s really devious isn’t it? Sorry.
Maria: No, it’s a—you guys are evil. Well, there is actually one piece of feedback that I’ve gotten consistently over the years, positive piece of feedback that demonstrates the importance, I think, of reinforcing good behavior, which is, I like to speak up in meetings when something doesn’t make sense. If I’m not sure about it, if I’m not completely on board, instead of staying quiet, I will call it out. Some of the time—I think Michael might have been in some of these meetings with me.
Michael: I actually gave you part of that as my feedback—
Maria: There you go.
Michael: … which is, she will fight all the data that is presented.
Maria: Yeah, and I think, again, nobody’s perfect and so, if I speak up 50 times, I’m not going to be right 50 times but what happens is, if you don’t speak up you’re going to miss opportunities to contribute to a meeting, to contribute to a project, to contribute to Netflix.
Lyle: Valerie, have you noticed this idea of candor and clarity moving outside the workspace and into people you know outside of work? Family, friends, things of that nature?
Valerie: I’ve definitely noticed that I’ve given feedback a little bit more consistently with the people around me. A lot of it has to do with whether or not you have established trust with them. That is important for being received well. And it’s also important that your delivery is sound. You never want to feel like you’re attacking anyone, you always want to come from—you want the person that’s receiving the feedback to know that you come from a good place and you share a mutual kind of goal even if it’s like, you know, your best friend.
Lyle: Right, how do you feel about the kind of responsibility you’re given versus, you know, the freedom? Because, of course, with the kind of culture—and this is for both of you—with the culture we have of freedom and responsibility highly aligned, teams, things of that nature. You have all of a sudden, a lot more responsibility then you might at an IC where, you know, here you’re bug list is to do these things. You kind of own projects just a little bit more. Can you talk a bit about that in your role?
Valerie: Yeah, definitely. So, I’ve been really lucky that a lot of my projects throughout my career timeline have been very self-driven. But not to the extent in which it feels that these projects at Netflix are. I feel like more sometimes of a program manager as well as an individual contributor. So, that means, you know, talking with analysts directly, formulating some hypothesis, challenging those hypotheses and finding ways that we can test it.
It’s just kind of this all-encompassing, really interesting responsibility. And you kind of carry that project from pretty early on design stages, interacting with your design team and the product manager and then carrying that through to testing and et cetera. So, that is a lot more involved and so there is a lot of responsibility for a longer period of time and at a greater scale. So, there definitely kind of feels like there’s a lot more kind of, not danger involved but a lot of like ways that things can go wrong but it also gives you a lot of sense of control and a lot more of a contribution that feels really impactful.
Lyle: Yeah, and you feel like you’re an owner more to it even though the entire time—I mean, even when you are a smaller piece of a project like that, you can feel some ownership. But when you’re kind of watching all of it and managing all of it and pulling the meetings together, there is a real power position of that and it feels good, yeah. Maria?
Maria: I love it. I love it, I think, I mean, not to sound like a control freak but I think there is satisfaction in knowing that you have decision making power and I don’t say this as a manager because I’ve been at Netflix for four and half years, for three of those I was an individual contributor. But I think there’s value in knowing that you’re contributing in a way that’s not just, “Hey, go do this.” And then you execute but that your opinion matters, that your ability to pull projects together and pull people together to lead projects matters.
And I think there’s probably one situation that is worse than not having freedom and responsibility, well there’s a couple. But usually people think that the flipside of that is not having freedom and responsibility. I think probably the worse situation is working at a place where you naturally want to have freedom and responsibility but nobody else does. Because then you end up taking the responsibility.
Lyle: All the responsibility, yeah.
Maria: And you end up, I think, making freedom for yourself so you can thrive a little bit. But the value here, for me, at Netflix is not just my own freedom and responsibility, I think it’s the fact that I’m working with other people who have freedom and responsibility. And so, that means is that I have the freedom to make a choice, but really, it’s the freedom to go talk to somebody else and together we’re going to figure out what to do next or they’re going to tell me if they think I’m wrong and why I’m wrong. And then, I have the responsibility for the choice I’ve made but I also know that everybody else around me has responsibility for the choices that they’re making. And that’s why we’ve become a functional environment as opposed to a dysfunctional place. And so, the value is in your colleagues buying into the same freedom and responsibility.
Lyle: And being responsible, yeah.
Maria: And being responsible and that I love.
Lyle: Let’s get a little technical, Maria, what is Cadmium.
Maria: Cadmium, funny story, Cadmium is the HTML 5 based video player that we use on the website. So, if you go to Netflix.com you’re greeted by an amazing UI. A lot of teams work to bring that to customers, including some of Michael’s old work. And what happens is you see all of that stuff as a Netflix member. But the moment you click play, there’s actually all kinds of magic that happens underneath, it’s still running in the browser, it’s still on the client side, but it’s everything around video playback that actually gets you from clicking play to seeing the first few video frames of your favorite show. And so, that’s the video infrastructure that we built.
Lyle: Isn’t that player a browser player? I mean, the actual pixels being put on the screen is built into the browser, whether it be Chrome or Firefox or Safari or whatever. So, why is there a whole thing here called Cadmium that is the player on web when in reality you’re using the web stack to play video?
Maria: Right, so you’re correct, the browser is the thing that decrypts and decodes the video and displays the pixels. In reality, what happens is when you click play that doesn’t mean anything, right? The browser doesn’t know where to get the data from. The browser doesn’t even know what you want to play. And so, there’s a set of things that we do in the player, including all the initialization phase. So, figuring out, “Hey, what did you click on? Does this person have permissions to watch this video?” Maybe they’re in Mexico but this video is only available in Chile. We have to figure that stuff out.
All of our content is DRM protected as per contract with studios, including ourselves. And so, we have to figure out kind of the licensing information. After that we actually have to figure out where that video and audio lives, right?
Michael: The actual files?
Maria: The actual files, the actual bits.
Lyle: You said video and audio, are they separate files?
Maria: They’re separate files, video and audio are separate files and actually increasingly I like to think of a third asset, so to speak, which is subtitles. As a global company we really decided that for a long time we thought of video and audio as kind of the primary citizens of this environment, but now subtitles are a primary citizen as well because so many members around the world are watching with subtitles. And so, there is a bunch of videos, there is a bunch of audios you have to download, you might have to download a bunch of subtitles as well.
What’s really interesting, kind of going back to your question about how we interact with the browser, is that often times when I talk to people, they’re somewhat familiar with kind of the video element in the browser. And you can essentially take a URL, point them to an MP4 file, you can attach that URL to video element and your browser will automatically start downloading that file and playing it for you. And so, then the question is, so, what do you actually do? I’ve heard this one, I would not recommend if you’re interviewing to ask in this particular way, but I’ve heard it and I think it’s a valid question.
The key thing that Netflix does and also other streaming services is we actually do adaptive video streaming. What that means is when you take a title, let’s say the movie Bright, that movie is actually encoded at a number of different quality levels and what that allows you to do is to adapt to the network conditions. So, this past weekend I was in Idaho, let’s just say connectivity was not great. I was able to watch Netflix; the quality wasn’t great either. But I able to see some video because we had this video stream that was encoded at a low bit rate. But then I come back here and I have an amazing barrier connection and my video can now play at a much higher quality.
So, what happens is every video is actually encoded at different video quality levels and it’s chunked up so that it’s not an entire MP4 file that you’re streaming into your browser. You’re actually streaming, let’s say, ten second chunks and you have the option of changing which ten second chunk you get based on what your network connectivity looks like. So, you can start maybe with low quality because you’re on your way home walking with your phone. But then as you get closer to your house, you’re connected to your Wi-Fi and suddenly the quality’s going to go up and we’re dynamically going to change that quality and piece these chunks of video together, same with audio, subtitles are a little easier.
Lyle: Those chunks of video that you talked about, you’re going to—the browser also has to download a few of them and keep the buffer of them. So that, when the network condition—someone turns on the microwave and blows away your old Wi-Fi connections, then you can keep playing for a while and then try to get the other one. And of course, if you’re not downloading fast enough the browser will change to get a lower quality one and that’s how it can kind of backfill and always figure out how to keep the video streaming. Because no one wants to see the buffering spin.
Maria: Exactly, exactly, nobody wants the dreaded buffering screen and so, this is actually part of the process at the beginning was we build up a buffer before we start playing and it’s part of the players job to figure out how far in advance to download, what to download, what happens if you seek back or seek forward, what happens if somebody’s making popcorn in your kitchen? That’s my favorite example.
Lyle: Yeah, the popcorn in the kitchen, definitely. The old microwave and some Wi-Fi tech are the same frequency. So, Valerie, you actually work on TVUI and you’re a user interface engineer there. You are working in JavaScript. Have you done anything in the player? Have you done anything in subtitles?
Valerie: Neither actually.
Michael: Discovery is what she’s on.
Valerie: Yes, I’m on a—
Lyle: What does discovery mean?
Valerie: So, discovery, you know, it’s kind of when you open up your app and you decide, “I want to look for something or I want to find the right title for me right now.” That’s scrolling through the LoLoMo which is our List of List of Movies. And going by categories and trying to decide if, you know, a funny—comedic thrillers are right for you. It also includes when you click on a title and see some information about it, how we’re showing that information. And then we hand it off to a video team when you’ve hit play.
Lyle: Okay. So, that LoLoMo, the List of List of Movies is kind of a big—everybody here knows what that means because we use it a lot. But when we talk about Netflix having algorithms that surface titles for you and based on your behavior and other people’s behavior try to figure out the best thing for you, that is delivered in a LoLoMo, a List of List of Movies. And our job as user interface engineers is to present that in a way that’s easy to navigate and all that. I’m on a touch device, right? High power, high memory processors, I’m on iOS devices and so, my concerns are very different then TV concerns. One thing I don’t have to deal with is a remote control, which I personally don’t like remote controls. How do you feel about remote controls now that you’re a TV engineer in Netflix?
Valerie: You know, when I’m programming I actually don’t have a pointer mechanism and so sometimes it’s really easy to forget—oh, wait, that’s called a mouse—but I tend to navigate the app through just using my up, down, left, right, maybe that’s from my like, you know, gaming days. But it’s definitely an affordance that you have to make in various interesting scenarios where you can switch between the two, is another developer challenge.
Lyle: When you said pointer device, what do you mean?
Valerie: A pointer based is—there are some TV’s that have remote controls that have an arrow functionality, similar to your mouse, where you can point your remote at the TV and you have a cursor. And that means that we can’t just understand navigation through left, right, up, down. I think we call that LRUD or something. And it’s just another way of navigating the space.
Lyle: Yeah, my TV has that and I can’t stand it. Because the interface feels a little slower and it’s not exactly the way you want, there’s not a tactile connection between the two. Like a mouse, at least you feel like the amount of movement you make on a table has something that you can train yourself with pretty soon. But my daughter’s love the pointer so, you can, of course, use the remote control either way and I always do LRUD. And knowing that pointers were tricky for us to implement on TV because I was around when we first started using—you know, developing them and doing them, I’d shy away from them all the time. But my kids love it, I mean, it’s the way to do it. And when you’re doing keyboard entry, I think it’s probably a little faster. Michael, what do you feel?
Michael: Does that say something about you, Lyle?
Lyle: About me?
Michael: Yeah, that you’re resisting new technology.
Lyle: I wouldn’t say—well, okay, I think the pointer, sure it’s new technology, but I don’t think it’s as good. And so—
Michael: Oh, really?
Lyle: Yeah. You think it’s better?
Michael: Really? I think it’s great, I don’t have one.
Valerie: That’s why.
Lyle: Then you have no opinions.
Michael: Yeah, but you know what? I would never fight technology, Lyle.
Lyle: No, I—hey, do you scroll you’re up and—how do you scroll your trackpad?
Michael: Whichever—well, when I’m on Mac I have it as natural scroll.
Lyle: Yes, all right, good.
Michael: When I’m on Linux I don’t touch anything because I get kernel panics, that’s why I tend to avoid switching my mouse direction.
Lyle: I’m a high embracer of the newest thing, I definitely do that.
Michael: Hey, quick question, since we’re on the thing for discovery and all this, so, at Netflix we do a lot of testing, we build different ideas and then we ship it out there to some amount of people and we hope it’s a win. Have you done any testing?
Valerie: I have, yeah.
Michael: Do you have a test right now running?
Valerie: I do have a test running right now, actually I have two tests running right now. Do you want to hear about them?
Michael: Do you think it was sensitive enough to where we shouldn’t talk about them?
Valerie: One of them is not.
Michael: Okay, go for that one.
Valerie: Okay. So, this is one of the very first tests that I started off on, it’s called Screensaver Starts Sooner and all it does is tries to test into how soon we should show a screensaver. So, right now it’s an arbitrary number of 20 minutes. We have no idea who decided on that and we decided to test it. Why not, right?
Michael: Yeah.
Valerie: So, we changed it from 20 minutes to ten minutes and five minutes.
Michael: This means when you stop using the TV, you’re not watching anything, you’ve kind of navigated around—it’s just kind of sitting there, you went to the bathroom or whatever, you come back in and depending on how long you’ve been gone, the screensaver might show up.
Valerie: That’s correct.
Michael: Okay, so you just change the durations.
Valerie: I just change the duration; it was a real simple change.
Michael: Twenty minutes seems like a long time.
Valerie: Well, it’s just enough time to order Uber Eats and wait for it, right?
Michael: Oh, I see, okay.
Maria: And think of all the energy you’re wasting.
Michael: Leads were inappropriate.
Maria: Though I have to say that the manager in me says, “This is exactly the type of AB test I would have picked for somebody for onboarding purposes.”
Valerie: And I have similar stories with people on my team.
Michael: Let’s just face it, we all know that letting your TV just sit there on like the MDP or wherever, that it’s in a frozen state is probably more performant than actually having the screensaver or animated thing and downloading images.
Lyle: And you used the term MDP which is Movie Display Page, if you open a title that’s the page where you can select the episode and stuff on shows.
Valerie: So, interestingly enough, the screensaver actually had some implications for Netflix too, just in terms of delivering assets. We download an absorbent number of gigabytes per second and by reducing the number of the time in which a screensaver actually starts is a lot more expensive. And so, there actually is a monetary implication for that too. We also, in that test, played around with reducing the number of assets that you get or number of titles or number of screensaver screens that you get, which effectively reduced the number of gigabytes per second like by 50.
Lyle: We were talking about that, what you’re saying is that if a whole bunch of people leave their TV’s on the whole time, they happen to be on Netflix, the 20 minutes or the ten minutes or five minutes, depending on your test, the screensaver starts turning on. What happens is it displays some images and then it displays some more images and displays more. And if you take that to our millions of users and all the TV’s that possibly could be on, we’re serving all that data and we’re paying for that service.
Valerie: Yep.
Lyle: So, playing with that to make sure that it’s still a compelling and interesting screensaver and useful for our customers versus how much it’s actually costing us, an important thing to think about. It’s funny, the only time I really—the first time at Netflix I heard about like how much was that costing was around screen saving because it’s this interesting piece. Do we even know how beneficial the screensaver is to our customers?
Valerie: I don’t know what the number is but we tested into it.
Lyle: Okay, so we’re doing it for a reason?
Valerie: Yeah.
Lyle: Theoretically it benefits our customers, I mean a win way of discovery, right? You look over and go, “Oh, what’s that Orc with, you know, with Will Smith?”
Valerie: Yeah and it’s all original movies too—sorry, not movies, original titles. And they’re usually—they’re changed every quarter or so and we definitely see a title level streaming lift when we’ve exposed users that have a screensaver capability on their TV’s, to the titles.
Lyle: What’s the title level streaming lift?
Valerie: So, it’s one of the metrics that we track to ensure whether or not an AB test is successful, not, you know—for not every single AB test. And it basically says that, if a user, over a certain period of time, tends to look at a certain number of originals titles more against the control, that would be considered a streaming level lift of originals.
Lyle: For originals?
Valerie: Yep.
Lyle: Okay, I see. And so, if you’re on the screensaver and you’ve put in the mix a few different movies and you see that more people are actually watching those movies, that means that more people found those movies and therefore they found stuff they like. If they watched them all the way through that’s the kind of stuff, we look at for an AB test. And, of course, and AB test basically means, when you talked about, you know, some people get 20 minutes and some people get ten minutes and some people get five minutes duration before the screensaver comes on, is that the different AB’s? I mean, describe that.
Valerie: Yeah, so, the way that we structure AB tests at Netflix is we have a control group, which is our default cell, just number one, it’s what you get currently without any kind of changes, code changes, anything. And then, the second and up cells are variations on that change. So, whenever we evaluate how a test is doing it’s always against that control, always against that default experience, against whatever you’re changing.
Lyle: It feels like a science experiment.
Valerie: Pretty much.
Lyle: So, any numbers yet from this screensaver thing, what’s going to win?
Valerie: We’re not sure yet, we were thinking that if you put on the screensaver sooner, you’ll probably get a streaming level lift for people who—or for people who have devices that don’t have a screensaver. So, for example, when you leave your TV on for say ten minutes, some TV’s are actually scheduled to have a screensaver or to go idle after ten minutes. But if we can accelerate the screensaver to before that time, maybe those users will actually get exposed to this customer screensaver experience. So, we’re expecting either pretty much flat—because the difference between five, ten and 20 might not be super different across all devices and we have tons and tons of devices that we actually reach out to. But, yeah, so we’re expecting either pretty flat or maybe a slight increase.
Lyle: That’s cool. And so, this kind of thing, it feels like you’re, as a user interface engineer, a software engineer, doing something that’s kind of big and, you know, a large scope. And when people want to know about that project right now, you’re the one they go to?
Valerie: Yes, absolutely, yeah.
Lyle: That’s pretty neat. Okay, moving back to web. What’s our relationship with like the W3C, other bodies that kind of help with spec-ing out future implementations and browsers that are kind of the standards that decide what browsers makers will implement?
Maria: Our relationship is pretty awesome and I want to kind of extend your question because I think there’s two key types of relationships that are very valuable. Not just for me and my team, for Netflix, but also, I think overall for experience on the web. So, one, is the standards bodies that you mentioned. The other one is, the companies that built the browsers, right? I always tell people, the way I think about the browsers in my day to day job is they’re essentially my operating system, right? You can’t display video in a browser if you don’t have a browser, if that browser does not support video, if it does not support the end codes that you’re using, if it does not support the DRN system that you need and all of that. And so, those are kind of the two paths in kind of partnership building and relationship outside of Netflix.
For the standards bodies, we have a director at Netflix that I work closely with who is our representative, usually in big standards discussions. Though we’re meeting in a couple of days, so I think some of that work’s coming to me—
Lyle: Congratulations.
Maria: … as a thank you. I’m kind of excited because as a prior academic, networking geek, I actually have spent a lot of time reading network standards, right? If you don’t know how TCP works, call me up and I will tell you. I could be half asleep and I can still tell you because I’ve read it a million times.
Michael: How many control bits are there?
Maria: How many control bits?
Michael: Yeah, yeah.
Maria: A lot.
Michael: What does MTU stand for?
Maria: Maximum Transmission Units.
Michael: Ah, she’s good.
Lyle: You expected any less? I sat on the W3C on the web apps group for just a period of four months or so, so I went to a couple of meetings, fantastic experience. Like I love like the browser manufacturers coming in, of somebody thinking a new idea, talking about implementation, talking about, “Well, how are we going to deal with accessibility?” Bringing another team’s accessibility issues and then security issues. I mean, it’s just a really neat and it’s very academic even though most of these people are employed by the big companies.
Marie: It’s quite a big company so—
Lyle: It’s pretty neat to be in.
Marie: Yeah and its really important work because I think interoperability is critical and so you want to build things that work for you but also work for everybody else and ideally, it’s kind of the tide that lifts old boats. And I think that’s true around some of the specs that I’m most familiar with and I work with, are things that you really need to do video well on the web. So, there’s EME, which Encrypted Media Extensions and it really talks about, how do you do the DRM part, the decoding part of a video playback? Which, of course, is something that not only we care but YouTube cares, Apple cares, Hulu cares, Amazon cares, all of those companies, right? So, there’s Encrypted Media Extensions and then there’s the Media Source Extensions, which really described how to do that adaptive video streaming of taking the chunks and putting them together.
Lyle: Do we help define that spec?
Marie: We do, yes, we do. And we also—there’s also smaller things that are very important. Actually, one example I have that I think illustrates well how we, as Netflix, produce a beta in these larger forms is work around support for 4K and HDR on the web. So, it’s been about a year and a half or so, we launched 4K support on the Edge browser. And that’s the kind of think where you need Netflix because we have content, right? We have to have the content. So, I need my internal teams to be my partners on this.
But I can’t play 4K content unless the browser supports it, unless the GRM supports it. That browser can not play 4K content unless the operating system underneath them supports it. They generally can not decode 4K content unless the graphics manufacturers, the graphics care, right, supports it. And so, we have this big collaboration and it’s kind of a pattern that we have, collaboration with an external partner where they’re developing work at the operating system or the browser level and exposing API’s in the browser. They love working with us because Netflix is a big media company and they have a real work example to work against.
Michael: Right, to try it out.
Marie: To try it out, so it’s not uncommon that we’re actually actively collaborating, where we’re informing what the API is going to look like. We’re giving them a special build sometimes of our video player so they can try things out without being in production. So, what happens is you develop—you work with this company, you develop and API, it’s great for them because they can test against a real app, it’s great for us because we figure out if this is going to work. And when it launches, it’s not a Netflix thing. That’s the beauty of it.
Lyle: It’s a partnership across everybody, yeah.
Marie: It’s once you have that API in the browser, anybody else can go and use it. And so, we have now brought up the video experience for everybody who wants to use and existing video service or bring something new. And I think that’s very valuable. Of course, it’s a little bit of a pioneer tax but that’s why I have a team and at the end of the day, it’s not often that you can get like a win/win/win. Your partner wins, you win and anybody else who wants to come in and use this thing can also do it.
Lyle: It’s interesting of course, because one way to do that whole partnership with Microsoft, because Microsoft of course makes the Edge browser, is to, you know, make a custom application that runs only on Windows 10 and above. And then, we develop that and I think we actually have a variant of that.
Marie: We do.
Lyle: Yeah, it’s not the browser based. And then, we’d help the customers that have that. But when you instead do all the research necessary to make it a standard, other companies can start picking it up. I would assume that we were able to move a little faster with a browser manufacturer that also had an operating system manufac—you know it was also an operating system. To clean up those pieces and we could, of course, have done that with Apple too. But it would be hard to do that with—well, I guess you could also do it with Google as well because they have an operating system as well, yeah.
Marie: I think it depends because the reality is that all of these companies are interconnected, right? We all depend on each other and that’s why it’s very important to have these relationships and honestly it has been—one of the joys of transitioning to management has been continuing to collaborate with Netflix but also having these amazing partnerships with all of the companies. And they, amongst themselves, also have partnerships.
I think—I’m so happy that we currently live an age of essentially the evergreen browser, right? Remember browsers didn’t used to be updated all the time. Like you would go off and specifically download a new version of the browser. Now, happy or not, sometimes I don’t have a choice, right? It’s nagging me and it’s like, “Hey, you’re five days over, you got to update.” And so, you can get all that goodness without the user really having to practically think about it.
Also, if you guys are curious, this is an interesting Netflix tidbit, we do have a Windows 10 app. It actually ships with our player inside it. So—
Lyle: Oh, cool a Cadmium player?
Marie: … all playback. Yes, so all playback—
Michael: Oh, cool, it’s written in JavaScript correct?
Marie: Yes, and all playback in the Windows 10 app is actually coming from the same place as Chrome and Apple and Opera and Safari—
Lyle: That’s really neat, I didn’t know that.
Marie: … and Edge.
Lyle: I knew about the Windows 10 app because, of course, one of the other things that’s kind of neat is that they have one compile that works on the desktop, laptop kind of thing. But also, the same thing works on their Windows phone which is kind of amazing that they have that kind of structure across their operating systems.
Michael: So, you mentioned that as a manager you get to do a lot of these kind of relationships with, not only companies, but also these consortiums, right?
Marie: Right.
Michael: So, how often do your engineers themselves have to go and kind of work with say, someone from Chrome or someone from Edge, any of this? Does that happen often or is it purely at the manager level?
Marie: It happens very often.
Michael: And how often does that happen? Like how often are we collaborating with outside versus inside?
Marie: It is extremely often on my team. And I don’t necessarily like the work expectation because I think, you know, Netflix stays pretty lean which means that there’s always a ton of different work to do. And so, if you’re the kind of person who is like, “Oh, I don’t want to talk to anybody outside of Netflix.” It wouldn’t be great but there’s work for you to do. But it’s certainly, I think, in the spirit of Netflix and to my own selfish benefit, the engineers directly engage with engineers at other companies. Because there’s different types of work with our partners. There could be kind of the idea of a project or a debate of whether we should do something and that might be me having that debate originally with somebody from one of the other companies.
But once we start building something, going back to the example of developing a new browser interface, right? Or an API layer between the browser and the player, I am not the expert or the reliable person to guide that in the detail in which it needs to be guided. Because I go off and deal with ten other projects. But there’s somebody on my team who is now going to go back and forth with an engineer on another team and figure out—be it 4K or how to support a new video end code like VP9 or how to do HDR or something like that.
Michael: So, that’s pretty big freedom and responsibility at that point because you’re not only defining it for like say us and Edge, it’s really all these other video services that are going to be using that same API, that are going to be exposed to—that we are kind of helping decide the future of.
Marie: Yeah, and it’s always a balance of—generally a lot of these API’s also have kind of a more open, public forum of discussion and sometimes it gets super detailed. Take VP9, which is a newer video end code, it’s a lot more efficient then H264, it’s open, royalty free, it’s amazing. That’s something that’s discussed in the public and sometimes that discussion might go like this. We have talked about collaborating on VP9 with another company. Somebody on my team might have worked through a sample API call and then they discovered that they have to pass in string to check whether VP9 is supported. There is going to be a public discussion, what that string looks like. So that you have the consistency and this is literally—we have this discussion where originally it was just one company and us saying, “Hey, this doesn’t make sense.” But what we did is we’re like, “Hey, we’ve identified something that doesn’t make sense so now we’re going to take it into the public and debate whether the VP9 string needs to have a zero before the nine or not have a zero before the nine, right? Going back to the standards. And so, I think it’s doing a bunch of the work under the covers and then broadening the discussion so that we can reach a common place where everybody’s happy.
Lyle: And you also don’t want to help define a spec that has a spelling error like HEP SPEC with refer. You know, you don’t want to be responsible for that forever.
Marie: There you go, there you go.
Michael: So, let’s talk about the TexTac in the TV, it’s actually true on our browser implementation and on TV. We use React, what do you feel, now that you’ve been here for six months playing with React, what do you think about React? Describe a little bit what it is.
Valerie: So, react is essentially a view layer and it’s pretty much all the rampage right now. Actually, my previous job was also transitioning from Backbone and other JavaScript framework to React and other view framework. And our version of React isn’t, you know, what’s out of the box. There’s actually an adaptation that kind of helps us interface with our entire system which is JavaScript based but has a lot of abstraction so that we can communicate to all different kinds of TV’s and see the same expected output.
Lyle: And to be clear, the TV platform that we talk about is NRDP or Netflix Ready Device Player. It’s kind of like an Opera system level, not really but that’s a good way to describe it. And what’s actually happening is there’s a JavaScript engine core that you’re writing React and such but there’s no HTML DOM, there’s no DOM interface like a traditional browser, there’s another layer that we build ourselves. And so, what you’re saying—
Michael: Widget hierarchy.
Lyle: Thank you, my widget hierarchy. What does it feel like to all of a sudden be outside of the browser in this TV space?
Valerie: It’s a lot of relearning. For example, the coordinate system is different, it’s pretty much all—
Michael: It’s great.
Valerie: It’s all expected output, it’s like one for one, what you see is what you get. There’s no like floating, there’s no weird—I mean, well Flex is great.
Michael: There’s no clear float afterwards.
Valerie: No, there’s no clear float.
Michael: A hidden dot.
Valerie: There’s a lot of like built in mechanisms to do like vertical text alignment and all of that is enabled by our internal team, that kind of gives us that interface, yeah.
Lyle: Are you writing something that’s similar to CSS?
Valerie: No, not really. There are some property values that are totally one to one but it’s like a JavaScript object, like JS and CSS, that’s kind of a new trend that’s coming through right now.
Lyle: So, I would assume that because TV’s don’t reposition their size and don’t rotate, you don’t have to do the kind of flex box, that kind of stuff that would be usable in a browser space.
Michael: Correct.
Lyle: And you like that Michael?
Michael: Very, very much so. It’s like as if you had an absolutely positioned app that never worried about resizing or anything, it’s just very straightforward in that sense.
Marie: You don’t rotate your TV?
Lyle: Only when you lay down in bed.
Michael: I don’t live in the future, all right?
Marie: You don’t have a cat that hangs on one side of the TV and gently rotates it?
Michael: Yeah, my strategy for that one is not owning a cat, that’s actually how I got out.
Marie: It’s pretty smart, smart man.
Michael: I have two labs instead so it’s actually not bad.
Lyle: And Valarie, do you enjoy it? Do you enjoy the development environment, is there some challenges? Like it was rebuilt a couple of years ago, before you started. What’s the thing that rubs you wrong the most? What’s the most difficult part of it?
Valerie: I think rewrapping my head around that absolute positioning system is probably the first challenge. I can get a comp from a designer and think, “Oh, this is exactly how I would do it.” And that I go over to our, you know, widget structure, which is how we describe what is essentially DOM elements, and say, “Wait, I actually have no idea how to do this.” And there’s, you know, lots of documentation and you kind of go through and figure out, oh, we truncate things differently, we, you know—we have three lines of text and that there’s only one way to actually show some kind of dot, dot, dot, ellipses truncation. And then, kind of like rewiring my brain to understand how to—
Lyle: That’s cool, a lot of learning.
Valerie: Yeah.
Lyle: Maria, you transitioned from an individual contributor/engineer for years here and you were working in the browser as well at that time?
Marie: I was working on a different team. I was working on a team that was building the adaptive video streaming engine specifically, so kind of combining my love for computer networking and figuring out how to display the best possible video quality.
Lyle: That’s why you know so much about that piece?
Marie: Yes, exactly. But the code that I was working on as an individual contributor was shipping as part of the web player as well as the other players, so tangential team.
Lyle: Yeah. And so, you became a manager recently, did you seek that out? Did somebody come to you? How did that process work here?
Marie: I think I seeked it out but I didn’t know I had seeked it out. However, I’ve been blessed to have an amazing manager who’s my manager now and he’s also the person who originally hired me at Netflix. Who I think had pulled it out of me over time, that I was—
Lyle: Saw it in you somehow.
Marie: Saw it in me and had asked me but I always thought it was just kind of like chit chat, but he was always listening, right? When I said, “Hey, yeah, I guess I’d be interested someday.” And so, when there was an opportunity he asked if I’d be interested in interviewing internally. This was about a year ago.
Lyle: And for him as well, so it was kind of a move in some ways.
Marie: Yes, yes.
Lyle: Prior to being a manager, where you—I’m assuming you were managing projects like Valarie’s describing, right? Like you’re doing kind of—
Marie: Right.
Lyle: … management roles at some level? How do you know that, that time is right to transition now that you’ve done that?
Marie: It turns out I don’t think—at least for me—I don’t think I would ever have thought the time was right, right? I think that the opportunity presents itself and then you think about it. I was very lucky or unlucky, depending on your interpretation, to hear about this opportunity about 18 hours before jumping on a flight and going on a three-week vacation.
Lyle: Good time to think about transitions.
Marie: Yeah, and I was flying from California to Eastern Europe. So, let’s just say there was a lot of time to think, even in the first 24 hours because I was on a plane hopping through the East Coast.
Lyle: It’s funny, every career change I’ve made had transport—I’m off during it. Like it allows you to really think about what you want in your life and stuff.
Marie: It allows you to think about it and, again, I think it’s not useful in every moment to ask yourself, “Is the time right now? Is the time right now?” I think you need to evaluate from time to time and then you have to look out and if an opportunity presents itself you have to decide, right? It’s hard but you have to decide, is this the one or is this not the one? And for me, it felt like it was the right time to do it. Essentially what I did is I though to myself, “What are the times, currently, that I think I’m most effective and contribute the most?” And to me, it felt like that was in a leadership role. I love hacking around, I still have my terminal open basically all the time on my computer, I build the Netflix video player locally, I basically never watch on the official website, right?
But I also knew that I could contribute in other ways where I could build out a team. And actually, we had just spun off a new team from the existing browser team. So, that team had gone from six to three people. And so, when I came in, I was three people down. And so, this was an opportunity for me to also grow in a different way, which was learn about hiring very, very quickly.
Lyle: What’s the most challenging thing about being a manager here at Netflix?
Marie: This is probably going to sound very obvious, but it is not obvious when you’re new, at least it wasn’t obvious to me. For the first couple of months I thought I was doing a terrible job and there was a specific reason why I thought I was doing a terrible job. It felt like I was hearing about a lot of problems and challenges. And then, three months in it dawned on me one day that it wasn’t that everything was going bad, it’s just that I have an amazing team and when they knew what to do or they could solve for themselves, they wouldn’t even bug me. But inevitably when they were blocked, they needed a, you know, an intro—
Lyle: More resources and production people.
Marie: … more resources, right? When there was a challenge, when something was not obvious, that’s when they would come to me. So, I originally thought that everything was going terribly, then it turned out that a lot of things were going really well actually. And the challenges were coming to me. And so, I think internalizing that idea that as a manager you are going to hear about some pretty difficult things and sometimes, they are difficult things in terms of partnership building or relationship building. Sometimes they’re just technically very difficult things that are non-obvious on how they need to be resolved. But it’s kind of your job and once you embrace that—and I kind of like a challenge—and once I realized that that was actually a good thing, it was kind of a big learning, big learning for me.
Lyle: I’m going to go to my manager in a little bit and tell him the good things that are happening. If this is true, I talk to him mostly about the things that I have trouble with.
Marie: Right, right?
Lyle: Yeah.
Michael: That was not obvious or intuitive to me either, now that you mention it.
Lyle: Valarie and Maria, thank you so much for being here with us on We Are Netflix podcast.
Marie: You’re not going to ask us what we’re watching right now? I’m sad.
Lyle: Go ahead.
Marie: My boyfriend really likes browsing Netflix, I don’t know about watching but he definitely likes browsing. So, he found this show from the 90’s that’s actually like the square picture format.
Michael: Four by three is what we used to call it.
Marie: Yes, four by three, thank you. And it’s a show where a magician reveals how all these magic tricks are done.
Michael: Oh, Magicians Greatest Secrets, I remember watching that on TV, oh my goodness.
Marie: Yes, and I hate magic because I hate not knowing how they’re done and I absolutely freaking love seeing how all these tricks are done. And oh my gosh—
Michael: They’re so obvious.
Marie: … if you think it’s simple, it’s simple. But if you like to strip back the magic and likely a lot of people listening to this are engineers, holy moly, it is amazing. I want to know how it’s done and it’s kind of funny to watch a 90’s show.
Lyle: And again, it’s title?
Michael: I think it’s like the Magician’s Secrets Revealed or something along those lines.
Lyle: Awesome. All right, Valarie, what are you watching?
Valerie: Man, I’m slowly getting through Black Mirror still.
Michael: Oh, yeah that is a slow one, that’s a hard one to watch.
Valerie: I need like two months between everyone to let it—every single episode to let it seek in.
Lyle: And Michael, what are you watching?
Michael: Luke Cage, Season Two.
Lyle: Oh, good, yeah.
Valerie: Oh, nice.
Lyle: What I’ve been watching with my daughter is season one of The Good Place, which is totally interesting.
Valerie: Oh, keep watching.
Lyle: You watch it? Yeah?
Valerie: Do not blink. I won’t say anything else.
Lyle: Yeah, we finished season one last night, I think. So, yeah, it’s good, I recommend it.
Valerie: It is a surprise show.
Lyle: It’s just enjoyable, you know?
Valerie: You think it’s a good old comedy but man it’s good.
Lyle: It’s good, it’s good.
Valerie: It’s good.
Lyle: All right, well thank you both for very much for joining us here on We Are Netflix and for telling us what you’ve been watching.
Valarie: Thank you.
Marie: Thanks.
Valarie: That was fun.
Lyle: This has been the We Are Netflix podcast. I’m Lyle Troxell and my co-host are Michael Paulson, thanks for listening.