In this podcast episode, Tyler Benfield, a staff software engineer at Prisma, and Kent explore the critical role of databases in full-stack development, discussing optimization techniques and the trend of front-end developers becoming full-stack.
In this episode, Tyler Benfield, a staff software engineer at Prisma, joins Kent to explore the world of databases and their critical role in full-stack development. Tyler shares insights from his journey from front-end development to mastering database performance and optimization, while also touching on the trend of front-end developers upskilling to become full-stack, leveraging languages like JavaScript and TypeScript. The conversation concludes with a preview of Tyler's session at the upcoming Epic Web Conference where he will cover topics such as SQLite, varying database types, performance tuning, and share personal anecdotes, offering an engaging learning opportunity for web developers.
Meet Tyler at Epic Web Conf.
Guests
Transcript
Kent: Hello Hello everybody, I'm really excited to be joined by my friend Tyler Benfield. How are you doing Tyler?
Tyler: I'm good, hey everyone.
Kent: All right, so Tyler and I, we met originally like years ago, but we had a really awesome conversation last year at RemixConf. And from there, I was like, man, I just enjoy talking with Tyler about database stuff. And then Tyler, you helped a lot with the data modeling workshop that I have as part of Epic Web. Yeah, huge help there. And so yeah. I'm excited to have you at Epic WebConf in April. What I want to do is just give everybody an opportunity to get to know you a little bit. So could you introduce yourself to us?
Tyler: Yeah, hey everyone, I'm Tyler. I'm currently a staff software engineer at Prisma. I love databases. I've liked databases for many years and I really get into database performance, which is how Kent and I got on a really good conversation there. And I was fortunate to be able to help out with some of the Epic Web content and now looking forward to speaking about that at Epic Web Comp.
Kent: Yeah, so I wanna talk about what you're gonna be speaking about, but to dive in a little bit more into what you do, how did you get into databases?
Tyler: Yeah, so for the first five years or so of my career, I was working building web apps and doing that kind of starting straight out of college and getting that practical experience in a small company where you kind of had to wear every hat there was. You kind of start to find, I guess databases are a common problem, especially for performance.
Kent: Hmm,
Tyler: And you
Kent: yeah.
Tyler: learn the tricks to solve those problems. And then as time went on, I ended up going to a company that specialized in database performance monitoring software. And that gave me a really deep dive into how indexes work, how statistics work, just general, like really deep database topics. And now I like sharing that and bringing that into Prisma.
Kent: Yeah, sweet. I think you're absolutely right. Like you can't go very far on the web before you touch a database, but a lot of developers kind of lean one direction or another. I know when I was like, before I went full stack and decided I just like it all, I very much leaned in the direction of front end and stuff. So what kind of leads you in that direction of databases?
Tyler: Yeah, that's a good question. I originally was more of a front -end developer. I spent a lot of time in React earlier on.
Kent: Mm -hmm.
Tyler: I think what I liked about databases was some of the challenge there in that I guess there's a lot of content around how to help with databases, but it's not as approachable to front -end developers all the time.
Kent: Mm,
Tyler: Like you said, you
Kent: yeah.
Tyler: kind of specialize one way or another. But once you start going more full stack, you start to see more patch solutions on top of database performance problems rather than getting to the root cause. And I
Kent: Yeah.
Tyler: really liked getting into that root cause. So maybe it's a root cause analysis is what brought me into databases.
Kent: Yeah, yeah, you know, I definitely can appreciate what you mean about seeing patched solutions to database problems. And I think, well, why do you think that is? Why do people just go ahead and try to smooth over issues that could be much more easily solved by addressing the database?
Tyler: Yeah, I think some of that is sticking to what you know.
Kent: Mm.
Tyler: I know JavaScript, I know C sharp or Java. I know these languages and I know how to work with them. So doing something like in memory caching or doing other querying techniques from the language perspective, that's something I know how to work with as a application developer. And maybe the database feels a little bit more foreign. So hopefully what I hope to do with. my talk is break down some of that and show that some of these concepts on the database like adding indexes don't have to be so unknown and they're actually very approachable once you kind of get a handle of them.
Kent: Yes, yeah. And database performance isn't all just about like, oh, add an index and now thank you for your 10 grand check in consulting. But like there's
Tyler: I'm
Kent: a
Tyler: gonna go to bed.
Kent: lot more to it that I guess can keep your attention as you get into that stuff too.
Tyler: Yeah, it can definitely get much deeper. I think in the talk, we'll really talk about the indexes specifically, because that's the first line of attack against the performance problems. But I'll probably tease a few more things of where you can go next to learn some more.
Kent: Yeah, okay, very cool. So let's go over a couple of the thoughts that you have for the talk. We are still like three months out or more before we get to the conference, but what are some of the things you're thinking about covering in your talk?
Tyler: Yeah, so I'd really like to set up sort of a baseline knowledge about databases. It's going to be pretty quick, so we can't get too deep. But just make sure everybody's starting with a common understanding of what we're going to be talking about. Epic Web is an epic stack is built on SQLite. So we'll kind of focus in on that. But the topics we'll talk about are going to expand to pretty much any relational database and then even some non -relational databases to a degree. We'll move into a lot of like how to analyze performance problems quickly and... I guess symptoms that would lead you towards leaning towards a type of index and then how to create that index both with Prisma and then what Prisma would generate is that the SQL version of that index to create it for you. And then we'll kind of wrap up with those like where you can go next to learn some more. I hope it is a very like pragmatic exercise. It's not like something you could just read in a blog post, but we'll get at some examples going. And I really want to share a lot of my experience too. There's a couple of times we'll interject with. some stories that I have of like how indexes have helped me and others to improve their software.
Kent: Yeah, yeah, that's great. I know that like there are places where you can get the the knowledge and the learning online and in your tutorials and different things like that but the stories are what really capture people
Tyler: Mm
Kent: in
Tyler: -hmm.
Kent: a talk and and the for me the job of a talk is to inspire me to go and learn more rather than to necessarily teach me much. I certainly I hope to learn a thing or two but Mostly the talk is there to show me what's possible and stories are a really good way to relate to situations. And you've got some good ones too, so I'm
Tyler: Yeah,
Kent: looking forward to that.
Tyler: I love the big stories that I won't share here because spoilers, but they're in the epic web interviews. So there's some fun ones.
Kent: Yeah, yep, yep, it's wild. So yeah, that sounds like a really fascinating topic to get into and especially for an audience that I'm guessing is mostly going to be experienced with front end stuff. Your experience as a front end developer, I think is going to help a lot in relating to the problems and things that we think about. It's interesting that all of the... And traditionally front -end frameworks are expanding their level of, I guess, what they cover as far as kind of coming back into the backend and kind of fooling people into being backend developers. That's what happened to me. And I'm, you know, happy about that. And so, yeah, I think you're going to have a lot of people there at the conference who are traditionally front -end developers, but maybe backend curious. And once you touch the backend, now you're like, oh, I... I mean, when I'm closer to the database, I may as well just reach in there just a little bit.
Tyler: Yeah, I'm excited for that. I've seen that trend too. And I'm actually really excited for all these frameworks going to like bringing front end developers more full stack. And maybe the opposite is true too. I haven't seen that much, you know, talk about that in the community. Maybe some backend developers are becoming front end now too,
Kent: Yeah,
Tyler: but it is exciting.
Kent: you do see traditionally backend frameworks getting more into the frontend aspect of things. And the attitude that I see from a lot of those is I just don't want to write JavaScript. And so if my framework can let me do frontend stuff without writing JavaScript, then I'm happy with it.
Tyler: Hahaha!
Kent: But to be fair, I don't want to write Ruby. I don't want to write PHP. So it just so happens. that my language of choice actually runs natively in the browser and it also can run natively on the backend too, so I'm the lucky one.
Tyler: Yeah, same here. I've used a lot of languages in TypeScript, JavaScript. It's definitely the most pragmatic that I've used, in my opinion.
Kent: Yeah, yeah. Well, Tyler, while we're at the conference, we're gonna have plenty of time for people to talk. We're gonna have extended breaks and things, and everybody, it's a single track thing, so everybody's gonna be seeing all the same talks. What are you hoping that people will come to talk with you about, and what are you excited to talk with people about while you're at the conference?
Tyler: Ooh, well obviously I love talking about databases.
Kent: haha
Tyler: So come tell me your database problems, I would love to hear them. Also Prisma, I love working at Prisma. I love engaging with the community there. So if you have good or bad to say, like come talk to me, John will also be there to talk with. And outside of, I guess, coding things, I also am really interested in the snowboarding there. I don't know if I'll get a chance to do it this time. The weather looks like it's a maybe.
Kent: Yeah, yeah.
Tyler: But yeah, outdoor sports, hiking, snowboarding, I'm into it.
Kent: Very cool, yeah, I definitely am excited for that as well. I am hopeful that we'll have some snow. This week it seems like it's springtime already. It's been kind of crazy, but the snow has a tendency to come back around. And we've got plenty of snow up in the mountains right now, but even if we don't end up with snow on the mountains, we'll still have like. beautiful things and fun things to do around here. April is a really good time of year in this area. You'll want to have a jacket, especially as it gets later in the evening, but you'll be comfortable and that's, it's a good time of year for that.
Tyler: Yeah, I went to remix comp the last two years and Utah is just a beautiful place.
Kent: Mm.
Tyler: I love it every time I go.
Kent: Well, I'm excited that we get to expose you to more than just Salt Lake City this year. We
Tyler: Yeah.
Kent: can go out to Park City, really, really cool spot, but still like super close. You know, I get off the airplane, hop into an Uber ride share or something, and then like a 40 or 50 minute drive and you're in Park City. It's pretty, pretty quick. And now you're like at the really at the base of the mountains. It's just awesome. So I'm looking forward to that, to
Tyler: Same.
Kent: having you out there. All right, well, thank you so much, Tyler, for joining us and giving us an intro to yourself, and I hope to see everybody in April.
Tyler: Thanks, kids. Thanks, everyone. Bye. Bye.