The Stack Overflow Podcast

Jamstack is evolving toward a composable web

Episode Summary

Dana Lawson, Senior VP of Engineering at Netlify, joins Ben and Ryan to talk about her path from the military to tech, how three years at GitHub continues to shape her perspective, and how composable architecture is turning web development into something resembling LEGOsⓇ (in a good way).

Episode Notes

Netlify’s all-in-one development platform gives devs access to build, deploy, and backend services for websites and web apps. Get started with their docs.

Jamstack is a web development architecture based on JavaScript, APIs, and Markup (the JAM in Jamstack). Learn what Jamstack is and what benefits it offers.

Composable architecture has been called “the next big thing” in web development. Netlify defines it as “a development approach [that] provides the ability to more rapidly build technology stacks by making use of logically separated reusable and customizable components.”

Dana is on LinkedIn.

Warm congrats to Lifeboat badge winner hasectic saif, who rescued the question How can I print to standard error in C with 'printf'? from an answerless void.

Episode Transcription

[intro music plays]

Ben Popper This podcast is brought to you by the Qualcomm AI Stack. Qualcomm AI Stack is a unified AI toolset designed to help developers optimize and deploy AI models quickly on their products. Go to qualcomm.com/stackoverflow to get started. If you're listening, make sure to use that link and let them know the podcast sent you.

BP Hello, everybody. Welcome back to the Stack Overflow Podcast, a place to talk all things software and technology. I am Ben Popper, Director of Content here at Stack Overflow, joined as I often am by the impresario of our blog and newsletter, the reformed and retired technical writer, Ryan Donovan. 

Ryan Donovan Hey, Ben. I got a comment that somebody appreciated the increasing size of my title, so keep up the good work. 

BP Yes, I like to change it up every time. But Ryan, you helped to set up today's episode, so give us a quick intro on what we're going to talk about. 

RD So I reached out to Dana Lawson for a blog story and she is at Netlify and they're big on the Jamstack and she's also a very charming conversationalist, so I figured we could talk about the state of the web, Jamstack, and how AI is going to affect all of that. 

BP All right. Jamstack, AI, state of the web, I am ready. Dana, welcome to the Stack Overflow Podcast. 

Dana Lawson Thank you so much for having me, Ryan and Ben. As a long term technologist, I'm a huge Stack Overflow fan. I think I've learned most of what I know from that website. 

RD Oh, love to hear it. 

BP We won't ask you to share your username or number if you have one. We won't out you on the show, but we appreciate you getting some knowledge and maybe sharing some. So I guess let's start with what you're doing these days. Tell us a little bit about your role at Netlify and where that kind of fits in with, as Ryan mentioned, the state of the Jamstack. 

DL Well, at Netlify I'm the Senior VP of Engineering, but I also dip my toes and run our technical support and customer success team, because I love people, I love technology, and I love even more how people use it. So it's kind of cool as an engineering leader to see the kind of post-sale cycle and get some insight. I'm into the Jamstack, but word on the street, y'all, is Jamstack is now composable web. Not compostable– that means trash web, I think, but composable web, and to me that's a more relevant definition of what the actual premise of this was meant to be. And it's pretty exciting just with everything that's happening in the space with these amazing JavaScript frameworks and these awesome runtimes that are now becoming a commodity. So it's a great time to be an engineer, I think, especially with AI.

RD It's almost like turning the web into little Lego building blocks.

DL Totally. I think that's the perfect definition of it, and that's really, in my opinion, how we've evolved into really more being cloud native with our approach to digital products and software development. And nobody wants vendor lock-in and it's kind of the final piece to move fast with the rest of the community by being able to have Legos that just work with everything. So I love it, but as you can tell, I love all of it. 

BP Yeah, I had read an article along these lines that the future of Jamstack is composable. My recollection was that they said there's kind of this daunting task: composing headless sources together into a cohesive experience. So can you talk a little bit about how Jamstack composability works to allow for that kind of cohesion? I think for a lot of people, like you said, part of what they like about headless is portability, moving away from vendor lock-in and things of that nature. 

DL Oh, wow. There are so many cool ways to do it now, and this is where I was really attracted to Netlify. After spending about three years at GitHub and thinking about developers for any kind of development process no matter what you're jamming on, being able to dip my toes and really focus on the web developer has been so interesting, and I think it needed that next level of abstraction to bring it all together and have that ease of management because there's so many unfederated tools in this space and in technology. And you saw Kubernetes tackle this for infrastructure, and I think what we're trying to do in the space of composable architecture is have that great experience where you can really own it from idea to cloud and be able to ship these websites independently. And that was the dream of it– to be not only composable but self-reliant so that you can innovate quicker. And so at Netlify, we're approaching that way, saying we know that the underlying toolset will continue to evolve and be created and curated, but how do we keep that developer experience not to change so much? Because I don't know about you all –I’m talking to developers– we don't like our workflow messed with. Once you set it in, you're like, “What? What are you doing changing my workflow?” And so I think that it's very important to have that view, especially as composable architecture continues to pick up steam and headless. And with Netlify specifically, I don't know if you caught this in the news, we just announced a new product– Netlify Connect. We know that one of the biggest problems is headless CMSs, because you want to try everything when you go into this new world, but then you have a menagerie of different CMS types, and that hasn't been tackled in a lot of ways for this type of architecture. And so we recognize that architects were stuck saying, “How am I going to get an opportunity to modernize my Jamstack or my composable stack because I'm stuck on my CMS?” So we were like, “You know what? Let's make it not be a problem. Let's bring it all together and homogenize it.” Now you can move your data where you need to. So that's the way we've kind of thought about this final leg of Jamstack or composable, whatever we want to call it today, because data is the final frontier of really saying, “How can I have this be even more meaningful than a static webpage?” They're no longer just static webpages. 

RD Yeah, you're pulling from a bunch of data sources. I was working with Jean Yang of Akita on a blog post and she was talking about APIs almost as low-code. Do you think composable architecture is sort of moving towards a less code world for webpages?

DL Absolutely. I think all software development is moving towards a low-code, no-code. Well, not a no-code– a low-code approach. Because you want to simplify the minutia. That's not what you want to spend your precious creative time on. You want to spend it on the harder to tackle problems. And I think that if people are not developing APIs in the way that we see the modern toolset becoming simplified, why would you use that? I don't know about you, nobody likes reading API specs. I mean, maybe you do. I'm just like, “Man, I love having one if I need it, but I'm certainly not going to just peruse it in my free time.” And I think to have a really good developer experience, stuff should be intuitive.

BP Yeah, Ryan has a guilty look on his face. 

RD As a former API spec writer– 

DL A writer! Hey, I love them. It's a requirement and you want to have it in your back pocket, but developers are so lazy. That's why I like Stack Overflow. I'm like, “I could go into our document repo, but I could just Google it up on Stack Overflow.” But you’ve got to have them there, so, no, Ryan, your work is not for not. 

RD Thank you, thank you. 

DL As an SRE by heart, it is required. 

BP I wanted to learn a little bit about your background. Ryan had told me that you were in the military and I'm just kind of curious, what was your path to working in the world of software and technology?

DL Oh man, it's such a weird story, but now that there's more randos in tech, it hopefully won't be as weird for a lot of people to not come through a traditional path, because I certainly did not, y'all. I grew up in the middle of nowhere out in the desert and I didn't know what I was going to do and be with my life. I actually thought I was going to be an artist but then I was like, “Dang, being poor is not the funnest thing.” And most people are starving artists, there's a reason there’s a saying. So I tried that out and I realized, “Ooh, this isn't for me.” But in college I had the opportunity to take some digital art classes, graphic design, Adobe, and back then –I don't want to reveal my age, 27 for life– but we were really just starting to experiment in the late-90’s, in the mid-90’s, of really how websites are created. And so I had my Microsoft FrontPage, I got to dabble in that. Long story longer, on a whim, I joined the US military and I was like, “Whoa, look at this new field.” What was it called? I know my old title– 71 Bravo. But basically information systems, administrator, developer, or something really bloated, very vague. They're like, “We know computers are here so we’ve got to do something with them. We know software is here so we’ve got to do something.” And my thought was, “Wow, I could be in the army and be inside because computers need air conditioning!” So that's really how I got into this. Like the developer I aspire to be, incredibly lazy. I was like, “US Army, air conditioning, computers. The secret sauce.” But what really happened was I loved it. You go to a 12-month school, you learn everything from networking to programming, and it's still the military, at least in my time, you're pulling 12, 13 days because they still didn't really know what to do. They were like, “We have these nerd soldiers.” And so it got me started on this and I loved it because I got to serve our country, build the applications and manage them, and learn SaaS before SaaS was this real thing. And so that just continued on and I got out and I ran my mouth and they were like, “Okay, listen. You keep telling everybody what to do. Maybe you should be a manager,” and I was like, “Okay.” And I love people so much and I have such empathy so it just set me on this course because I'm a very curious individual and so I've worn a lot of hats in this over 20+ year journey, and I think that people with a growth mindset, and especially curious engineers, can do anything and anybody can do anything and it's just grit and determination. And so I don't have a very formal background. 

BP That's amazing. You got to stay off the front lines, you got to serve your country, you got air conditioning, and you got paid to learn all this stuff. You didn't have to pay them. They paid you! 

DL They paid me! And did I still have to do basic training and shoot some shit? Of course I did, that was awesome! But really I got the bug because I was working in government contractings outside of this because I had a clearance. And when you have a clearance, you get this little niche of interesting things you can work on. So I worked for an enrichment facility, a uranium enrichment facility, the first one in the United States since 1973 which is really interesting. And then I've landed into just the startup world and I've been in startups and then of course GitHub, which is not a startup anymore, because of that passion of innovation and curiosity, and that's what I've been doing for the last 10 years. 

RD You mentioned earlier that you moved. You're now focusing on the front end world. Is there something that you miss just by focusing on the front end? Is there a part of the computer world that you're like, “Ah, I wish I was doing this.” 

DL Well, the cool thing is that we're building a platform for front end developers, but it is not built like a Jamstack. I mean, Netlify has a global CDN, which is a content delivery network system. We have an Edge Runtime, which is an abstraction of traffic patterns, and again, more networking, more of that infrastructure type work, which always scratches my itch. In addition to that, we have this web presentation platform, so it's really interesting. I get to, at work, scratch all the itches from Kafka to Apache Traffic Server, Kubernetes to every JavaScript framework you could probably imagine because we support them all. We use them all. We eat that dog food on our front ends. But I do still noodle about that full stack person because I'm always going to be that full stack person because I'm a terrible web developer. CSS and me are not friends. Even though I have an art background, I'm just like, “Why?” I'm more like jazz art. Let it flow. I just write JavaScript to change jobs, it's terrible. You don't want me touching your stuff. 

RD CSS is just really complicated paint by numbers. 

DL I don't have the attention span to do that. I don't finish it. I get to a few and I'm like, “We're done.”

BP You mentioned before that you felt like everything, to the degree that developers are able to do it, would move towards a low-code, no-code, because folks want to automate, they want to move fast, they're more interested in building things and finding product market fit and getting that stuff out there. Not to say that some people won't be building new things from scratch or coming up with algorithms, but the majority of web developers. So what's your take on the use of AI tools, whether that's in the IDE, or you're having a conversation with it when you're trying to come up with some of your initial ideas and it's giving you code snippets, maybe it's writing a function for you. You have a bug and you ask it why and it gives you a suggestion. How do you think these tools are going to be used by developers? And if you've used them yourself, what are some of your suggestions about how to use them well? 

DL Man, I'm trying not to be biased here, Ben. I was at GitHub for three years. I'm a leader, so I ain't going to take no credit for my wonderful engineers, but I was a part of the early discussions with Copilot with the crew and so we saw this future coming. I was like, “It's here.” And it's funny because we keep interchanging AI and machine learning. A lot of this stuff is machine learning, but I don't want to get into semantics. I'll let the internet fight that one. I just feel like if you aren't embracing the future, which is here, just like we did with serverless– when Node.js came out people were like, “It won’t get adopted.” And it was a slow burn for Node to pick up steam. Well, we can go back and look at all of the advancements in this space, AI/ML are here and you should embrace it. And all the things that you called out, why wouldn't you as a developer want to be efficient? Why? Once again, I don't want to spend any time having to do things that can be automated and just simple, and it takes minutes and effort and energy and brain power, because unfortunately us humans don't have an endless supply. We have to rest, relax, and recuperate, recharge our batteries. But if we take out some of that mental need for repeatable tasks, you're opening up your cognitive load. You are. And so I say, why wouldn't you do that and spend it on something more important? 

BP You remind me of a piece I wrote, I think it was back in 2017 or something, but it was one of the first AI systems to play Texas Hold ‘Em at a competitive level. And so they sent it to Vegas and it played against all these other people, and I remember interviewing them because the tournament went on for a few days and one of the things that they said was, “It's just so brutal because it doesn't need to sleep. It comes back to the table, day two, day three, day four, same as before, whereas I'm burnt out. I've been sitting at the table for 12 hours, then I go back and think about all my moves. I try to figure out what I did wrong.” The AI was just as sharp on day four as it was on day one, so it ended up taking the pot. 

DL Exactly. So I think, as humans, it's one of the harder things to crack when you really get into a state of flow and you're grinding. I don't know about you all, but I can shut out the world. But then you come out the other end of this really productive week and you're like, “I don't want to talk to anybody. I don't want to look at anybody. I just want to once again shut off.” That's why I say that these tools can be that part where you don't, so that you can actually maximize and increase the things that are important, and that's the way that I look at it. I'm not afraid of it, I'm not, because I think we have a very strong developer community built on open source and regulation will come from the developer community about putting those constraints on. We've seen it over and over and over again with adoption of open source utilizing in other ways. We've all centered on licensing models. You can use it this way, you can't use it that way. So I think there's going to be an interesting time with these tools for all of us. And it's not going to stop, so be a part of it and be on the good fight. Think about it in a good way. And that will be more interesting I think for a lot of us as engineers as we go into this new territory.

RD Yeah. You mentioned licensing models for open source. Do you think that people can actually use licensing models to force people to do good with the software, or not do harm? 

DL I mean, I hope so, because I think one of the challenges with what is happening is that it's so obfuscated on what's actually going on and how the model models are created. And if we can come and say, “You can't change the model.” Think about GLP and GLP-1, and it's like, “You can use it but you can't distribute it, and you can do this, but you can do that.” I think there needs to be some kind of thinking when we standardize, but it's an interesting one because it's a data problem but the models dictate the types of data you're going to pull in. And so I feel there's an opportunity there, and you can probably see this in some places, but when you get to licensing and regulations and compliance, it's always lagging. If you go through any kind of compliance as a software company, there's going to be things coming out that aren't even understood and documented yet and so you have to kind of figure it out as you go and that's kind of where we're at. But I do feel like there can be a real possibility for the community to do some self regulation, but it's going to take a lot of us.

BP There's been some really interesting stuff happening on the legal side. There's been challenges saying, “This borrowed my open source code and it wasn't licensed for you to then distribute it and charge commercially.” It seems as though there was recently a motion in that. “Oh, it seems as though you're borrowing it and then trying to change it just enough so that it wouldn't.” And then I've seen on the other side, we talked with the folks who are writing Google's Duet which is supposed to be coding with you, and they say they ingest a huge amount of data, like you said, to do the training, but then specifically go through it and if it seems like it has restrictive licensing, they chuck it out. They don't want to have to think about that legal challenge in the future. And even at Stack Overflow we've been thinking about this a lot. Nobody knows what's in the black box, but if it was trained in some way on Stack Overflow data, ours is not licensed for commercial use, it's out there for folks who want to do nonprofit or academic. And we also want to make sure that, as you mentioned before, all the folks who helped you learn and continue to help others learn get some kind of credit. Can there be attribution or can you get a certain number of stars or whatever it may be if your wisdom helped the machine help other people? 

DL There has to be some constraints around it or you're going to have this closed software loop again, and this is where I think it gets dangerous and scary again. The reason that we as a community said, “Let's do open source,” is because we want to be transparent about what we're building. We want people to understand. We want people to participate. If we have closed systems, you have opportunities for bad actors. You have all these different ways that you just don't know what you don't know. And this is why I love open systems and working in this way, because you can get ahead of it. You can see beyond it, and it gives you that level of transparency, which sounds like an anti-pattern, but actually it's when stuff gets closed down, in my opinion. So I do also agree to give credit where credit is due. Come on now, let the community shine. That's how you participate. People want to be acknowledged for their work. One of the tenets of living and feeling productive and enjoying your livelihood is celebrating the accomplishments that you have and giving back and service to the community.

[music plays]

BP All right, everybody. It is that time of the show. Let's shout out someone from the community who came on and helped us save a little knowledge from the dustbin of history. Awarded two days ago to hasectic saif, “How can I print to standard error in C with 'printf'?” If you've ever wondered how to do this and you needed an answer, now you have one. Thank you so much, saif. You've been awarded a Lifeboat Badge and you've helped over 400,000 people. We really appreciate it. I am Ben Popper. I'm the Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper. Email us with questions or suggestions, podcast@stackoverflow.com. And if you like the program, leave us a rating and a review. It really helps. 

RD I'm Ryan Donovan. I edit the blog here at Stack Overflow– it’s stackoverflow.blog. And you can find me on Twitter @RThorDonovan. 

DL I'm Dana Lawson, SVP of Engineering at Netlify, and you can't find me on the internet, but you can find me at netlify.com.

BP All right, everybody. Thanks for listening and we will talk to you soon.

[outro music plays]