Whiskey Web and Whatnot

A whiskey fueled fireside chat with your favorite web developers.


88: Confluent, Kafka, and Developer Advocacy with Lucia Cerchie

Show Notes

When you think about the career journey of a software developer, teaching elementary school is not typically the first thing that comes to mind. But for Lucia Cerchie, Developer Advocate at Confluent, her elementary school teaching experience gave her a huge advantage in her work.

In this episode, Lucia discusses her work with Kafka, a distributed event streaming platform, and how she creates content to introduce developers to Kafka more easily, especially for beginners. She explains Kafka’s scalability and how it can handle large amounts of data in real-time, making it a great choice for processing high volumes of data. But Kafka isn’t the answer for everyone. Lucia emphasizes the importance of understanding the "why" behind using it and knowing when to leverage it based on the problem at hand.

Lucia talks to Robbie and Chuck about her journey from being an elementary school teacher to her career in developer advocacy, her work at Confluent with Kafka, and how she creates content to make complex technologies more accessible. 

Key Takeaways

  • [00:27] - Introduction to Lucia Cerchie.
  • [01:46] - A whiskey review: Barrel Bourbon Batch 032.
  • [06:45] - Hot takes from Twitter.
  • [14:21] - Lucia’s path to becoming a developer advocate.
  • [19:58] - Lucia explains Kafka.
  • [26:35] - Lucia explains Confluent and its business model.
  • [39:15] - Programming languages Lucia has used in her tutorials.
  • [44:17] - Chuck, Robbie, and Lucia talk about exercise.
  • [47:45] - Lucia talks about her hobbies.


[16:01] - “The motivation actually comes from back when I was teaching. Which is, I want to help other people learn and make teaching accessible.” ~ Lucia Cerchie

[25:03] - “Kafka's use cases are not just event-driven web apps. It’s things like main frame conversions, data pipelines.” ~ Lucia Cerchie

[40:08] - “I think I would recommend Python to absolute beginners to coding just because of the human readability of the language.” ~ Lucia Cerchie



Chuck Carpenter: [00:09] Welcome, everybody, to another episode of Whiskey Web. And whatnot with your hosts? Myself, Charles William Carpenter III, and Robbie the Wagner. Our guest today.

Robbie Wagner: [00:20] Wagner, Wagner, Wagner. I had to talk over you like you do to me every time.

Chuck Carpenter: [00:24] Yeah. This is what it really was. It was all a ploy. All right, who is our guest today? Oh, yes. Lucia Cerchie. That's how I always say it. Is that right?

Lucia Cerchie: [00:32] It's Cerchie.

Chuck Carpenter: [00:33] Searchy.

Lucia Cerchie: [00:33] Like to sign me up to go on a little searchy?

Chuck Carpenter: [00:35] Oh, I like it. I wish I would have asked that a long time ago or even before we started to record.

Lucia Cerchie: [00:40] It's all right. In Italian, it's probably like Cerchie or something.

Chuck Carpenter: [00:43]All right, so feel free to go ahead and introduce yourself.

Lucia Cerchie: [00:45] Yeah. So I'm Lucia Cerchie. I'm a developer advocate at Confluent. And fun fact about myself, I was an elementary school teacher for four years before I got into coding, and, yeah, that's me. We can talk about Confluent and Kafka probably a little bit later on, past the whiskey segment.

Chuck Carpenter: [01:05] Yeah, we'll definitely get into that, because I do think it's interesting. I like origin stories, and also I think it's an interesting combination of a very unique skill set to become developer advocate and developer relations in general. I always think that path is a little different and weird for some people, but for you, knowing that bit of information, it seems like, oh, yeah, that's a natural blend of course.

Lucia Cerchie: [01:28] Yeah. There's actually a lot of us former teachers in developer advocacy. You'd be surprised. I can think of three or four off the top of my head.

Chuck Carpenter: [01:37] Yeah. Well, that makes total sense. That's why they don't ask Robbie to do it.

Robbie Wagner: [01:41] Yeah. People don't like me. I can't teach children.

Chuck Carpenter: [01:46] All right, well, since I did the intro, Robbie, I think you should introduce this bottle of whiskey.

Robbie Wagner: [01:52] All right, coming in blind here, too, but we have Barrell. I know that it is bourbon. It is batch number 32. It is cast strength. It's distilled and aged in Tennessee, Kentucky, and Indiana, apparently. Selection of five, six, seven, and ten-year-old barrels aged in American white oak bottled in Kentucky. And let's see if our proofs are the same.

Chuck Carpenter: [02:14] Let's see. Yeah, I'm 115.34.

Robbie Wagner: [02:18] 115.34. They're usually not exactly the same.

Chuck Carpenter: [02:21] But because they're the same batch, that's why.

Robbie Wagner: [02:23] Oh, right.

Chuck Carpenter: [02:24] And they came from the same company, it's more apt too. So sometimes we have to buy them from separate places because he's in this little antiquated state called Virginia, and there's a lot of extra laws for some reason.

Robbie Wagner: [02:35] But it's a commonwealth, actually.

Chuck Carpenter: [02:37] Yeah. Okay.

Lucia Cerchie: [02:37] I feel like Arizona has the least liquor laws on the planet.

Chuck Carpenter: [02:42] Absolutely. Yes.

Lucia Cerchie: [02:44] All those bourbons been places.

Chuck Carpenter: [02:47] Well, that is their thing. The Barrell company are really big on blending different things together, doing some different aging processes. Basically, every batch is supposed to be unique. All right, so, unfortunately, we learned today that Lucia cannot join us in the tasting, so she will join us in the smelling, and I don't know feedback on that. What do you smell?

Lucia Cerchie: [03:09] Right. Yeah. I'm expecting, but I always think important part of tasting is the smelling. So let's see what I can pick up on anything here. I'm getting honey.

Chuck Carpenter: [03:21] Okay. I don't think there's any wrong answers.

Lucia Cerchie: [03:24] Whiskey. I feel like with bourbon and whiskey. You can say things like bandaid. People are like, oh, yeah.

Robbie Wagner: [03:31] Probably one of the more unique.

Chuck Carpenter: [03:33] Yeah. Bandaid from 1983. Very distinctly rubber and old glue and stickiness. I'm not sure. I don't know if I'd want to drink that, though I do get a little bit of the like, a honeysuckle, though. Like, maybe floral honey. Yeah.

Robbie Wagner: [03:48] I'm getting, like, a bag of almonds, maybe, like, some cinnamony almonds. Like some kind of flavor.

Lucia Cerchie: [03:56] Now that you're saying that, that's the other thing about tastings, is that whenever someone mentions it, then you could imagine what they said.

Chuck Carpenter: [04:04] Oh, now, I get it. Yes. Because you put that in my head. Yeah. Most of the descriptors, I think, are kind of made up and subjective because it's hard for my version of almonds. Might not be Robbie's version of almonds, so on and so forth. And I'm like almonds. Those are clearly walnuts. Well, now that I taste it a little bit, well, I get some leathery bits in there. It definitely has more of a bitter flavor than what I smelled.

Robbie Wagner: [04:30] Oh, yeah.

Chuck Carpenter: [04:30] Little heat, little cinnamon on the finish.

Robbie Wagner: [04:32] A little harsh.

Chuck Carpenter: [04:33] Yeah. Right? Yeah. So interesting. So I had one of the things I got this water for, obviously, just so you can have a sip of water if you need it or whatever, clear your throat. But also adding a few drops of water can change the flavor of whiskey.

Lucia Cerchie: [04:47] Right.

Chuck Carpenter: [04:47] So later, when you're able to have this, it's always nice to try it as is, especially, like, cask strength and really strong ones like that. It's nice to have it as is, and then nice to add just a few drops, let that open it up, add a little oxygen there, and then see if it changes things. It's almost like getting to try two different whiskeys.

Lucia Cerchie: [05:03] So is that a reaction between the H 20 and then whatever's in the alcohol releasing oxygen?

Chuck Carpenter: [05:08] Well, you're the first one to try and call me out on that, so I'm going to say yes.

Lucia Cerchie: [05:12] There we go.

Robbie Wagner: [05:13] That sounds scientific.

Chuck Carpenter: [05:14] Yeah, it does. Yes. I learned that trick from, like, a fancy whiskey bar in DC. Where when they would bring you a pour, they would also, like, if you wanted, you can have some cubes on the side, and they would bring you, like, a little dropper so that you could do that as well. I was like. This is cool. All I know, it does change it.

Lucia Cerchie: [05:31] Yeah.

Chuck Carpenter: [05:32] I'm going to say it's the chemical reaction, for sure. Yeah. All right. So now we go on to the ratings. Obviously, your rating will be a while down the line.

Lucia Cerchie: [05:40] Yeah. Let's just give it like a 7.9.

Chuck Carpenter: [05:44] Love it. It's like the best thing you've ever smelled. Almost in the whiskey.

Lucia Cerchie: [05:49] At least while I'm pregnant. Yeah. One of the best things I've ever smelled.

Chuck Carpenter: [05:53] You have to smell it periodically and see if it changes for you as hormones develop.

Lucia Cerchie: [05:58] It certainly will.

Chuck Carpenter: [06:00] What do you think, Rob?

Robbie Wagner: [06:01] So I'm biased because of Barrell being so fantastic at everything. I'm going to say this one is not as fantastic as there are other very fantastic ones. So I'm going to give this one a five.

Chuck Carpenter: [06:13] Yeah, I was kind of a little back and forth there. I will be interested to see how this one opens up over time or something, but right off the bat, it's a little bit harsh and had a really nice smell, but the flavors initially are like, I don't know, it's a little too cinnamony burny leathery for me right off the bat. So I'd probably give it a five, too. And that's just really comparing them to themselves because they've had a lot of other fantastic bottles.

Robbie Wagner: [06:40] Yeah, if you're comparing it to other stuff, every Barrell is like at least a seven. They do really good stuff.

Chuck Carpenter: [06:46] Right. So technical things. Do we go right into hot takes, or do we want to talk about other stuff?

Robbie Wagner: [06:52] I never know what we do on this podcast. We do what we want. So yeah, I think we do hot takes first.

Chuck Carpenter: [06:58] Just some hot takes. Yeah. We like to ask some regular questions that we see people argue about on Twitter and just get people's normal opinion. Not when they're behind the veil of the doge now.

Lucia Cerchie: [07:10] All right? Sounds good.

Chuck Carpenter: [07:12] Okay, good. I'll start with the first one because it's the one I remember, and I can't reach my laptop to look at notes. Git rebase or Git merge?

Lucia Cerchie: [07:19] Great question. I prefer Gitt merge because the last time I was working on, like, an NPM project, when you do Git merge, it kind of collates the different commits together nicely so that you can see if you look at the history on NPM, like, what was added with each of the commits. That's my preference. I know we have rebase because then you can save all of the commits when you merge back into the history.

Chuck Carpenter: [07:44] Right.

Robbie Wagner: [07:45] Yeah. I mean, I don't think there's really a right answer. The thing that I dislike about merge is that you get that one that says merge in it.

Chuck Carpenter: [07:52] Yeah.

Lucia Cerchie: [07:53] Yeah.

Chuck Carpenter: [07:54] That's the only thing. Whether you like squashing or not, I think, is another thing. But if you're rebasing and still really kind of treating it as a merge and merging everything in, then you get everything atomic and not that one. Like, I merged this.

Chuck Carpenter: [08:07] Yeah. Maybe I'm weird, but I think that it depends on when you're using it. If you're updating your branch from Master. I like rebase. I don't like the whole merge-in from Master kind of thing for updating the branch. Otherwise, I like merge. When you're actually just merging in your code into the main branch. Squash and merge is kind of nice if you've got a messy team who likes to save all the time. But otherwise, if you have a set of rules that your team follows that makes sense to everyone in that, then that's a good way to go too.

Lucia Cerchie: [08:39] Right? I think it's about remembering who's going to be reading it, and that can help you make your decision.

Chuck Carpenter: [08:46] Right. Yeah. Because if you're talking about a private production application versus an NPM package, it's a vastly different audience there, and what you need to be clear for your change logs and things like that is probably pretty different.

Robbie Wagner: [09:01] Yeah, it definitely depends. I don't know how into CSS you are, but Tailwind or Vanilla CSS, so.

Lucia Cerchie: [09:11] I am not enough into it to have a strongly held opinion there.

Chuck Carpenter: [09:16] Okay.

Lucia Cerchie: [09:17] Trying to think it through. I mean, I've used both but lightly, so I think their prop is probably one of those things where it's like, well, what are you using it for?

Chuck Carpenter: [09:26] Indeed. Yeah.

Lucia Cerchie: [09:27] What's your opinion?

Robbie Wagner: [09:28] Chuck would say no styles ever, would be his answer.

Chuck Carpenter: [09:32] Yeah, I don't want to do any of that stuff anymore. Well, before we jumped on how you were saying more just base skills, not hotness, all that kind of stuff, I think for a small project, maybe personal project or something, just keep it as simple as possible for your users. I don't mind Tailwind when I'm basically looking at their UI component library and just want to quickly put something together. Doesn't look like material UI or something like that, I can get on board with that, but in general, I want to avoid those things altogether. Either way, my choice is someone else do it.

Robbie Wagner: [10:05] Yeah, that's fair.

Chuck Carpenter: [10:07] What do you got for another one? Or we can move on to regular topics.

Robbie Wagner: [10:10] I thought we had more, but maybe you didn't copy over the most recent ones. But the only one we have left here is for TypeScript. Inferred types or explicit types.

Lucia Cerchie: [10:21] I have not used enough TypeScript. I just made my first project that I actually published out with it. I mean, I've used it in other code bases at work and stuff, but yeah, and I'm pretty sure I used very explicit types in that one. It's like a little compiler that teaches people how to use compilers used Oak Cliff, which is a framework from Facebook to build it, and it's been a fun side project, but yeah, I'm still cutting my teeth on TypeScript, so I'll defer to Chuck on that one.

Chuck CarpenteL[10:51] Yeah. So I think that you should try and trust implicit types right? As best, you can.

Robbie Wagner: [11:01] But should you?

Chuck Carpenter: [11:03] I think so. I think it just kind of depends. Obviously, if you're talking about like from dependencies. You should try and trust those if you can. And obviously, if you run into an issue with that somewhere in your code base and you go, and it ties back to the original project, then you should submit a pull request and again, try and fix that. And then otherwise, obviously, even trusting implicit types from your variables and stuff like that can be pretty nice. So I think that keep it simple is my rule of thumb most of the time until you just can't. So I've been in projects where they heavily depend on GraphQL schema to create the types, and that ends up being like messy all over the place.

Robbie Wagner: [11:49] Gross.

Chuck Carpenter: [11:50] There you go.

Robbie Wagner: [11:51] Yeah, I think keeping it as simple as possible is good. But you should always double check it because that's, like, I'll use the inferred type, but I'll hover over it and make sure it's giving me the inferred type I expect because sometimes it'll be, like, instead of a string, it'll be like a string array or, like string or null or, like something extra weird. And I'm like, why is it that?

Chuck Carpenter: [12:11] Yeah, the or null stuff can get a little rough sometimes.

Lucia Cerchie: [12:14] The whole job of TypeScript is to make sure you get what you expect, right?

Chuck Carpenter: [12:18] If it's not and you're having to work around it, then something is, well, awry.

Robbie Wagner: [12:23] I found something that I cannot solve. It's the first thing I could not do at all in TypeScript. And maybe I'm dumb, but if you write your own decorator and you want to type that, like, your decorator function is going to return a thing, you can't. And maybe that's because Ember uses legacy decorators, and TypeScript is trying to use the newer stuff.

Chuck Carpenter: [12:48] Right.

Robbie Wagner: [12:48] But no matter what you do, it's like, expected your decorator to return any or void. So I just gave it an any, said, I will do as you command. Here's an any and let's go.

Chuck Carpenter: [13:03] You can do typecasting and stuff like that, but again.

Robbie Wagner: [13:06] You can't, though. I did that too. I did this whole decorator thing as the thing I actually wanted to be because I thought I was being smart there. And it goes, we expected this to return void or any. I was like, okay, I'm done with you.

Chuck Carpenter: [13:19] Right.

Lucia Cerchie: [13:20] Well, we should put that out to the audience.

Chuck Carpenter: [13:22] Indeed, someone in the Ember community should figure out how to meld those things together and fix it. Their version of decorator, I mean, that just feels like a problem deep within the inferred types of Ember decorator versus the spec now or whatever.

Robbie Wagner: [13:40] Yeah, well, I mean, if you want to go into this, we can, but I don't know how deep you want to go. But the TLDR is because it's a factory, like a decorator factory. Instead of a function, it's like a function that returns a function that returns the thing you want instead of just being a function. So it's like, I don't know, there's special things in there that TypeScript is trying to be smart about, and it just doesn't work the way it should. So I don't know.

Chuck Carpenter: [14:08] Yeah, that sounds like one to post on Twitter and see what people think.

Robbie Wagner: [14:12] Yeah, I'm sure ThePrimeagen knows how to fix it.

Chuck Carpenter: [14:16] Only in Rust.

Robbie Wagner: [14:17] With Rust. Yeah.

Chuck Carpenter: [14:18] Just fix it by rewriting it in Rust. That's what he always says. All right, so we were talking about developer advocacy and the path to get there a little bit already. So yeah, I always thought that was a very interesting, necessary, but challenging career move, especially from someone coming direct from software engineering and having to turn that into, I think you definitely have to, in a way, develop a personal brand around that to start to showcase that. Yes, I can connect with, have the communication skills, and all of that. Was that a big part of your journey in getting that career?

Lucia Cerchie: [14:56] Yeah, it was. So before I did a coding boot camp, I had spent a year doing some digital marketing on the side, like contracting out to different companies. One of them was a SaaS, and that's how I learned about how fun coding was and got into that. But the digital marketing really helped because I learned to build up my presence on social, which is really important for developer advocacy, as well as kind of like learning about content plans and content reuse. Those kinds of things came a lot more naturally. It was something that I was doing in my first role at StepZen, which is GraphQL. I think they've been acquired by IBM now.

Chuck Carpenter: [15:35] Good for them.

Lucia Cerchie: [15:35] Yeah, good for them. In that role. I was both engineering but also doing a lot of content and a lot of advocating the community, like jumping on live streams and things like that. And so, from there, it was a natural move into developer advocacy. But really the motivation behind it all, knowing things like, oh, when we talk about SEO, this is what it means, and that's helpful, but the motivation actually comes from back when I was teaching, which is like, I want to help other people learn and make tech accessible.

Chuck Carpenter: [16:08] And that makes a lot of sense because a lot of the content you're putting out right now is a gateway to introduce developers from all different languages, various platforms, and whatnot to take a look at and see how easily it is to set up Kafka.

Lucia Cerchie: [16:23] Right.

Chuck Carpenter: [16:23] That's what I found in some of the videos that I saw.

Lucia Cerchie: [16:27] Yeah, no, it's definitely a fun challenge because one of the talks, there's a couple of different reasons I think about. I don't have the number off the top of my head, but it's like 30% of people responded to the Stack Overflow survey say, like, oh, we dread Kafka. And it's because maybe if you're not used to the pub-sub or publish-subscribe pattern, there is an unfamiliar kind of data structure behind it. So going through that I find is helpful. But then also connecting people into community, that's another thing that I love doing as a developer app, because making connections like, oh, this person's trying to learn Python. Well, I have a Python person for you. That's one of my favorite things about it is being in the community and introducing people to that.

Chuck Carpenter: [17:14] Yeah, no, that sounds great because I know that there's only one time I've actually had some crossover and experience with Kafka, and that was years ago at National Geographic, and we were working on an application that had some real-time pub-sub things to it. But it was pretty new at the time, and Apache isn't really known for being like noob and introductory friendly. So that's what's been great about your content so far, is it's sort of like, oh, if you want to get into this, there's actually ways to a getting started, a basics guide. So I think that your content has been really great around that. But I still sort of have the questions as to you've shown a lot of the how, and it's sort of like I have a lot of questions around what is the why? When would I look for this tool? When would I reach for this? And how big does my problem set need to be without doing things like service workers or something else?

Lucia Cerchie: [18:02] Sure. Yeah. So I was thinking about that this morning, and I was like, how am I going to describe this to an audience of web developers? So let's talk about Wordle. Let's pretend we're the New York Times, and they're going to ask from the puzzle team, and they want to know what moves people are making, what's the final outcomes, what words are good or bad. And they want a quick turnaround on that so that they can develop new puzzles in case the one for the next day was, like, bad, according to the analysis, as soon as possible. How are you going to do that when the events and Wordle are stored in the browser in local storage? Right. If you delete your browser history, there goes your Wordle streak, unfortunately. How do you persist that data? You could use a small database, but what if your goal is to have everybody in the world play Wordle every day? Kafka is really good at handling a truckload of data, and it's good at doing that in real-time. So that would be a great thing to choose because it's also scalable. Like if you don't have as big a need at first, Kafka has well, we can get into the structure of it after this, but things can store these events or move the players in something called a topic that's split up into partitions, which are on different servers in a cluster, which means that you can scale it. Any questions after?

Chuck Carpenter: [19:22] So when you say cluster, most of my familiarity around a cluster is like Kubernetes. Right. So a cluster of nodes around that is it maybe just like the same architectural ideology, or is it actually similar in terms of, like, you really do have a cluster of multiple servers in that same way?

Lucia Cerchie: [19:38] Right. My impression is that its multiple servers.

Chuck Carpenter: [19:40] Okay. Yeah. Versus, like, the VM ideology, you're actually scaling up in physical hardware.

Lucia Cerchie: [19:46] Yeah. So you can use it you can use it on your own servers and use it that way, but you can also put it up in the cloud.

Chuck Carpenter: [19:54] So that spark any questions from you, Robbie?

Robbie Wagner: [19:58] I don't know. I feel like we could take a step back and just talk about it. Not technically. Like, what is it to someone who isn't a developer? Right. How would you describe it?

Lucia Cerchie: [20:10] Right, so it's an event streaming platform, but everything's a platform. Right. I feel like we need to go into more depth there. So what it really does is that when you're using Kafka, you're using event-driven design, which is different from a design in which, so, say, you were storing those moves in a database. And what you might be having your developers do in order to get the information over to the puzzle designers is make a request to an API, which then uses an object-relational model to execute a query in the database. And then that comes back, and then you get the result, and then you execute some logic based on whatever the result is. So with Kafka, what happens is you have something called a consumer that is subscribed to a topic, and as soon as an event, which in this case would be like a move of a player, arrives there, the consumer consumes it immediately. It's asynchronous. So that way, all you have to worry about is, like, how are you going to handle the result value of the event?

Chuck Carpenter: [21:14] Got you. Okay. Yeah. Instead of saying, I've got a database related to a user that are their moves, and then maybe I'm trying to throw that into some connected data lake or something weird like that. Instead, I'm more curious about the event. And that's the data that I'm going to later on query and see what results were around. Moves to today's puzzle all go into this other database or this other place where all of those are stored. Because me, as the puzzle designer, I'm less concerned about who made the moves, but what the moves were and how successful things were or not. And scaling up difficulty depending upon how well players are doing.

Lucia Cerchie: [21:53] Yeah. And you can aggregate and filter those events. In Kafka, there's a Kafka streams API, so that instead of having to collect your events on, I'll call it, the client side, for better term, but instead of having to collect your events on the other end, you can create an aggregation that's like, okay, show me every time it takes more than 30% of my players population. If they all lose the game, let me know.

Chuck Carpenter: [22:24] Would you say? It's probably a service of scale, though. Basically, if I want to create my own Wordle, I probably don't need Kafka unless I have a lot of users.

Lucia Cerchie: [22:34] Yeah, that's what I would say. I don't have Kafka on my personal website. I think I'm just using an SPA from Facebook that it's interesting enough like a documentation framework getting saw later. But yeah, it's definitely something for either at scale or if you do want that event-driven design. It's a good thing to choose for that reason, too as well. But yeah, the scalability is really a good feature. The other thing is you can have multiple consumers subscribe to those events, and you can also have multiple they're called producers, but the publishers that write to those topics to the same topic, and that makes it scalable as well because you can add those instances as you need them.

Chuck Carpenter: [23:17] Okay. Yeah. It seems like games are an excellent use case for it.

Robbie Wagner: [23:22] Anything real-time.

Chuck Carpenter: [23:23] Yeah, I was going to say we were looking at it for real-time interaction on an app. So it was this thing called your shot, and people would submit photos in, and they would get like they could be just randomly on a subject matter or it could be a contest or whatever else, but like real National Geographic photo editors would comment and give feedback and stuff like that. But it had a very engaged community, too, and it was real-time stuff there.

Lucia Cerchie: [23:48] It can handle a lot of messages very quickly in real-time.

Chuck Carpenter: [23:51] Yeah, exactly.

Lucia Cerchie: [23:51] Yeah. That makes for a great use case or makes for a great problem.

Chuck Carpenter: [23:57] There you go. More of like a problem where this might have made sense. Yeah. I think this particular subject matter, though, we can talk a lot about because it's been around for a while, but it's sort of, I think, for like a regular web dev, it's a bit of an analogous bit of technology that isn't commonly introduced. And it sort of does feel like it's this large thing that's enterprise based that some massive back-end architect brings into play. And that may not always be the case.

Lucia Cerchie: [24:27] Yeah, if you're looking for real-time and you want to make that work in your app and definitely use it, it's accessible, I think, a lot through different clients too. It's available to developers in .Net and Python, and Node. So that's nice. And it's also, I think, one of the things that makes it maybe a little bit more difficult to understand when you're first coming to it, at least it was that way for me, was the wide variety of applications. It's almost like a database. You could use that for a lot of things. So Kafka's use cases are not just event-driven web apps, which is what we've chosen to talk about today. It's things like mainframe conversions, data pipelines. It was developed to solve this problem LinkedIn, which was tracking clicks, click streams.

Chuck Carpenter: [25:19] Oh, interesting. Yeah. And there's a lot of those, I hear. So what would be a competitor? Because it's been around for a while.

Lucia Cerchie: [25:27] Yeah, it's a great question. I would need to look more of that up. When you're looking at using it, it's an open-source piece of software. It's an open-source platform, so you can always look at the different companies that are building solutions based on it and determine your solutions there. There's also different pieces of Apache software that are built to deal with different data situations. So if you're thinking about dealing with a ton of data, definitely look at all your options and make sure that you've chosen the right one there.

Chuck Carpenter: [26:00] Okay.

Robbie Wagner: [26:01] Just to follow up on that, I think I wouldn't call it a competitor, but something similar is like just Socket, right? Like socket.io. It's kind of like pub sub-y data going back and forth kind of thing. But I think that's like the dumbed-down version of like. It doesn't really do anything else. It's just like, here you go.

Chuck Carpenter: [26:20] Yeah. And each one kind of has a singular function. Right. So.

Robbie Wagner: [26:24] Yeah.

Chuck Carpenter: [26:25] You then have to think about a different socket per singular function and go from there. But I can see where it's like kind of an intro to Kafka-esque event management. So you work for Confluent. Maybe explain a little more about what is the business model of Confluent and how that ties in, right?

Lucia Cerchie: [26:43] Yeah. We offer Kafka solutions. So one of them is that we can help you get Kafka into the cloud very quickly and easily. It's how I do all my demos, cluster in the cloud, and that I have sent to K2, and then I work from there. It's pretty easy to do, like, in five minutes. So that's one of the things that we offer. And there's also all sorts of tools that we develop. Some of them are open source, like CLIs, things like that. And then also my team is the Developer Experience Team, and we're really into teaching people about Kafka in general. So there's a whole portion of our website called Confluent Developer, and it's got a ton of courses as, like, an elementary school teacher, like a former teacher. I kind of love it because there's video courses, but there's also, like, if you just want to grab some code, there's templates up there too. And just a bunch of different ways audiobooks, different ways to learn. Podcasts.

Chuck Carpenter: [27:37] Yeah, I think that's nice because I think everybody learns a little bit differently. I started originally learning just through picking up some books and doing a few tutorials, and yeah, video stuff is a little more it's later for me, but I like books because I'm moving at my own pace.

Lucia Cerchie: [27:51] Right? Yeah. Videos are kind of annoying because it's like pause.

Chuck Carpenter: [27:54] Now let me do this.

Lucia Cerchie: [27:56] Yeah, I like the video formats when I'm listening to someone explain a broader concept. Maybe not something like strictly code-related, but something that I have to understand in order to code. Well, that's one thing. I enjoy videos and podcasts for that reason. And then, when I want to really get down into it, I look for some text or just read the docs.

Chuck Carpenter: [28:19] Right. Sell me on Vim. And now I'll go do a tutorial with Vim.

Lucia Cerchie: [28:22] Right?

Chuck Carpenter: [28:23] Something like that. That's one of Robbie's goals. Neovim or just Vim.

Robbie Wagner: [28:28] I'm just trying to use my new keyboard first, and I haven't even gotten through that because I have to get work done.

Lucia Cerchie: [28:34] Is it one of those with a different mapping than usual?

Robbie Wagner: [28:37] It's got, like, thumb thingies. I don't know, thumb clusters. It's the one ThePrimeagen uses. So, like, backspace is no longer up in the top right. It's like, on your thumb, and then your other thumb on the other side is, like, Enter or vice versa. I don't remember. So it's very confusing because I'm like, oh, let me press all the buttons that I'm used to, and it's, like, in the wrong spots.

Chuck Carpenter: [28:58] Well, that's the other part of it is nothing is marked. It's all blank keys.

Robbie Wagner: [29:02] No, it's marked.

Chuck Carpenter: [29:03] Is it?

Robbie Wagner: [29:03] I didn't get the unmarked version. He did post one recently where there's nothing on it. But he uses Dvorak anyway, so he doesn't care what they say.

Chuck Carpenter: [29:11] Yeah, he has a lot of layers of complexity, and obviously, he's been at it for a while.

Lucia Cerchie: [29:15] This is bringing, like, Don Norman to my mind. You know, he's the person who wrote The Design of Everyday Things.

Chuck Carpenter: [29:21] Oh, I know that book. I'm not.

Lucia Cerchie: [29:24] He talks about this thing. So it's it's making me wonder, like, how conventional are keyboards and then how much of it is actually in the way that our hands work. And he has this idea called an object-relational mapping. So, like, if you press you have a car door, and you want the window to go down, you press down, and then if you want it to go up, you pull up. It's making me wonder what the object-relational mapping should be when it comes to spaces and a space bar and then the back bars and all that.

Chuck Carpenter: [29:51] Right.

Robbie Wagner: [29:51] Depends who you ask, I think.

Chuck Carpenter: [29:52] Yeah. You don't think the folks who invented the typewriter had it, right? I know there were some reasons for selecting that mapping, and that was the whole Dvorak thing of, well, it should.

Robbie Wagner: [30:01] Be well, their reasoning, and this is what I've heard, so I don't know if it's true. Someone can look it up if they want, but what I heard is they did it to actually slow you down because the typewriters would get jammed if you typed too fast. So it's an unoptimal format. So Dvorak fixes that and puts all the things you would use most in really close to the home row. So you're just like barely moving. That's what I've heard. I don't know if that's all true.

Chuck Carpenter: [30:27] But you haven't approached that yet to test it out.

Robbie Wagner: [30:30] It's going to take me like a year to get used to the keyboard, and then I will switch the keycaps to Dvorak, and then I'll learn Vim. Like, vim is years off.

Chuck Carpenter: [30:39] Okay, fair enough. Like mapping steps for you. I'm not sure I'd start with that crazy keyboard. But you do you?

Robbie Wagner: [30:46] I'm starting with that because my wrists hurt a lot, and when I type on that, they don't.

Chuck Carpenter: [30:51] And then maybe that is the object-relational map of you're getting older, and it starts to hurt. I mean, that's why I have a tent keyboard, to begin with. And that weird, like, stand-up mouse thing and all that. Because getting old sucks, that's why.

Lucia Cerchie: [31:05] We're just typing a lot. Yeah, I'm already getting the call that tennis elbow or something like that.

Chuck Carpenter: [31:11] Yeah, you got to learn some stretches. So the tent keyboard does tend to help because it keeps you like this. Even with normal keys. It's actually pretty decent if you're experiencing some issues. I suggest that.

Lucia Cerchie: [31:23] Yeah. I also think this relates also back to developer experience because what we've been talking about is user experience. But what have been like an interesting question in my mind recently is what are the conventions in the things that we use, like command line interfaces and things like that, that we should expect and that we should hold. Like as we develop developer tools, we should hold them to. So, for example, like in a command line interface, usually you have one thing that starts the command, and it's one verb or word that prefaces every command you're going to have. I think in the confluence, it's like Confluent.

Chuck Carpenter: [32:00] Right.

Lucia Cerchie: [32:01] But it's also something that it's interesting because what it takes is experience with a wide variety of developer tools to know how that works. When I am creating a process for users to authenticate to my API, how should I set that up? You definitely run into some quirky APIs where that authenticating process is really difficult.

Robbie Wagner: [32:24] Yes.

Lucia Cerchie: [32:25] And it's not documented well.

Chuck Carpenter: [32:27] Yeah, well, and there you go. So that's kind of an interesting topic that I didn't really think about in general that we could approach because developer experience is sort of a hot word. Well, words DX is what I was thinking. So the acronym, but that's letters, not even a word. It's not even a word. But it's not even an acronym because experience starts with an E. Okay. Anyway, it is a wide net. There's a large net cast. There about a lot of different things. And it's interesting that you think about it from a tool-like hardware tools perspective. You can think about it from a CLI emergent patterns there that we're used to. That's a thing documentation is part of the developer experience. Because in general, the intent is how can you maximize productivity, ease knowledge, gain, and then in turn solve the problem in the end. And it's like all of these things are a part of that. Right? It's like, how can I find information on the API? How can I spin up a sandbox in order to test some ideas that I have? How can I get my work to production, and what is that process? And that is part of the developer experience. It's like all of these things altogether. And it's interesting that it's all considered kind of the same thing. And I think it's all being kind of figured out. Like you have these ideas around developer advocacy, developer experience teams, platform teams that are put in place to improve developer experience for product teams, things like that, that's all part of that similar thing. So I hadn't really considered it from the basis of just the hardware you're using. Like, what's the keyboard? What's the keyboard layout? That's the most idea that's ideal for the work we do. And then yeah, when I'm going into a CLI, there's certain things I can assume and know without even getting into a documentation until someone does it differently.

Lucia Cerchie: [34:21] Right? Yeah. And it's really, I think the common theme between user experience and developer experience is the empathy that you need to have for the person who's going to use the end product. That's something that I've been working on recently, and my teammates have been really good about reminding me. Like I've been writing some demos recently in order to get like there's AES data, which is I don't know if either of you I was not familiar with it before I started the project, but it's like live data that boats send out.

Chuck Carpenter: [34:48] No idea.

Lucia Cerchie: [34:49] Yeah, then they send it out to a port, and you can pipe that into Kafka and do fun things, analyses on it there. But I was writing this demo, and my teammate was reviewing it goes. Oh yeah, how would you do this on Windows? And I was like, oh yeah, we're also naturally like I'm naturally self-centered. I'm just thinking everybody's using my machine, right?

Chuck Carpenter: [35:10] Yeah. Because the browser wars are over, and in general, you can write more ubiquitous code that runs everywhere for the most part. But then, yeah, there's times where you have to think about speed because is your audience worldwide? Not everybody has the Internet connection we have. Not everybody uses the primary device we have. I've had times where you have to, like, oh yeah, other developers aren't on a Mac or Linux machine, and now it doesn't run on their Windows machine, their version of, but I think that's been improved too, right with the recent Windows.

Robbie Wagner: [35:41] That has been fixed because you can install a Linux subsystem on Windows, so you don't have to use command line or command prompt, I guess.

Chuck Carpenter:[35:49] Yeah.

Robbie Wagner: [35:49] Whatever they call it. The thing that uses all the wrong key commands.

Chuck Carpenter: [35:55] Right.

Lucia Cerchie: [35:56] And not everybody's at the same knowledge level either, which is like I used to be when I was just beginning learning how to code. I used to be a lot better about spelling out all my acronyms. Now I'll need a reminder, like CLI. You should spell out command line interface. Right. Because someone might be using that for the first time.

Chuck Carpenter: [36:11] Right. At least, like, somewhere early on.

Robbie Wagner: [36:13] As long as you don't say CLI.

Chuck Carpenter: [36:15] Some people do that.

Robbie Wagner: [36:16] Have you heard anyone do that? I have.

Lucia Cerchie: [36:19] Actually. I haven't. I'm sure I will.

Chuck Carpenter: [36:22] But that was a thing in the Ember community. The Ember CLI.

Robbie Wagner: [36:25] Gross.

Chuck Carpenter: [36:26] A few things like that.

Lucia Cerchie: [36:27] Like a tongue in cheek.

Chuck Carpenter: [36:29] No, I just think that somebody who talks a lot started calling it that, and everybody globbed onto it. I don't remember who it was, but I remember hearing that sometimes.

Lucia Cerchie: [36:37] Yeah. I feel like the tech community is very like in language discourses in general. You have the people who are like the grammar people who are like, you have to go by the rules, and then you have the people who are like, well, it's the use that determines the rules, so we should go by the use. And I feel like the tech community is very like, oh, yeah, we'll go by whatever people are using.

Chuck Carpenter: [36:56] Right, yeah. We get a little lazy. I think that's what it is. I like to speak in emojis and gifs.

Robbie Wagner: [37:03] Yeah, it's all you need.

Chuck Carpenter: [37:04] What do you think, GIF or GIF, by the way?

Lucia Cerchie: [37:06] I used to say GIF. I say GIF now because too many people have jumped on me.

Robbie Wagner: [37:13] I say GIF because it's correct, and you heard it here first. I think both of them say GIF. Right. You say GIF, too, Chuck.

Chuck Carpenter: [37:21] Yeah, I say GIF.

Robbie Wagner: [37:22] So you do it wrong.

Chuck Carpenter: [37:22] It's not jiffy. You go into the jiffy.

Robbie Wagner: [37:25] Yes, it is.

Chuck Carpenter: [37:26] Jiffy?

Robbie Wagner: [37:26] Yes, because it's the play on words. It's quick, and it's like an image, and it's like the whole like they have their thing that's their.

Chuck Carpenter: [37:36] Get off my lawn.

Robbie Wagner: [37:36] Not a logo. But they did like the GIF peanut butter thing or whatever. It's GIF, but they say it's GIF.

Chuck Carpenter: [37:43] Choosey devs, choose GIF. Is that what it is? You remember the old commercials, choosy Moms, choose Jiff.

Robbie Wagner: [37:49] Yeah. We'll never all agree on it, so it doesn't matter.

Chuck Carpenter: [37:52] Yeah, there's so many of those things. But see, improving the developer experience is having the same language, I think. So we should figure that out.

Lucia Cerchie: [38:00] Well, yeah, maybe just put a little guide on the documentation like you have in the dictionary on how to pronounce.

Chuck Carpenter: [38:05] So I can't wait to get the next Gif that you send to me.

Lucia Cerchie: [38:10] Okay, so I'm going to go way back here, and the reason I pronounced it GIF is because I used to be like a literacy coach, and the rule in English is like if you have an I right after a G, you say Gi, like giraffe.

Robbie Wagner: [38:27] Yeah. Chuck, is it a giraffe?

Chuck Carpenter: [38:31] Yes, isn't it? I love giraffes. Cute. They'll lick you. It's nice. Giraffe. I don't know. The English is.

Robbie Wagner: [38:42] GraphQL.

Chuck Carpenter: [38:42] Very difficult.

Lucia Cerchie: [38:44] I mean, there's rules, but that's like there's probably twelve exceptions for everyone. So is it a rule?

Chuck Carpenter: [38:49] Right? Like there are these rules, and then there's like somebody that comes in and completely breaks it, and they're like, but this is why it's fine.

Lucia Cerchie: [38:55] Yeah, I feel like almost coding languages are almost easier than spoken languages that way. Because if you do something that's not going to work, it doesn't work. You can see it right away. It's like, oh, here's my well, at least the ones that have that check at compile time, right?

Chuck Carpenter: [39:11] Yeah, there's some nice ones there with like error checking and and what. Whatnot? So you've used a few different languages. Now in creating some of these tutorials, I saw Python and JavaScript. What else have you?

Lucia Cerchie: [39:22] Yeah, so I didn't create the Python one. The tutorials that I have created all on my own are mostly command-line phase-based. But yeah, I've done a couple Node projects, and I actually believe in trying out with a new concept. I have to pick my third language for Kafka because I like trying out the new concept in three different languages. I did API tutorials in JavaScript going and Python, and then I was like, I feel like I know what an API is better now because I can pick out the commonalities a little bit better when you do things at least three different times in three different ways, right, or at least use different clients. Yeah, I've used JavaScript the most, and then probably Python after that. And I've played around with Golang.

Chuck Carpenter: [40:06] Go is nice, Go is nice.

Lucia Cerchie: [40:07] I think I would recommend probably Python to be like absolute beginners decoding just because of the human readability of the language, and then it's also a little less prone to.

Robbie Wagner: [40:21] That's fighting words.

Lucia Cerchie: [40:23] Yeah, the errors that JavaScript has because you have to add TypeScript to get type checking.

Chuck Carpenter: [40:26] He needs brackets to understand any.

Robbie Wagner: [40:29] I have to have brackets because I agree that Python is a good language. However, if it had brackets, it would be amazing because the best part about brackets is you don't have to ever hit the spacebar or return or anything. You just put the brackets in and then go auto format, boom. It just formats to the right spacing. So I don't want to have to hit space all the time like you have to do in Python. That's my complaint.

Chuck Carpenter: [40:53] The human readability of Python is really nice, though it's been a pretty long time since I touched it. But at that time, I was writing CoffeeScript and Python, and they felt kind of similar. Neither had brackets too and so it was just like.

Robbie Wagner: [41:06] They were very similar.

Chuck Carpenter: [41:07] Yeah, easy context changes there, so I enjoyed that. I only touched a little bit of Golang when I was at Acquia just because some of my teams were using it for microservices, and it was like, oh, let's see what's going on here, and that looked pretty nice. But I just hear about Rust all the time, and I feel like it's my next thing to check out.

Lucia Cerchie: [41:26] Why is that?

Chuck Carpenter: [41:27] Because people won't shut up about not trying it.

Lucia Cerchie: [41:31] Got you.

Chuck Carpenter: [41:31] Eventually, the peer pressure. has come down on me.

Lucia Cerchie: [41:33] There's no like I need to do this project in Rust.

Chuck Carpenter: [41:37] No. I mean, I tried a project in Elixir, and I thought that was interesting, but it didn't blow me away. People really tend to enjoy that. But I was like writing an API in Elixir, and it felt like it was a lot of work from an authentication standpoint. And then I switched that API to serverless in TypeScript, and it was like boom, boom, boom, and I'm done. So that use case didn't work great for me, but I'm very interested in the WebAssembly, and Rust is obviously closely tied to that, even though you can write web components in JavaScript and compile the WebAssembly. But I don't know. It just feels like a little more natural, and you can write some CLI stuff in it. Everything.

Robbie Wagner: [42:15] Yeah, a lot of CLIs and terminals and different stuff are written in Rust. But technically, Elixir is the if you go by the surveys, like the number one, everyone loves it thing now. They don't talk about it online.

Lucia Cerchie: [42:30] People that try it love it the most.

Robbie Wagner: [42:32] Yeah, like retention. Like the the people are still satisfied with it after using it for a year or two or whatever. It's like the highest, but they're not loud about it. Whereas all the Rust fanboys are like really loud about it. They're like, hey, did you know I use Rust because Rust is the best. You should try Rust. Have you tried Rust yet? No one's doing that about Elixir.

Lucia Cerchie: [42:53] I'm pretty resistant to that. I only tried Chat GPT, like, well, I tried it when it came out for fun, like writing poems, but I only tried it for coding, like last week. I kind of look to the people who've been in tech for like ten more years than I have and kind of watch what they do. Usually, I end up making some okay decisions that way when it comes to the hype cycles.

Chuck Carpenter: [43:16] That's reasonable, I think. Yeah, I've been in tech now almost 20 years, and just ignore what I do. I would say if you do the opposite, it's probably going to work out. Don't follow my tech career, and don't follow financial advice from Robbie, and you'll be able to just.

Robbie Wagner: [43:32] Don't follow any advice from me. Really.

Chuck Carpenter: [43:36] I just realized we're wearing the same hat.

Robbie Wagner: [43:38] Yeah, we do that a lot. At least we're not wearing the same shirt.

Chuck Carpenter: [43:41] Yeah, we do own some of the same shirts. We definitely own all of them.

Lucia Cerchie: [43:45] I feel like that happens when you're in tech, though, because it's swag.

Chuck Carpenter: [43:48] Yeah, I'm less about the swag other than some of our own stuff, but I used to have drawers full of swag tees, and then there was a certain point where I just wanted to stop wearing logos, so I just moved to a lot of plain stuff.

Lucia Cerchie: [44:01] Kind of, like, what's my personal style?

Chuck Carpenter: [44:03] Besides yeah, besides this free T-shirt. How many workout T-shirts do I need? Turns out not working out enough lately, so none.

Robbie Wagner:[44:13] Yeah, that's a whole nother topic. I don't know if we want to go into that.

Chuck Carpenter: [44:16] We could we can go into a little bit of whatnot around these things. What are your goals, and I don't know, around fitness?

Robbie Wagner: [44:24] Well, I was just going to say in general that I haven't done anything working out or not for the past, like, four or five weeks because my life has just been destroyed. But I had planned on starting some workouts and doing some things, and that didn't happen.

Lucia Cerchie: [44:42] Being an adult, working out is hard.

Robbie Wagner: [44:45] Yeah.

Lucia Cerchie: [44:45] I enjoy my workouts a lot. Like, I like to do, like, light weights and pilates and all that, but.

Chuck Carpenter: [44:51] Yeah, what I decided is that something was always better than nothing. So, like, what is it? Don't let the perfect.

Lucia Cerchie: [44:59] Be the enemy of the good.

Chuck Carpenter: [45:00] Yes, exactly. So if this, like, if I have ten minutes to go on a walk, I should do that.

Robbie Wagner: [45:05] Yeah, if you do five push-ups, that's better than zero.

Chuck Carpenter: [45:08] Exactly.

Lucia Cerchie: [45:09] Yeah. I like to use, like, you know, those awkward, like, in-between meeting times, I'll get, like, 30 minutes working out done if I just spend those on exercising at home. I think you have to like it, though. Some people are like. I'm not motivated at all if I don't go into a gym. I'm like. I hate being in gyms.

Chuck Carpenter: [45:26] Yeah. I basically furthered my hermit status during the pandemic because I used to go to a gym, and that was kind of like so people watch and some social interaction here and there. Okay. Came out of there, set up a home gym like many people did. And then I never went back and never going back. Why would I pay you monthly to do the few things? And, like you mentioned, body weight stuff and whatever. I have that everywhere I'm at. This is perfect. It's kind of easier.

Lucia Cerchie: [45:54] And the bands are good for traveling if you're like going to conferences and stuff. And they're also just good in general because you get the constant tension.

Chuck Carpenter: [46:02] Right. So there you go, Robbie. Just try something. I also did one other thing. I have an accountability challenge with my brothers for Labor Day. So we're putting money into a pot and having a competition.

Robbie Wagner: [46:16] What's the goal, though? Like.

Chuck Carpenter: [46:18] It's a body fat.

Robbie Wagner: [46:19] Losing the most weight or lifting the most.

Chuck Carpenter: [46:21] Body. Lowest body fat percentage.

Robbie Wagner: [46:23] Oh, that seems skewed. Seems hard.

Chuck Carpenter: [46:27] It's the ABS challenge. Plus in September is my wife's 40th birthday, so it's also a gift for her.

Lucia Cerchie: [46:33] Yeah. My goal is so I've been continuing to while you're pregnant. You can't really up your fitness level. You can only maintain. But my goal is to maintain it because last time I had a kid, I only did yoga, like yin yoga, during it, and I couldn't lift a gallon of milk afterwards. And I just don't want to be there again.

Chuck Carpenter: [46:54] I think that's reasonable.

Robbie Wagner: [46:55] Yeah, you would think that the hormones would help with that or something because you're going to have to lift the child, but they don't.

Lucia Cerchie: [47:02] Yeah. So there's a specific one called relaxin that relaxes your joints, and so it makes it easier to do yoga. But you have to be really careful about your range of motion otherwise because you could get injured.

Robbie Wagner: [47:12] Yeah, I love that. It's called relaxin.

Chuck Carpenter: [47:15] The more you know.

Lucia Cerchie: [47:17] I know everybody who's pregnant should be relaxed, right? Wrong.

Chuck Carpenter: [47:23] Right. Yeah. I haven't had the child, but I have observed that you must be relaxed. That's how that's going to work?

Robbie Wagner: [47:31] Yeah, there's not much relaxing through most of the process. Second trimester is good. There's some relaxing there, but first and third are bad.

Chuck Carpenter: [47:45] So that brings us to. Outside of yoga and creating humans. Do you have any other hobbies?

Lucia Cerchie:[47:50] I read a lot. I think I read something like 70 books last year. And then I also like to code on the side because when you're a developer advocate, you're doing a lot of content creation, and it's about coding, but sometimes you're like, actually, I haven't debugged anything this week, so sometimes I like to go and create my own tutorials or templates. I kind of like to use things as ways to teach things. Like I earlier mentioned, there's that command line interface that teaches you how to use command line interfaces. Right. You navigate through it, and it defines ARGs and flags for you and things like that. But also, I have a Git Cherry-Pick tutorial on GitHub. And that's just something like you're actually going to do it right as you go through it. And that's something that I really enjoy, just taking that perspective and kind of ramping up beginners really fast. They gain confidence using the actual thing instead of telling them what it's all about and then being like, go, here's the empty darkness of the terminal.

Chuck Carpenter: [48:52] Definitely. And cherry-pick is a hard one. It gets to be a little scary at times. I had a client recently where they essentially had three main branches, and they were very much tied to the environments they were in. And so there was kind of disparate histories to a degree. So it was all very bad practice. By the way, I'm not recommending this, but the way that you essentially would take promote features and this is why squashing and merging was very important for them because they needed like the thing attached to that ticket is specifically what we're going to promote over here, and we're going to promote it with a cherry-picking.

Lucia Cerchie: [49:30] Oh, wow. So it's like part of the regular process.

Chuck Carpenter: [49:33] It was, yeah.

Lucia Cerchie: [49:34] Interesting. I don't know if I could remember all of the steps right now off the top of my head. Right. And that's why I wrote it's, for the people who want to try it out first before they go and do it. Because often you're in a situation where something's on fire, you have to get cherry-pick.

Chuck Carpenter: [49:50] Yeah.

Robbie Wagner: [49:50] I think every time you cherry-pick, it's usually because something bad happened.

Chuck Carpenter: [49:56] And it better be a real one because otherwise, you don't want to do that.

Lucia Cerchie: [49:59] Yeah. If you pick the wrong commit, then everything is that much worse.

Chuck Carpenter: [50:05] So you don't play video games. You read a lot of books. So I finished a show recently that is related to a book, so maybe you have read it or not. I'm not sure if you're reading fiction, nonfiction, or both.

Lucia Cerchie: [50:17] I read, like, newspapers, anything ads. Like, when I was a kid, I used to sit down and literally read the dictionary.

Chuck Carpenter: [50:23] Oh, okay. Interesting. Daisy Jones & The Six. Have you read that?

Lucia Cerchie: [50:27] Okay. This is funny because I've actually just seen the first episode. I've not read it.

Chuck Carpenter: [50:33] Well, I think the show is incredible. I did not read the book. My wife did read the book, and so she knew of the other.

Robbie Wagner: [50:40] I didn't know it was a book.

Chuck Carpenter: [50:41] Yeah, it was a book first, and it's actually not even that old of a book. I think it was released in 2019. They optioned it almost right away. It was a Reese Witherspoon thing. And then they had all of the pandemic to learn how to sing and play these instruments for real and then get into production afterwards, or into it, at least. So they actually released an album out, like a full-on album with all the songs that were written for this book because they didn't do the same songs that were in the book. They kind of, like, did their own thing. And so there's a full-on album out there. And the fun fact I learned recently is Daisy Jones, the actress who plays her, or I guess now you're supposed to say actor for everybody, right? It's not, I think, so. I don't know. I mess up all these things. But is Elvis Presley's granddaughter.

Lucia Cerchie: [51:27] Oh, no way.

Chuck Carpenter: [51:28] Lisa Marie's daughter.

Robbie Wagner: [51:29] Oh, really?

Lucia Cerchie: [51:30] Wow.

Chuck Carpenter: [51:30] Yeah. Another little add-on to that and the whole story.

Robbie Wagner: [51:34] She can probably sing then.

Chuck Carpenter: [51:36] Yeah, she's decent. And the whole story is kind of loosely based on Fleetwood Mac and then pulling in a little bit of some other influences there. So the tension that was involved during around rumors and all of that, it's very cool.

Lucia Cerchie: [51:51] That's neat. It makes me want to go back and watch the second episode. Or maybe just read the book.

Chuck Carpenter:[51:55] Yeah, see, I can't read the book first because I already have my own ideas of what it should be, and then if I'm visually disappointed or expecting something that they didn't put it in or whatever else, kind of ruins it for me. So I always do it the other way. I find the books to be supplemental.

Robbie Wagner: [52:10] But how can you do that? Because it ruins it the other way for you because then you see only what was in the show versus imagining it from the book. I never know what to do, so I'm just paralyzed. Like, do I watch the movie? Do I read the book? I don't know.

Chuck Carpenter: [52:26] Play the video game? I don't know.

Robbie Wagner: [52:28] Yeah, video game. That's the best option.

Chuck Carpenter: [52:31] Just play the game. Anyway, I recommend it. That's the show I finished recently. Glad you started it. Recommend it to you, Robbie, since you're not going to work out. You got extra time.

Robbie Wagner: [52:42] Yeah.

Lucia Cerchie: [52:43] Wow.

Chuck Carpenter: [52:45] This is what we do a little bit. It's banter. I don't know. I don't have any other whatnot. Things?

Robbie Wagner: [52:50] Yeah, I don't know. Cool. I'm just hanging on here.

Chuck Carpenter: [52:54] All right, let's wrap it up.

Lucia Cerchie: [52:57] All right.

Chuck Carpenter: [52:58] Cool.

Robbie Wagner: [52:58] All right. Thanks, everybody, for listening. If you liked it, please subscribe. Leave us some ratings and reviews. We appreciate it, and we will catch you next time.

Chuck Carpenter: [53:06] Boom, boom. Boom. Boom. Thanks for listening to Whiskey Web and Whatnot. This podcast is brought to you by Ship Shape and produced by Podcast Royale. If you like this episode, consider sharing it with a friend or two and leave us a rating, maybe a review, as long as it's good.

Robbie Wagner: [53:26] You can subscribe to future episodes on Apple, Spotify, or wherever you get your podcasts. For more info about Ship Shape and this show, check out our website at shipshape.io.