The Stack Overflow Podcast

Build engineering at Apple and the future of deploy previews

Episode Summary

Earlier this week, Netlify announced it had acquired a startup called FeaturePeek. Combining the two companies will allow Netlify to build out the next generation of collaborative Deploy Previews. We are joined by Eric Silverman, a co-founder at Featurepeek, now a senior engineer at Netlify, and Cassidy Williams, friend of the show and principle developer experience engineer at Netlify.

Episode Notes

Eric was a build engineer at Apple for many years, then started a FeaturePeek which went through Y-combinator. He talks about what he learned from those experiences and how he'll be applying that knowledge to his new job at Netlify.

The teams combined forces to make the process of submitting and gathering feedback on deploy previews easier and more broadly accessible outside technical teams. As Cassidy explained:

“Based on technology from FeaturePeek, Deploy Previews enables reviewers to comment, screen record, and annotate right from the actual preview link. No new tabs. No new tools. Everyone’s feedback is recorded back in the GitHub pull request and can even extend to popular productivity tools such as Clubhouse.io, Linear, and Trello.”

This feature set is near and dear to Ben’s heart. Now folks from marketing and design can offer feedback and be more tightly involved in the development process for new features, products, and websites. All without really learning Git! 

Also discussed this episode: weirdware, workflow automation, Jerry Garcia, compound bows, and the spread of Git and branch methodology to areas well outside software development.

Episode Transcription

Eric Silverman I feel bad saying it, but a lot of build scripts and build processes A few years ago, probably looked a lot like Weirdware, right, something that someone made because they had this script, don't touch it, definitely don't touch it, and it gets on the server somehow. And don't touch the server! Definitely don't touch that. Don't touch the script. And it just works. Leave it alone.

 

[intro music]

 

Ben Popper TeamCity Cloud is a new continuous integration service that is managed by JetBrains. It helps you deliver your software faster and with fewer bugs. You can run your pipeline on cloud agents provided by JetBrains, or connect build agents from your own network. To get started, go to teamcity.com. Create a trial account and get 20 hours of build time for free. Once again, it's teamcity.com.

 

BP Hello, everybody. Welcome to the Stack Overflow Podcast, slightly hoarse voice edition. I am Ben Popper, Director of Content, Stack Overflow, and I'm joined as always, by my wonderful co-host, Paul Ford.

 

Paul Ford What's got ya Ben?! Is it the allergies?

 

BP I don't know what it is, actually.

 

PF It's the allergies my friend.

 

BP Could be the allergy season, yeah.

 

PF It happens in your 30s, you're like "I never really had allergies" and the world goes "I'm gonna just totally wreck your world. I'm really sorry."

 

BP I know. I know. The late 30s are pretty brutal. I had I had a harsh realization. I guess it was over the weekend. You know, I'm a big UFC fan. I watch the fights, I keep up with it. And they're all these people who were unbeatable champions who I came up with who are still in the game, but they're getting into their late 30s. Suddenly, they're not the champ and the headliner. They're not on the main card. They're on the prelim. 

 

PF No that body doesn't heal up like it used to.

 

BP Father time never loses. 

 

PF You know, it's just like in our industry, let's bring it back to tech. [Paul & Ben laugh] We have friends of the show! Friends of the show came by!

 

BP Good guests and great friends of the show. Today, we have Cassidy Williams, and Eric Silverman, both of Netlify, but only recently for Eric. So welcome to the show both of you, let's chat about what's going on.

 

PF I will say, I just want you to know, after about 15 minutes, I'm going to send you an email and tell you that you've used up all your minutes, and you're going to have to pay a little extra. That's my little Netlify joke. Ha ha! 'Cause like, I get those emails. And I'm like, oh, boy, man, Netlify, just help yourself. But of course, it's a good service that we use heavily, which is why we get those those emails. Welcome!

 

ES Thanks for having us.

 

Cassidy Williams Thank you!

 

BP Cassidy, we've had you on the show many times. But Eric, first time caller, first time listener. What brought you here today? I know there's some news. Netlify and your—

 

PF Well, hold on, hold on, before you do it. Let's tell—because not everybody knows this wonderful product as well as we do. And not everybody has a software company that uses it all day long. I'll tell you. when I think of Netlify, I think of easier web hosting, which is a, you know, from the 90s. But GitHub based deploys, like the fact that you can push code to get and suddenly see it in your browser, as if by magic in its own very own branch. But that's what I think of when I think of Netlify. What do you, as two people who work in Netlify? How do you define it?

 

CW Well, I'll start and then Eric can take it from there. And so yes, hosting websites, Git based workflows, where you push to your master branch, your main branch or staging branch, whatever. And then you can get deploys for your prod or for the various previews that you want to see it or share with your team. And then you can also do like split testing on that, there's serverless functions built in forms built in, all kinds of fun things. But what's cool is, the reason why Eric is here today is when you do push to those different branches. Typically you get a preview deploy, where you can give it to your team. And you can say, Okay, this is what this branch looks like, and what it would look like in production. And then Eric's team joined and changed the game! 

 

BP Eric, where are you joining us from?

 

PF Yeah, what team are you from and where are you in the world? I'm curious.

 

ES So I'm in Oakland, California. And up until February, I had a company called FeaturePeek, which took the deploy preview idea and specifically built it around collaboration with teams. 

 

PF Peak as in mountain? Peek as in look around? Peak as in 'I'm angry'?

 

ES Peek as in look around. You may have seen our ads on Stack Overflow. But we really took the idea of a deploy preview. And the idea was to add critical collaboration tools on top of those for your whole team, not just technical stakeholders, but non technical stakeholders to work together.

 

PF So how was it before and then what problem are you solving?

 

ES What Cassie was saying about people, we get a deploy preview link. So the idea of being you push to your branch or an open PR and you get to see those changes in the browser. The idea of that is you now have a link that you can share to anyone on your team right? Hey, check out my new changes before I merged to my main branch, something like that.

 

PF Gives it a funny name like KnuthWaffleGo. And you're like, here it is!

 

ES Exactly. Okay. And those links are really powerful and really important, but also a bit of a missed opportunity, because that's the time to get feedback from your entire team, not just technical stakeholders. And so it's kind of just a link, well it was just a link. Now, it's actually a hub for collaborative collaboration across your team, not just with engineers. So it's a link where you can not only review the page, but you can leave comments, you can annotate screenshots, you can record your screen and video, you can file new issues, you can connect your different project management tools and issue trackers, it's actually a place to get stuff done. Not just a link to look at and then take a screenshot the old way. Email someone a bug, Slack someone an issue, it's actually a hub for collaboration.

 

PF Somebody, I still get that link, I still get that like, "hey, go look at this."

 

ES Oh, yeah, that link still very much exists, you can just do a ton more with it now.

 

PF But when it pops up, it comes with a bunch of tools now, that let me do—I mean, that just screenshotting alone, right? Because that is that is a grisly chore where you're like, Oh, this doesn't really work. And then you have to go to GitHub issues and you put it in, and then you have to remember markdown for reading as a parentheses or bracket, which one comes first. And now, that's my day, my day is gone. Okay, so you you've said, alright, that's too much. Let's stop adding the friction. And so FeaturePeek was bought by Netlify, is that correct?

 

ES We were acquired by Netlify. And the FeaturePeek team joined Netlify.

 

PF Ah, congratulations!

 

ES Thank you. To integrate the not only our existing product offering to build a lot new, a lot more features and new product. And we are announcing that now.

 

PF Usually, I have sneaky critical things to say about everything. But frankly, this problem is such a pain in the ass and everybody already uses Netlify. I'm like, fine, God, give it to me. I'll be good. Let me just dump it in the textbox and yell at people, this is wonderful.

 

BP It's obvious from a Feature perspective why people would want this let's ask the question of why from a business perspective, would you prefer to join as opposed to go at your own and grow FeaturePeek into the next tech Titan?

 

ES So you know, my co founder and I, Jason, we started FeaturePeek in January of 2019. And what we found is when we started that we were really focused on deploy previews, as we were really building our collaboration tools, what we kept getting asked by people were, oh, well, I deploy with Netlify, can I run your tools on Netlify? We would get asked that probably once a week. And we were in the Y Combinator summer 2019 class. And one thing, they tell you a lot, they said, well listen to your customers, they probably know what they want. And we're like, Well, our customers keep telling us to put our tools on Netlify. And so we built up a small prototype of what FeaturePeek experience would be like on the Netlify platform. And we reached out to Netlify, and showed it to them. And really just hit it off, it was very clear that we were having a great time working on this integration. But we kept hitting a bunch of roadblocks that you would get by having a third party integration. And so we sat down with Matt and Chris, the founders. And it was really clear that we were thinking about this problem the same way. And we really admired, Netlify's community involvement, their relationship with the development community. And it was something that we were spending a lot of time building a deploy preview platform when Netlify had the best one. And we really wanted to focus on the collaboration piece. And it was a great fit.

 

BP Cassidy, can you tell us a little bit about like when we say Netlify platform, are there lots of third party apps? Do people ask for specific integrations? And you reach out to those companies like when you want to bundle new tools in or have services work with Netlify? How does that work?

 

CW Yeah. And so there's a few different ways. First of all, there's add ons. And I know like, for example, I think there's a FaunaDB add on there. There's things like that we're customers and companies, and different people will build stuff. 

 

PF Wait, what's FaunaDB? Oh, it's the data API for modern applications.

 

CW Yeah, that's just an example of one that I know of where they'll build in some kind of plugin to work. But the one that I think is cooler than that add ons is, is build plugins, where there's these things called build plugins that are glorified JavaScript modules that you can run on your build. And so could start at the beginning of your build during your build on the success of your build, and it can do anything. And it's really just JavaScript. And so for example, there's an Algolia, plugin, and Algolia does search. And they can make it so as soon as your build ends, it catalogs your site so that way, you can search on your site without golia. And you don't have to do any, like manual configuration to get all of your content into the search site. There's also like a Lighthouse plugin, for example, where it says, okay, as we're building we'll check the performance. Oh, wait, accessibility is bad. You're not allowed to deploy this branch, stuff like that. And so with build plugins, you can pretty much do whatever you'd like. And there's there's ones built by the community and ones built by companies to make your builds, do whatever you want.

 

PF Let's ask a controversial question and then discuss it because I think it'll be interesting. Ye olden times, I'm gonna push myself to GitHub, I'm going to use some deploy scripts are going to use some tooling that that is probably custom in house and I'm going to deploy to a staging server. QA is going to come in, people are going to look at this, and they're going to review it. And that's actually their job. Like their job, sometimes they're outsourced. And they go and they run a script, and they look at every piece, they go this not this, this not this. Then unit testing shows up, all these other things show up. But it does feel like we're moving to a world where there's almost there's less and less to QA, like it's just like it, we're just gonna shove this data over to Algolia. We're gonna put this over here in this database. Is there in your experience, 'cause in mine, there's less and less of a QA department involved in almost anything, even with our clients. Are you seeing that from the Netlify point of view? Is it just DevOps going straight out into the world and iterating? Or are there still teams that are reviewing things as they, as they go? Where that's their job?

 

CW They're still reviewing things, I'd say it's, it's not necessarily removing the role of QA, but it's moving it to a different end of the spectrum, probably, where where QA might happen in the deploy preview stage. QA might happen, where they're the ones actually developing the build scripts that run at the end, so that way unit tests run or different matches have to be made.

 

PF Do you think everybody's going to be DevOps roughly in the future? Like, how do you see, because you're in the beating heart of a kind of jam, stack style, distributed building approach, right? So what does engineering look like five years from now? If this is the path that everybody's taking?

 

ES I think everyone's DevOps because no one's DevOps.

 

PF This might be the problem, though. You know?

 

ES Yes and no, I think—

 

BP That's the kinda ninja wisdom that sometimes leaves a gaping hole.

 

ES Well, so I come from a background of I managed a build engineering teams at Apple for a number of years. And my background was in release management there. And I think, what a lot of people have or used to have, so if we want to talk about what DevOps and engineering teams look like five years from now, let's look at what they looked like five years ago, they pretty much looked like smaller versions of DevOps teams at bigger companies, companies that were building OS's, building major application suites for the web, that doesn't necessarily make sense. And certain technologies have gotten so good that it's allowed us to, it's not that we don't have to care, but we can have this reproducible environment. And we can actually leverage the entire team to make that process a lot better.

 

PF Describe that older process a little bit for our listeners, right? Because I think you've got an unusual experience having worked inside of Apple, but most people have never worked inside of a giant deploy environment.

 

ES Right. So again, depending on you know, what you're building and where you're building it, you probably have some sort of either internal build system that you've developed in house for a number of years to do something maybe that assembles that compiles that assembles and packages and operating system. You might have tooling on top of something else, like Gradle or Ant or something like that. And I'm assuming you have a lot of legacy code and probably some Perl in there.

 

PF Hell yeah!

 

CW Oh man.

 

PF Absolutely!

 

ES I feel bad saying it, but a lot of build scripts and build processes A few years ago, probably looked a lot like Weirdware, right, something that someone made because they had this script, don't touch it, definitely don't touch it, and it gets on the server somehow. And don't touch the server! Definitely don't touch that. Don't touch the script. And it just works. Leave it alone.

 

PF Well, and it's always like, it's like half version, because there's that one slash Etsy folder, and those little tweaks to the web server that exactly, are completely not reproducible.

 

RS Right. And so I think a lot of great tools really specifically because of web deployments have made this a lot simpler, it's been a lot easier for teams to get their project on the web in a reproducible way, and not have to bring up an external build system, not have to bring on a Jenkins server just to deploy a website. You shouldn't have to do that. And but what I think it gives is a lot of visibility into this whole process. And I think five years ago, a lot of people didn't have visibility into how their code actually gets deployed. Netlify is really good at that. I think a lot of new build systems, especially for the web are and what that makes is a lot stronger, more connected engineering teams in general, I think the more people who actually know how code gets deployed, and I say this selfishly coming from a build engineering background, the better things we create.

 

PF I mean, you're from Netlify, we can accept a little bias. [Cassidy laughs]

 

ES Thank you. Thank you very much. 

 

BP So it's interesting to hear you say what was you know, this this world, like five years ago, you know, what might it look like five years from now. Cassidy, can you tell us a little bit, yeah, sort of like, what is the vision with, you know, these two companies coming together for building out, you know, what natla phi can offer to folks?

 

CW What I'm particularly excited about is, is the non technical team aspect of people being able to collaborate on the deploy previews, because a lot of times it is mostly like devs, front end devs kind of navigating a deploy preview just like, okay, here's this, here's that, and then a designer might email them saying, hey, I noticed this, this is this is what you need to change, the fact that it can all live in one spot, I think is so huge. And in terms of the future and everything I know, for myself, I don't want to have to deal with configuration and setting things up so much, I just want to work on my features. I just, I just want to deploy things. And so the fact that this makes even more things possible, without me having to set anything up, it just works, where I can give this to my team, they can make whatever changes in suggestions they need, and then I can take it and run with it without having to, you know, cross wires here and there to make sure it happens. I think this is a really cool step in that direction. And again, in general, I love not setting things up. I just like being able to get to my code and run with it.

 

BP Yeah, I mean, as as the non technical person on this podcast. And then in general, I guess, when I hear you say that I'm curious, we often do have this sort of like, you know, chain of handoffs, where if we're working on a new feature, or we're hoping to, you know, push a page, I'm handing something to design, who sometimes works in GitHub and design is handing it to Dev. And then Dev is adding it to like the tests, you know, before we actually push stuff. And so you're saying now, maybe if we had Netlify, I could poke around in a preview, actually add things or add questions or add text or make requests, and then work more directly with the folks who are on that side?

 

CW Right. And it all just lives in that one spot. And there doesn't have to be as many hands off down the chain, it can all just happen in one spot. And right now, like, we have Google Docs, and we also have Notion, and we also have GitHub issues. And we also have just all of these different boards and Slack and stuff where where it happens everywhere. It'll be nice to just consolidate that.

 

BP When I make an update to the copy, I note that at Monday.com and that pushes it to Trello. And so then they can take that and put that in Notion. And that generates a JIRA ticket which the dev team can use. Yeah, exactly.

 

PF I have a little principle that I always use when I'm thinking about software, which is that everything is everything. So if there's always like, everything that does anything, it can also do everything if it so chooses, because computers are just computers. But like, what's interesting here is to always see which direction things are going. And to me what what sticks out here, right is that the Git based workflow is very heavily text based, always has been, which is I'm going to send patches, and I'm going to actually probably use email before GitHub and I'm going to use you know, then the big advance was like, Oh, well, now you can put some things in, in markdown, and that'll be exciting for you, won't it? And, you know, it always drives me a little bananas, because developers love flat text, for lots of good reasons. And it's very efficient and good. But computers can do so much more. And it's just like, you know, there is no merit in typing to Asterix is instead of Ctrl, or Command B to get bold, like it doesn't mean anything, but developer world will kind of sometimes have you believe that it does. So let me throw some frickin pictures in there, man, let me just like make my screencast and just dumped it in the bucket. And we'll figure it out from there, we'll have to build a new culture, and maybe everything won't be totally controlled by little four letter colon, like, you know, Git workflow command messages, but that's okay. Because it's a really big, messy world. And so like, I like this conceptually, and I'm sort of attracted to it because it moves development towards average humans who don't happen to know five different programming languages or aren't excited by a text based workflow. on the same side, you see tools like you know, Figma, are getting more and more and more smart about sort of what designers are building. And so they're getting more intelligence about, you know, how does this connect eventually to code and so everything is kind of converging on a new big blobby mess that we're going to have to spend years unpacking. It's very fun, very exciting. Then you throw webassembly in there, we're going to just be in hell for the next 15 years. I'm really looking forward to it!

 

CW Or heaven, you don't know.

 

PF Well that's the thing. With tech, there's really no, you know, it can be one, like it can be absolute hell before 10am and then after that, you're like, this is the greatest thing I've ever seen. I found—just to completely derail—I found a piece of code we've been working using it at work. It's called Kepler GL. And it is a mapping toolkit built on Mapbox that Uber released is the greatest thing in the world. You can just put any lat log on there, visualize the hell out of it, you can explore the whole world. And it's just Like, sitting there free and beautiful. And I was just as I'm saying, like heaven, I'm like, this is the greatest thing I've ever used. I'm so happy. I love computers again. And then 10 minutes later. 

 

CW Yeah. 

 

PF When you're not doing Netlify and you're not doing things that aren't on a computer, when you're doing other computer things, what are you excited about?

 

ES What do I like these days? I like sleep. I'm not getting a lot of it. I have a four week old.

 

PF Oh congratulations! 

 

CW So exciting.

 

PF That's a wonderful moment.

 

ES It is great. And she is incredible. But I do miss, I do miss sleep. What else do I like? from a technology perspective, I am crazy about M1 Laptop. I'm singing its praises all day. I think it's the most incredible laptop I've ever used. And I make a lot of music. And I just made a record on tape, like on a reel to reel machine. So not necessarily new tech, but old tech.

 

BP Can I listen to it on Bandcamp? Or do we have to order the tape and you'll mail it to us?

 

ES It's not out yet. But it will be maybe next year.

 

PF What is the sonic quality of the reel to reel that appeals to you?

 

ES It's not necessarily the sonic quality, it's more that it gets you out of the computer when you're trying to be creative. I actually have a console that has a built in tape machine to it. It actually used to be owned by Jerry Garcia. I did this whole album on it. And the best part about it is you can be creative and you're not on a grid. You don't have to look at the computer and edit things. And it really kind of gets you in the moment of playing well. And actually listening to yourself and and doing all that.

 

PF When you fast forward too much does just like suddenly weed smoke just come out of that console? [Cassidy & Ben laugh]

 

ES Yeah, it adds an extra 'man' to all your lyrics. [Paul laughs] You say something, it goes 'man'.

 

PF That's great. Alright, well, good. Well, look, I'm excited about this. I like anything that brings the development process closer to normal humans. I like Glitch for that reason, too. Like these are, it's a great place to put effort to that average computer users instead of people who have spent 10 years thinking about every aspect of the computer can give meaningful feedback on software. We got to do that. So congratulations! That's exciting.

 

CW Wooo! We're so hyped.

 

[music]

 

BP Alright, awarded 22 hours ago to MiguelKDival? "Is there an open source equivalent to piper, Google's version control tool?" Well, there's an answer. So you can find out if you check the show notes. Thank you to Miguel for answering a question with a score of negative three and getting it up to a score of 20 or more. I am Ben Popper, Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper, email us podcast@stackoverflow.com.

 

PF I'm Paul Ford, friend of Stack Overflow, check out our company Postlight, we'd love to talk to you if you're an engineer, a designer or product manager. Thank you.

 

CW I'm Cassidy Williams, Principal Developer Experience Engineer at Netlify and friend of the Stack Overflow Podcast. You can find me at @cassidoo on most things.

 

ES I'm Eric Silverman, senior engineering manager and Netlify, former co-founder of FeaturePeek, you can find me on LinkedIn.

 

BP And if people want to check out like these products are the the deploy previews, is there a way they can do it before they sign up? Should they sign up and then check it out? What's the best way?

 

ES Check out Collaborative Deploy Previews on Netlify. It's free to use and enabled on every plan. So hop on to your deploy preview and check it out.

 

PF I'm excited and I bet developers will want to use it or complain about it because that's developers, but I'm very excited.

 

CW Yeah!

 

BP Use it, pay for it, then complain about it. All the things.

 

PF Woohoo!

 

[outro music]