147: Potluck #9

This week, we go around the table and talk about a variety of topics. Ben talks about Transactive Memory Systems Theory and how it might be applied in an engineering context. Carol—having moved into a new home and a new job—talks about the joys of starting something new in her life. Tim talks about the short-comings of a ticketing system; and, Goodhart's Law (which states that "when a measure becomes a target, it ceases to be a good measure"). And, Adam considers what his life would look like if he took on more of a leadership / force-multiplier role at work.

Follow the show and be sure to join the discussion on Discord! Our website is workingcode.dev and we're @WorkingCodePod on Twitter and Instagram. New episodes drop weekly on Wednesday.

And, if you're feeling the love, support us on Patreon.

With audio editing and engineering by ZCross Media.


Transcript

Spot an error? Send a pull request on GitHub.

[00:00:00] Highlight

[00:00:00] Ben: I don't know anything about the finances that happen in this house anymore. My wife took that over a long time ago. If she were to be hit by the bus.

[00:00:07] Ben: Like, I don't, I don't know who does our insurance.

[00:00:10] Adam: the lotto and leaves you.

[00:00:14] Tim: let's make it positive. She wins the lottery and leaves you.

[00:00:16] Ben: right.

[00:00:16] Adam: Takes the dog.

[00:00:38] Intro

[00:00:38] Adam: Okay, here we go. It is show number 147, and on today's show, we got the whole crew back together. Hey,

[00:00:43] Carol: Hello!

[00:00:44] Tim: Welcome. Did you miss me?

[00:00:46] Ben: Very much.

[00:00:47] Adam: Do I have be truthful?

[00:00:47] Carol: Real question is did you miss me?

[00:00:50] Tim: I missed all of you.

[00:00:51] Carol: I missed you guys too.

[00:00:53] Adam: I was worried about rattlesnakes.

[00:00:55] Carol: Oh, it's so scary out here.

[00:00:58] Adam: Anyway, it's show number 147 on tonight's show. We're gonna do a potluck. We got everybody back together. We figured let's, get some input from everybody. So we're going to do that. but first as usual, we'll start with our triumphs and fails.

[00:01:09] Adam: And since it's been a little while, since we've had Carol and Tim on the show, I know Carol, you were on recently, but, you know, it's been, you guys been in and out. So why don't we start with you?

[00:01:17]

[00:01:17] Carol's Triumph

[00:01:17] Carol: Sure, I'll I'll kick us off. But, I'm not gonna go with a triumph or a failure. Instead, I'm just gonna give a word of advice to the entire masses.

[00:01:24] Adam: This is not nom Carol. There are rules.

[00:01:28] Carol: I'm a rule breaker, I can't help it. So if you,

[00:01:31] Adam: but go ahead.

[00:01:32] Carol: oh, I didn't know that, so, I had no idea. So if you move around often or, you know, change out hardware for your network, I highly suggest that you use the same network name and password everywhere you go. Because we moved into the house, I hooked up my Cox cable box, my modem, Changed the name to what our old, Wi Fi network name was, made it the exact same password.

[00:01:59] Carol: And as we turn on devices, they're just connected to the internet. I don't have to reprogram anything. So phones, like my father in law walked in, I was like, Hey, are you on Wi Fi? He goes, I am. How'd that happen? I was like, magic. So everything that had ever connected is already in and ready to go. It knows how to do its magic on its side for the device, but saved so much time.

[00:02:23] Carol: So much so that I'm considering sending my parents to whatever I have. So that going forward, I can always tell them what their password is because they forget all the time and they go reset it. That's what they can just text me. Exactly. And then when I go, all my devices are connected. So there you go.

[00:02:39] Carol: So that's really a triumph. It's a big win, but it's also a word of advice.

[00:02:43] Tim: It's a good tip. Good tip. So, so, so just outta curiosity, what do you name your network?

[00:02:48] Carol: Ooh, Netgear 15.

[00:02:51] Tim: Oh, see, I, I name, I may name my pretty fly for a wifi

[00:02:55] Carol: Oh, see, I like that one. I like that one. And just so you know, we have no Netgear products in our house.

[00:03:01] Adam: Oh, it's, it's a little subterfuge.

[00:03:03] Carol: Yeah.

[00:03:04] Tim: sec. Security by obscurity.

[00:03:07] Carol: Try, go ahead. It's not that.

[00:03:09] Adam: Mine is, WoofyGoBark. It's something that one of my kids said when they were super little.

[00:03:13] Carol: Oh, that's so cute. That's adorable.

[00:03:15] Tim: How bout you Ben

[00:03:17] Ben: me, I

[00:03:18] Adam: We don't have

[00:03:19] Ben: whatever, whatever the, the router came with. I think it's like, I think it's like spectrum set up AB or something.

[00:03:27] Tim: very

[00:03:28] Carol: The password's password.

[00:03:29] Ben: it's so it's, it's funny because. I've been trying to be security conscious for a long time, and I have long since moved the whole FAM to one password, which is a great password

[00:03:40] Carol: Yay! Insert claps here.

[00:03:42] Ben: yeah, it's great. And it's one of those things where you can create a new login and just say, generate me a new password of 64 random garbage characters and then save it and it works.

[00:03:53] Ben: Which was. Awesome. Until I started to get smart TVs and then had to configure the wifi for the smart TV and having to do that 64 digit thing over a remote. You're like, yeah, I'm not using secure passwords anymore.

[00:04:07] Adam: still do that, the one password generator thing, it has options. And you can say, I want like memorable ones. And like, what do you want to use as a separator? So that's what I do. I do like five or six dice words. That's the memorable passwords, like, random words, and then you can put in, okay, separate it with numbers, I want one of the words to be all uppercase, and that way, like, I don't know what the password is, but if I do have to do that situation, where I'm putting it in with, like, a TV remote, at least it's like, okay, I know the next seven characters because I know this word.

[00:04:35] Ben: Yeah, exactly. It's I've definitely moved to that specifically because of all the TVs. and, and on the smart

[00:04:42] Adam: do you have, Ben? Jeez.

[00:04:43] Ben: mean, just over the years, I mean, we have two, we have one in the living room and one in the bedroom and, but then on each one of those, we have Netflix and Hulu and Amazon Prime and it's so frustrating because a lot of the, a lot of the apps, you can do this thing now where they just give you a QR code

[00:05:01] Carol: It's

[00:05:01] Ben: you, yeah, you scan that and you're logged in on your phone, so then all of a sudden you're logged on the TV, But then every now and then one of the apps won't work like that.

[00:05:09] Ben: And you're like, Oh, such garbage. What does this engineering team up to

[00:05:14] Carol: And it's... It's so crazy, but I'm so used to doing that, that when one app does it, I consider plugging in an Apple TV instead of using any of the built in apps. Because I know like on the Apple TV, I can do everything from my phone or from my iPad, right? I can type everything on a keyboard. So I'm like, if one doesn't work, I'm like, Oh, do I want to use any of the apps?

[00:05:34] Carol: I don't know. Maybe we should just put Apple TV in here and call it a day.

[00:05:38] Ben: You know, it's true. Typing a password is such a point of friction.

[00:05:41] Carol: It is.

[00:05:42] Ben: there was, for a while on the Apple TV, if you go, there's settings for how often it will prompt you if you're going to make a purchase. So every now and then we'll, we'll rent a movie. And in order to rent the movie, I have to log into iTunes.

[00:05:55] Ben: And usually it's, it's seamless with the phone. You just double click on the side of the phone and it knows you're logged in. It does the facial recognition and then boom, you've rented a movie. For, I don't know if there was a phone update or something with the Apple TV and it wouldn't do that, but I did have the option to manually log in.

[00:06:13] Ben: And I was just like, no, I'm not going to rent a movie then. That's, that's like, that's

[00:06:16] Carol: We're watching something we own

[00:06:18] Ben: Yeah, yeah, exactly.

[00:06:21] Adam: This is why DVDs exist.

[00:06:24] Carol: Existed. Well, we kind of went off, but that was all my stuff and a bunch more. But what about you, Tim?

[00:06:33] Tim's Failure

[00:06:33] Tim: Good to be back. it's been a, been a few weeks for me and this is sort of the failure. So the week before last, I wasn't on because I was in Miami for our annual, leadership conference for our parent company, it was about 800 people I think that we're at this one and it's the first time I've ever gotten sick, you know, when I was out of town for, for, for work.

[00:06:58] Tim: And so, you know, we're at this conference and we're, you know, listening to these speakers, they had some like motivational speaker, this guy, Ryan, I forget his last name, but he was extremely engaging, a motivational speaker and talking about, and he has like eight world records to his name and, you know, but.

[00:07:16] Adam: You know, and he said a lot of really cool stuff. And now I'm trying to think back what I'd actually learned from him. Can't really think of anything. Mm hmm. Mm hmm. Gotta take notes. Mm

[00:07:24] Tim: but he was engaged. No, I did take notes. I do have some notes, but it's like, I read the notes. You, you do the thing where he would like say, remember the four C's and he'd call clarity, communication, care, you know, and immediately go, Oh, that's good.

[00:07:37] Tim: And you write it down. So I write down these four words. I'm like, okay, now I don't, okay, there's four words here. I don't really remember why at the time that seemed so incredibly profound, but it's just because he was such a good speaker. but anyway, so we're going through that and then I wake up like halfway through and my throat's sore, but I feel fine.

[00:07:56] Tim: I figure, yeah, I've been staying up till like four in the morning at these things at the bar and talking to people. So I thought I'm just a little tired, a little run down. And so I, we do, you know, the things of the day and then we did, a Petcha Kutcha. Remember those?

[00:08:10] Carol: What is that?

[00:08:11] Tim: Kutcha. Do you remember it?

[00:08:13] Tim: Like some of the CF objectives I hosted, I called them lightning talks

[00:08:16] Carol: Yeah.

[00:08:17] Adam: hmm.

[00:08:17] Tim: because Petcha Kutcha is like a trademark name. So it's basically 20 slides, 20 seconds each slide. And you don't have, you can't, you have to present and they just go at 20 seconds and automatically rolls over.

[00:08:28] Adam: control.

[00:08:29] Tim: you're not in control of it.

[00:08:30] Tim: So. You know, they said each person, one person from each company come up and tell everyone about your company. Cause we just, so many companies that. Our parent company keeps buying every time we go, like half the people there, more than half the people there are brand new. So we don't even know what each company does.

[00:08:47] Tim: So we did that. I did one of ours and it was pretty, went pretty good. But after that we went out to dinner and I'm sit down and all of a sudden I just felt this wave of like fever and pain, like soreness of muscles. And somebody looked, I, you know, I just sat down at a table by myself and somebody looked at me and went, you don't look good.

[00:09:08] Tim: A mic. I don't feel good. So I walked back to the hotel. It's only like, like five blocks. And, I went to bed and I had like 101 fever and yeah, I had the, I took a COVID test. I didn't have COVID, but you know, this is just the flu, but I slept like 20 hours straight. So I missed the last two days of the conference and then had to fly home with the fever and feeling.

[00:09:30] Tim: And came home and like, just waved at my family and said, I'm going to bed. And pretty much slept the entire weekend. I'm still, still not a hundred percent, even after a week of. You know, being back to work, but

[00:09:42] Ben: Man.

[00:09:43] Tim: just, it just sucks. Cause nothing's worse than being in a hotel room and you feel awful.

[00:09:48] Tim: Nothing's where it's supposed to be. I'm having to get, I don't want to get everybody else sick. Although it wound up like, I think 80 percent of the participants got sick after this,

[00:09:56] Carol: Oh man.

[00:09:58] Tim: they actually delayed normally or, or financials were due. Like the week after we got back, they delayed it another week.

[00:10:04] Tim: Cause like everybody was sick.

[00:10:06] Carol: Cause these are top people, right?

[00:10:07] Tim: These are all the top. Yeah. Yeah. Yeah. So all the, all the top people from all the companies are all in bed sick. Pretty, pretty much for the whole week.

[00:10:14] Carol: That's the worst.

[00:10:16] Tim: huh? I don't know. I didn't ask.

[00:10:18] Ben: You've had a tough season because you didn't your whole family get COVID like two months ago?

[00:10:23] Tim: COVID was a cake. COVID was a cakewalk compared to this. COVID,

[00:10:27] Ben: ain't got

[00:10:27] Tim: was, COVID ain't got nothing on this, on this flu.

[00:10:31] Adam: Oh, thanks to your vaccine.

[00:10:32] Tim: Exactly. Yeah. It would have been, it would have been worse. It would not have been vaccinated, but it's like, yeah, COVID was like, Oh, I got a little sore throat. I get to not work for a couple of days.

[00:10:40] Tim: Yay. But this was, this was, this was rough. So I don't recommend it. Don't get sick on a business trip or any trip for that matter. Anywhere where you're not

[00:10:48] Ben: surprised that you don't get sick on business trips. And I only say that because I feel like on 80 percent of in person meetings that I've had, I get sick.

[00:10:56] Tim: Really?

[00:10:57] Ben: Yeah,

[00:10:58] Tim: Yeah. I guess viruses can't, I guess viruses can't live in an alcohol stream. So maybe I just didn't drink. Maybe I didn't just, maybe I didn't drink enough this time. I was trying to be good, but, yeah, yeah, I don't recommend it. But anyway, it's good to be back

[00:11:13] Carol: Yeah. We're glad you're back and feeling some better

[00:11:16] Tim: feeling some better for sure. How about you Ben?

[00:11:19] Ben's Triumph

[00:11:19] Ben: I'm going to go with a triumph. I've been writing and, I've been working on my. Little tech book. Tim, I, you, I don't believe you've been on the show since I had talked about this, but I'm trying to write a small book, a small technical book about feature flags and my love of feature flags and how they change team culture.

[00:11:39] Ben: And,

[00:11:40] Tim: I saw on Facebook you were doing that. I'm like, okay, he's gonna, he's gonna write a book.

[00:11:43] Ben: yeah, you know, I'll throw my hat in the ring, see how it works. And, I'm still not moving as fast as I would like. And I, and I'm still putting too much thought into the words as I'm writing them, but. I'm, I'm making progress and I'm, I'm pretty excited about that, but it, I'm, what I'm realizing is that, I've never thought about the layout of anything before.

[00:12:05] Ben: And as for funsies, I put a print style sheet on the little site that has the preview of the book. And then I go to command P print and save to PDF and text that has code samples and images. I'm finding, I'm getting all kinds of weird page breaks where.

[00:12:22] Tim: Awesome.

[00:12:23] Ben: You know, an image won't fit on one page. So suddenly there's a giant empty space because the image got pushed to the next page and,

[00:12:30] Adam: Mm hmm.

[00:12:31] Ben: I have no idea.

[00:12:32] Ben: Yeah. I don't know how to deal with that.

[00:12:34] Adam: I don't know if this was, like, in our... in our group chat, or if this was, like, private just to me, but you had mentioned something about wanting to talk about book layouts. I figured we'd save that for the after show.

[00:12:42] Ben: Yeah, yeah, yeah. We can totally save the after show, but that's, I'm, I'm realizing that, that there's a lot more to it now than just writing,

[00:12:49] Adam: Spoiler alert, there's a loooot to it. Heh heh.

[00:12:53] Ben: you

[00:12:53] Carol: not that much man. Keep going. You got

[00:12:55] Ben: literally I have heard other people in the past talk about the complexity of putting books together from start to finish. And as I was listening to them talk about this in my mind, I was like, is it not just HTML and a print style sheet? Like, I don't know what you guys are talking about, but I, I get it now.

[00:13:13] Ben: There is definitely more to it than, than just the writing. So, but you know, I'm excited. I'm excited that I'm continuing to stick to it. I'm not giving up and, and I'm putting words on, on pages. So triumph all the way. And on top of that, you know, I was having some pretty severe and concerning wrist pain a couple of weeks back.

[00:13:33] Ben: Which I was fairly convinced was tied to my work stress. And, I had gotten a track ball mouse instead of my vertical mouse, cause I thought maybe reducing some of the wrist movement would help. And, my wrists feel pretty great. I, I get some twinges every now and then where I gotta take a break, but, I've been feeling a lot less stress in the last couple of, A couple of days, week, two weeks, and, my wrists are feeling good.

[00:13:57] Ben: And in and of itself was just a huge load off my mind because obviously I'm using my wrists basically all day. So,

[00:14:05] Tim: Mm hmm.

[00:14:05] Carol: What kind of mouse did you buy?

[00:14:07] Ben: So it's, it's a vertical mouse, meaning that I'm holding my, my hand at kind of an upward angle. And then there's a track ball, like a little ball near my thumb. And I'm, I'm, I'm just moving that ball around with my thumb.

[00:14:19] Ben: So I'm not, I'm not moving my wrist from side to side or up and down to move the mouse. I'm just. I was just using the old Thummeroony and, and I got used to it really quickly. At first, it was very awkward and feeling like I had to do fine motor movements, such as in like, selecting words or moving a cursor around in a design tool felt really weird at first, but, I got used to it really quick.

[00:14:42] Ben: And now I don't even think about the fact that it's not a regular mouse.

[00:14:46] Adam: What's the scroll wheel situation like?

[00:14:48] Ben: It has a, it has a single scroll wheel. I don't

[00:14:50] Adam: a horizontal scroll wheel?

[00:14:53] Ben: It, it, like, like where you can shift side to side. I don't think this one has that. I think you can click the mouse wheel, but I have not. What do

[00:15:02] Adam: mine does.

[00:15:03] Ben: Oh, you go,

[00:15:03] Adam: vertical scroll wheel between the buttons, and then, yeah, there's one on the side where my

[00:15:07] Ben: Yeah. Yeah. Yeah.

[00:15:09] Adam: And I, I've tried, like, every time I land on a computer that doesn't have that, I'm like, Ah, I hate this!

[00:15:13] Ben: those are real. Those are really cool. My previous, my like two mice ago, I had,a Logitech MX master or something, I can't remember exactly the name and I'm pretty sure it had one of those side scrollers and they are very cool, let's

[00:15:28] Adam: This is the MX Master 2S.

[00:15:30] Ben: Yeah. Yeah. Yeah. Logitech makes a solid Mouse.

[00:15:33] Ben: Um,

[00:15:34] Adam: ought to by now. They've been doing it long enough. Yeah,

[00:15:37] Ben: so I'm doing good.

[00:15:38] Ben: Triumph, triumphing this week and I'll kick it over to Adam. What do you got going on?

[00:15:42] Adam: cool. Well, I'm glad your pain's going down. That's that's very important.

[00:15:45] Adam's Failure

[00:15:45] Adam: I'm gonna wrap it up with a fail.

[00:15:47] Carol: Oh no,

[00:15:48] Adam: Well, so it's a fail sort of on the back of a triumph if we want to go that way. so last week Ben and I talked about, I think it was Ben and I? Or maybe it was when I talked with Carol. I don't know.

[00:15:57] Adam: Either way. I did a show recently with one of you guys and we were talking about this like tandem booking app that I wanted to do as just like a,

[00:16:04] Ben: Yes.

[00:16:05] Adam: uh, side project, learn some stuff. And potentially be useful. and I kind of like got in my head yesterday, midday. It's like, I've been focusing on the wrong things, right?

[00:16:16] Adam: Like I've been worrying about getting the framework set up and like deploy pipeline and, you know, like what kind of components am I going to build and how's it going to look and that sort of thing, and I'm like. I haven't written like any real code yet at all. Like this is dumb. You know, I need to like take a step back and go back to MVP and like, what is some like, if I, if my goal was to have something done tonight, what could I get done and actually be useful tonight?

[00:16:42] Adam: and I didn't actually accomplish that goal, but it was a good way to like reset my mental focus. Right. And, so as a result of that thought process, what I did do. Was, I signed up for account, I signed up for an account for Superbase, which is like an online database, as a service type thing.

[00:17:01] Ben: Is it, is that the one that's like an open source version of Firebase?

[00:17:05] Adam: It, yeah, it's kind of like, I would say, inspired by Firebase. It's not, it's not exactly the same. It's not like a drop in to replace it, but it's supposed to be pretty similar. I also, I think Firebase was more of like a document database, no SQL and Superbase, Postgres.

[00:17:18] Ben: Okay.

[00:17:18] Tim: Lord and Savior.

[00:17:20] Ben: Noice.

[00:17:20] Adam: so anyway, I, I signed up for that and I created a database with like a, just a, I'm like figuring out the data model as I go, just like create tables, shove some data in there. And then, and this is where the fail comes in, in Superbase, they encourage you to choose row level security on your tables. Which I, I can't explain well because that's the fail, I'm, I'm struggling at it, but the short version is that it, it appears to me like you set, you can set multiple policies on a table and, the policy can kind of interact with the user making the query. And so then you can, you can kind of take the API out of the middle, right?

[00:17:58] Adam: You can say a client can connect directly to the database and then the policy enforces whatever. So you can have a policy that says I'm allowed to edit my own blog posts because it's attached to my user ID, but I can't see or edit yours that are drafts or that sort of thing, right? You can have policies that say, that reference database columns and reference like this sort of magic object of the logged in user or whatever.

[00:18:25] Adam: anyway, it seems really interesting, and to me, the way that it looks. The, the thing that looks super interesting about it is it almost looks like SQL that gets tacked on at the end of your query. It's like, I want to do this. I want to read this or update this or whatever. And then it looks like, you know, using or, or with or something like that.

[00:18:43] Adam: And then at the bottom, it's like, here's some SQL as the policy. And so it looks like it kind of gets executed together and the policy gets evaluated. And if it's true, then it allows the action to happen. I don't know. Anyway, the,

[00:18:56] Tim: I, you asked me about this before the show. I look, you know, I've never used row level security in Postgres. I haven't had a need for it, but my gut says it kind of feels to me like using triggers in a database where you're adding almost business logic to the database level, which makes it hard to test.

[00:19:13] Tim: It makes it hard to, you know, there's just magic that happens in the background. And for, for me, that, that would be. One thing I would have, you know, if I ever had to use for it, I'd be like, is it really worth the convenience of letting the database handle the fact that I create this, this record, this row, I'm the only one who can edit it because the database says so versus having that logic somewhere that's in code that's reviewable and testable.

[00:19:40] Ben: So I don't know, I've never used SuperBase, but if we're saying that it's inspired, at least in part by Firebase, Firebase is objects. It's not a, it's not a relational database, but they also have this kind of a policy for access permissions, where you can say that users can access this document if some set of configurations line up.

[00:20:05] Ben: And I think that the reason that this even exists. It's so that the browser can talk directly to the database and not have to worry about having some sort of a backend server that's hiding a, you know, access key or a set of credentials. And so that, so I think that's where the, that's why this complexity exists is to kind of cut out the middleman.

[00:20:25] Carol: That sounds so fancy.

[00:20:27] Adam: And, and just like Firebase, you know, it's got a lot of really interesting stuff built in. So like, you know, just by signing up for the account and on the free tier, you can use like a social OAuth login or, magic link email login, which is what I'm planning on using. I was like, okay, minimal, minimal thing.

[00:20:44] Adam: Right. So I'll, I will create the users for the first, you know, out the gate usage. I'll just throw some email addresses in a table. And then all they have to do to log in is like put in their email address and it'll send them an email and then they click the link and they're logged in. Right?

[00:20:57] Carol: That's, that's what Ben does with his app. Mm-hmm.

[00:21:00] Ben: Yeah.

[00:21:01] Adam: but he's probably doing all of that manually, right?

[00:21:03] Ben: Very manually.

[00:21:04] Adam: So that's, that was like, that was the mindset I was taking. I was like, okay, here's a shortcut available to me. I'm just gonna take that. And here's a shortcut. And here's a shortcut. Anyway, so and I was like... I was, I was working on it. It was like getting kind of late in the evening for me.

[00:21:18] Adam: And I was like, okay, this is making sense. I'm putting in a few policies, getting things done. And then I hit this one point where it was not just a simple, like, you know, allow me to edit my own stuff. It was like, okay, administrators need to be able to see and edit other people's things, and that's where I like hit a roadblock and it got to the point where it's like, My, I was riding this like wave of caffeine or, or hype or something.

[00:21:40] Adam: And I was like, I was just getting stuff done. And then I hit this, like, hit this wall of, of not being able to figure something out and I tried for like 15, 20 minutes and I'm like hitting the point where my eyes are going fuzzy cause it's getting late and I'm having trouble staying awake and I'm just, eventually I was just like, okay, that's it.

[00:21:56] Adam: This is a sign that I just need to go to bed. you know, couldn't read the docs or anything. So, yeah. I had fun, but the fail was I hit that wall and it was frustrating.

[00:22:07] Ben: It's tough because it's a completely different way of thinking about data access. You know, we have so many years of. Making a request to a backend server, that server associates the request with some sort of a session or a set of credentials. And then we do all the data access that we want on the backend where it's safe.

[00:22:25] Ben: And now you have to figure out how to take all of that and put it somewhere that's not safe. And how do you keep that secure? And it's, it's just very different. I, I, I found that very confusing when I was digging into, Firebase a couple of years back.

[00:22:39] Adam: Yeah. I think the one thing like Tim, you had a couple of like, this makes me uneasy type of comments there. and the one thing that stood out to me from what you said was like the, these policies are not going to be in my source control. You know, there's no way for me to validate that they are, A, not being changed, and B, like, actually correct.

[00:22:59] Ben: other than that, things seem to be working as I intended them to. Well, it's like, you'd, you'd almost have to try to figure out how to treat it like a database migration. Tim actually had a very good talk about this about 15 years ago at

[00:23:13] Tim: Less than 15.

[00:23:15] Adam: oh, about putting your database stuff into source control.

[00:23:18] Ben: yeah, yeah. So if you think about these policies as being a database level construct, is there a way that you can somehow Put it into code where you're configuring it via API calls with some sort of super credential.

[00:23:33] Ben: Maybe that's a way that could be done.

[00:23:35] Adam: I think, I'm almost positive that you can. Like, so, I'm at the stage right now where I'm just... Figuring this out and setting it up with ClickOps, right? Like we've talked about ClickOps for AWS or whatever, but I know that they have like example apps. And the example app is like in the readme. It's like, okay, you know, you create an account and here's a SQL script, run this.

[00:23:52] Adam: And it's like creates tables and adds policies and that sort of thing. So the policies could be, you know, saved into, yeah. And then you just, you have to think of it from like a, migration, but from nothing to something, right? That the, boot sequence sort of thing.

[00:24:06] Ben: Right. Right. Very cool though. Good on you for trying something very new.

[00:24:12] Adam: Yeah. So, hopefully I can keep that momentum going. I

[00:24:16] Ben: I think Adam is definitely the most exploratory minded person in our little cabal here. He's,

[00:24:23] Carol: Oh, I

[00:24:24] Ben: trying new stuff.

[00:24:25] Carol: agree.

[00:24:26] Ben: jealous of that instinct. I do not have that instinct at all.

[00:24:31] Adam: think it goes back to the word that I can never remember when we're recording, ambitious. I'm an ambitious person. the, you know, I, I just, I can't stop myself sometimes. It's like, the hype just takes over.

[00:24:43] Ben: I love it.

[00:24:44] Adam: Cool. Alright, well then, I guess that'll bring us around to our potluck for today. Who would like to go first?

[00:24:51] Ben: I'll throw my hat in the ring here, if you don't mind, cause it's very, it's very top of mind for me. So literally this morning I was listening to an episode of a podcast that I really love called The Hidden Brain. It's an NPR podcast.

[00:25:04] Tim: Love it.

[00:25:05] Transactive Memory Systems and Specialization

[00:25:05] Ben: And yeah, it's, it's really good and it's very, they're constantly talking about mindfulness kinds of topics and just kind of meta analysis of how humans think and how they behave and interact with other people.

[00:25:19] Ben: So, yeah. And they were talking to this psychologist today and they were talking about something called transactive memory systems theory. I had never heard this term before, but I had heard of it in, in description years ago, in the context of marriage. And the idea is that when you cohabitate with someone over time, you, you start to develop a, an allocation of memory across the two of you, that you have things that you can remember well, and your spouse has things that they can remember well, and you sort of have an understanding of who knows what and who's responsible for what, and, and that allows you as a group.

[00:26:01] Ben: Of two to actually know more than any one would individually. And like I said, I I'd heard this years ago, specifically about marriages and the psychologist today on the Hidden Brain Podcast. She was talking about it in terms of teams, specifically, she was talking about medical teams and how that if you have a group of doctors and those doctors lean into this idea of having this transactive memory system.

[00:26:28] Ben: That they acknowledge and lean on each other as being different types of experts in different things. And they can, they can defer to each other, they can refer to each other. And, As a result, the patients who come to their clinics tend to have better outcomes because they're not constantly relying on a single doctor to have all the answers.

[00:26:51] Adam: Because they're T shaped doctors.

[00:26:53] Ben: Exactly. And, and, and they're, they're leaning into it. They're not fighting it. So I was thinking about that. Engineering teams, and I can only speak to my own experience here. So, you know, take that as a caveat, but what I feel when I look at engineering teams is we try to fight against this concept of a shared understanding in that I find that we often want to, instead of relying on each other, we want to continually bone up on our own understanding and anything where we feel like we're falling short in a particular area.

[00:27:31] Ben: It's like, it's okay to ask for help maybe the first time, but then after that, like that's something that you should really start to know and internalize and be able to handle. Or maybe you should be looking up the documentation. And I thought about how much time people will spend, say, pouring through documentation, trying to find an answer, looking up docs on websites, trying to find answers.

[00:27:54] Ben: When literally it could have been a two minute Zoom call where you pull in someone who's an expert in the thing you're trying to do and just be like. Hey, just help me out. I don't know this stuff. Can you just point me in the right direction? And I, and I think there's a lot of guilt associated with having to ask for help with interrupting someone feeling like they maybe need to have better things to do than help a person in need. And I just wonder if, if we leaned into this idea of a shared memory and a shared understanding of how overall systems work, if we'd be happier and more effective. I don't know how to balance that with the idea of. Also learning because I'm constantly wanting to learn. I, I don't like having to ask for help.

[00:28:38] Ben: And I do know that the more I know. The more effective I become. So I know that there's a balance here. I don't know. I just want to throw that out there and see if that, if any of this rings true with any, anybody, or if there's anything here that touches the nerve.

[00:28:53] Adam: the, the first thing that comes to mind is like, okay, I'm on a really small team and, you know, I've, I may have mentioned this on the podcast before, but I'm myself and, two other full time developers on my team. And so we have no choice but to specialize, right? Like we got one guy on the team who is better than the others at Docker and, and like AWS architecture stuff.

[00:29:16] Adam: you know, one guy's better at like React stuff and one of us is better than the others at TypeScript and one of us, you know, and multiple, all of us have multiple of these topics where like, we're sort of the go to person. and like, so it's good in that, like, you know, we all, we all become accustomed to,

[00:29:34] Ben: but just to back

[00:29:35] Adam: getting, needing to parachute in to help out.

[00:29:37] Adam: Yeah, go ahead.

[00:29:37] Ben: guys embrace that? Meaning if you're having trouble with. Docker, do you go to the guy that knows Docker really well and does the person who's having trouble to react go to the person who knows React really well?

[00:29:50] Adam: I mean, me personally, I do. I think, you know, some of us are maybe to, to speak to that mindset. You know, some of us maybe are slightly better than others at knowing when it's time to go ask for help. Right. and, you know, it's a double edged sword because as a very small company, we only have one of these.

[00:30:10] Adam: We only have one person who's better than everybody at TypeScript. We have one person who's really good at Docker and infrastructure. I would love to get to the point where we have two or three. Docker infrastructure experts and two or three TypeScript experts and two or three of everything, right?

[00:30:22] Adam: Because then the bus factor goes out the window. and you know, that's the thing that I'm most terrified of is like, if, if, or it doesn't, you know, not, we don't have to be morbid about it, but if, if the bus factor guy decides the, I'm sorry, the, if the Docker and infrastructure guy decides like, ah, I'm out of here, I'm going to go work somewhere else,

[00:30:40] Tim: The lottery factor, they win the lottery. Make it, make it, make it positive rather than negative.

[00:30:44] Adam: positive for him.

[00:30:45] Adam: you know, if he, if he up and leaves, then I, like, we as a team have a lot to figure out very fast because, you know, things just sort of constantly need attention. Right? and

[00:30:58] Ben: Yeah, I think there's definitely a balance. And I don't know what the balance looks like, but it's there. It has to be there. But I, I just feel like maybe we, we, the pendulum, so to speak, swings too far to the side sometimes.

[00:31:12] Tim: I was going to say, so like in our daily standup, which is the only thing we, we steal from Agile, a daily standup, running that meeting, it's like, so one of the main, the last questions you usually ask is, you know, any roadblocks, right? Does anyone have any roadblocks? What's, and I find that. You try to strike that balance.

[00:31:31] Tim: So, you know, programmer A is kind of a little bit stuck on, on something that programmer B is a lot more proficient at. it, it, you're right. It's hard to find that balance of. Do I tell programmer B, Hey, you know what? Can you stop what you're doing right now and help programmer A or do, you know, we just let programmer A struggle a little bit and it's kind of situational.

[00:31:53] Tim: Sometimes you have some people that run into a problem and they immediately go, well, I looked at the docs, I can't figure it out. So they just kind of sit there and do nothing. Right. Um,

[00:32:03] Carol: productive.

[00:32:04] Tim: Right, which you don't want that, or they'll just, or the, or you'll have them just spin their wheels for days and that's not productive either.

[00:32:10] Tim: So it's like finding that balance of like, okay, you probably struggled on this enough. Can you stop and help them with that and explain that to them? So, but yeah, we have a very small team too. So it's, you know. You got to balance that. Sometimes, sometimes you're just like, I can't have programmer A stop what they're doing right now.

[00:32:29] Tim: Cause what they're doing is extremely important and what you're doing is less important. So I don't mind you. I don't mind you spending two days struggling on this. Maybe you'll actually learn it this time and not have to ask the next time.

[00:32:41] Adam: And, I mean, everybody has a different learning style too, right? Like, some of us learn best by struggling for, until we hit the, the, the limit. Like, I, okay, I'm continuing to struggle and I'm not actually learning anything new, right? The first hour or two of struggling, you're like, oh, okay, so that's how that works and that's how that works.

[00:32:59] Adam: But then you hit this point where like, I'm staring at the same docs and I'm still not figuring it out. I don't, you know, I'm, I'm just wasting everybody's time at this point. And then somebody jumps in and it's like, okay, well, you just need to look at it from this perspective, or you're, you're missing this connection to this other doc.

[00:33:15] Adam: and they, they make that mental connection for me and, and help me. you know, see the, the, the rest of what I need, the last mile or whatever, right? to, to solution. And that really helps me crystallize it. Like, the, the struggle helps me. I guess forge that, that, pathway in my brain to remember the solution.

[00:33:36] Carol: Yeah. And see, that's the way it's always been for me is when I do ask for help on something, a problem, like if I'm looking at the docs and can't figure it out, like it's just not linking together. And I do ask someone and then they show it to me. I'm like, how did you ever get there? Like, how did you end up looking at the same thing I'm looking at and you got over here when I couldn't find that?

[00:33:55] Carol: And hopefully by them showing it to me, I never have to look or never have to like ask them again. But I think that's the opposite of what Ben's. Kind of theory is, like, you wouldn't want to have to learn it and have to keep maintaining it and know it. You should always trust that person to handle it and be the knowledge base for it.

[00:34:15] Carol: And that's where I struggle because I don't want to ask again. I want to know, and I want to never go back again. And I want to keep learning from it.

[00:34:24] Ben: well, and I'll say, and I hate to even admit this, but when I ask for help, I, part of me feels shame. Like part of me feels like I've let myself down. I've let the team down. I've let my boss down. And, and that's, it's so ridiculous that that I think is part of my psyche. And I, I couldn't even tell you where that comes from, but it's definitely an unhealthy way to think about asking for help.

[00:34:51] Carol: So flip it around. If someone comes to you and asks for help, are you immediately frustrated and annoyed and like, why couldn't you figure this out yourself? Then that's how you should be to yourself. Like you should treat yourself the way you treat others. Don't be so hard on yourself.

[00:35:05] Adam: For sure.

[00:35:06] Carol: Yeah.

[00:35:07] Adam: I was thinking the exact same thing. Like I, I, I often, if I get asked for help, I'm like, okay, give me two minutes to just take a couple of notes on where I'm leaving off on something so I can come back to it relatively quickly. And then I'll meet you in the video chat room and I'm yours

[00:35:20] Ben: Mm hmm.

[00:35:20] Carol: Yeah.

[00:35:22] Tim: It's funny, Ben, when you first talked about the transactive memory systems, I thought of, you know, you used the example of a couple. It's like, ask any couple who's been together for, you know, a decent length of time, how they met, and invariably there's this pattern of, you know, Person, you know, couple A, A says this part of the story, and there's a certain section of the story that couple B's in charge of, and they just know that every time they tell a story, it's like, here's my section, and it's immediately hands off, right?

[00:35:50] Tim: And that's, yeah, that's kind of true, like, you have a little special section of that story that's yours, that

[00:35:57] Tim: you

[00:35:57] Adam: We both reached for the last box of Cool Ranch breakfast cereal at the same time.

[00:36:03] Carol: Is that a movie reference too?

[00:36:07] Ben: But it's, and it's, I mean, and it's not even just about the knowledge and the understanding. It's about the actions too. And we've talked about this on the show before, like, I, I don't know anything about the finances that happen in this house anymore. My wife took that over a long time ago. If she were to be hit by the bus.

[00:36:25] Ben: Like, I don't, I don't know who does our insurance.

[00:36:27] Adam: the lotto and leaves you.

[00:36:31] Tim: let's make it positive. She wins the lottery and leaves you.

[00:36:33] Ben: right.

[00:36:34] Adam: Takes the dog.

[00:36:35] Ben: I don't know who handles the insurance. I'm not even sure if I have all the right bank information. I don't know if she, like where she keeps, we had wills made. I don't know where those are.

[00:36:46] Adam: There's a few things on that list that you should, uh,

[00:36:48] Ben: Yeah, yeah, yeah. But, but, but, you know, that's, that's part of being able to operate more efficiently is this. Diliniation, you know, these, the shared knowledge base that should have shared RAM and then, and then shared access or, you know, actions.

[00:37:04] Adam: I

[00:37:04] Carol: Yeah. So, so Steve and I are kind of the same way when early on we were like, hey, He had no idea of any, like, accounts I had of any of my logins. So I forced him onto 1Password like you did your family, right? And so now we have our shared vault that has everything, every bank account, every credit card, you know, the, now the dog's pet insurance is in there cause we had to get pet insurance cause everything here was the eater, so, you know, we have pet insurance.

[00:37:31] Carol: So all of that's in the shared login. So if something were to happen. As long as he remembers to keep renewing the annual fee on the 1Password, he will have that data forever.

[00:37:44] Adam: So actually, that's a really good point. Ben, you said you got your family on 1Password. Does that, is your wife, would you say she's a enthusiastic and, and good, steward of her 1Password data?

[00:37:53] Ben: I'd say she's an aspiring password enthusiast, but there's definitely,

[00:37:59] Carol: Steve. Yeah.

[00:38:00] Adam: is it, but is it begrudging?

[00:38:03] Ben: no, I think she understands the value and she loves the fact that when I put stuff in one password, she can access it, she's not always diligent about. Putting things into one password in her own vault or the shared vault. Just like, it's not her instinct yet.

[00:38:22] Adam: so, you know, we have shared vaults with like, I have one that's my, you know, everybody gets your private vault and then there's like, Megan and Adam have one and then there's like, mom and dad and kid one and mom and dad and kid two, so we can share with the kids and like, we can see what their passwords are,

[00:38:35] Ben: that's pretty good. I never thought of

[00:38:37] Adam: But you can, you can put more than just passwords in there, right? So they have, you can have a secure note. So you can put whatever you want in there, or you can have like a file attachment, right? So like, you know, whatever important files, you can just scan it and drop it into one password and put it in your shared vault.

[00:38:50] Adam: And it's right there.

[00:38:51] Carol: Yeah, I went into the, yeah, I went into the identification one and I added like my driver's license and my social security number and I shared it with Steve and the boys. So if something happened, They have some way of, you know, having that information cause they would never find it other like, you know, if I had a rec or something, you know, they wouldn't find that information easy.

[00:39:11] Adam: right.

[00:39:12] Ben: So Dropbox also, so we have a family Dropbox plan and Dropbox also has a similar thing where you get your own private folder, but then they have what they call the family room. Which is just a shared folder. It's basically the common, it's the shared vault version of a foldering system. So we, we put a lot of our documents in there as well.

[00:39:33] Carol: If anyone listening works for 1Password or Dropbox, hit us up for a sponsor.

[00:39:38] Adam: Yeah, seriously. I'll take your money.

[00:39:41] Carol: Yeah.

[00:39:41] Adam: I love hawking your products.

[00:39:43] Carol: Yeah. All day long. And we actually like them.

[00:39:48] Ben: All right. Well, should we move on to another one?

[00:39:50] Carol: Sure. I can go if you guys

[00:39:53] Adam: I was gonna say,

[00:39:53] Adam: why don't you go Carol?

[00:39:54] Fresh Starts

[00:39:54] Carol: Yeah. So, I, as you guys know, a lot's changed in my life. you know, big moves. Thanks. Yeah, this week I started my job and I love it. Like, it's just, there's something to be said about learning all this new stuff. Granted, I worked here a few years ago, so some of it's still the same, but just going through Pluralsight and getting the opportunity to relearn a language that I thought I would never write again.

[00:40:21] Carol: So I'm going to be writing, for For now, I'm going to be writing C sharp. there's a lot of knockout in there. There were a few other things, some views. I can't remember the rest, but just getting to go through and learn the syntax over again and getting to use Visual Studio Enterprise rather than Visual Studio Code and having the opportunity to have a debugger again and break points that actually work in my code, like I am so happy and learning the team all over again and new people, and I'm just.

[00:40:52] Carol: Excited and typically like in the past, I've been very scared, you know, starting something new and I'm watching my husband, you know, start this process of, you know, doing a new job, you know, he's starting a school too. And I'm seeing the more of like, okay, you know, I'm kind of a little worried, a little anxious about it.

[00:41:11] Carol: And I can see how that happens to people. But when something new hits me, usually I'm very happy and very excited. And I get really like, I get in it, right. And I'm all for it. So it's just, it's interesting to see how people process new things differently and how we take things on.

[00:41:31] Adam: for sure.

[00:41:32] Ben: It's interesting because, I'm typically someone who's scared about starting new stuff. What's there, there's a psychological thing where you, you underestimate your own abilities and you overestimate the abilities of others. Do you remember the name of that is?

[00:41:46] Adam: No.

[00:41:46] Carol: but I know what you're talking about.

[00:41:48] Ben: Yeah. And, so I, I talked about this previously that we've had a bunch of layoffs at the company over the last year and a half, pretty significant layoffs.

[00:41:55] Ben: And I was talking to an engineer who is just a software engineer. And, he had gotten caught up in one of these layoffs and we were, we were just talking, I should probably save this for the after show or whatever. And, and he said, you know what, I think I might start to apply for more like VP and CTO positions.

[00:42:12] Ben: He's like, because he's like, the way I can see it is if I just stopped the company from doing dumb like I'll already be doing better than most of the leadership we've had here. And I, and it's, I mean, you know, he's being humorous, but he was also being serious is that. You look at a lot of leadership positions and you, and you hold them up on this pedestal, but the reality is like every poor decision that gets made at a company is being made by a leader in a, in a leadership

[00:42:40] Tim: Or at least approved

[00:42:41] Ben: yeah, yeah, yeah. So, you know, we, they're. And, you know, we're all struggling to do a good job. No one is blessed or ordained to do well. And I think if you can hold that in your head, then you can get more excited about leaping into the unknown.

[00:42:58] Adam: The way you described it, Carol, to me, I was thinking, like, this is like taking on a Greenfield project, but instead of, like, a new Greenfield project at work, you're on, like, a Greenfield project in life, right? You moved to a whole new area, new company, new language. It's all, it's all fresh. So fresh and so clean, clean.

[00:43:16] Carol: Like I definitely had a few breakdown points just emotionally cause it's a lot, right? It's so much, but it's more missing family. It's not being at what feels like home and, you know, with the military. Everything is a delay. If there's one thing you get good at when you're a military spouse, it's never, you know, expect anything because it's not going to happen.

[00:43:39] Carol: And so when it does, you're just happy. But if you never expect anything, then every time you're let down, it's totally fine. So, the work thing though, I am, I'm all

[00:43:49] Tim: the, what'd they say? Embrace the suck.

[00:43:51] Carol: Yeah, I'm gonna have

[00:43:52] Adam: thing, but yeah.

[00:43:53] Carol: yeah, I've never heard it before, but yes, that's ultimately the way that it is. You know, like our stuff didn't show up, the truck broke down on the way, and you know, there were issues, and.

[00:44:03] Carol: Anyways, but that's all here. It's all good. That doesn't matter. The point is that I'm super happy at work right now. I'm super happy to be learning and starting over excites me, which is probably why I change jobs like every three or four years, because I need to like start over cause I can't just. Do the same thing too long.

[00:44:21] Tim: Yeah, me either. Probably been the same job for 23 years.

[00:44:25] Carol: Right.

[00:44:26] Adam: was thinking that too. It's like, you know, I used to feel that way a lot. And then somehow, I just, it's like, you know, when you have ADHD, you're like, Oh, it's 11 o'clock in the evening and I forgot to eat lunch and I forgot to eat dinner. And, you know, It's just the whole day kind of went by you. It's like, I feel like that kind of happened to my career.

[00:44:43] Adam: Like I, you know, I, I was nose down on something and when I looked up, it had been 10 years. I'm like, wait a minute.

[00:44:50] Carol: And see some of that, like, I wonder if it's about where I am in my life right now, because previously I have been more like, okay, if something ended, I need to quickly find a new job. Like, even if I was financially stable, I had two kids that depended on me. Like I had to pay their bills. I had to find them food.

[00:45:07] Carol: I had people to provide for. And now that they're off at college, suddenly like the. You know, I took seven months off work. I didn't do anything. I swam in my pool every day. And I attempted to do some side work and then was like, yeah, I really don't want to do any work. I'm just going to enjoy moving across the country and tell people I'm too busy to help them on side work.

[00:45:28] Carol: So like, I don't know, I feel like maybe it's because of where I am in my life right now, that it feels... Like starting over doesn't matter, you know, I could live with a lot less than I have right now. And if I had that thing, like I still would be okay. Yeah. I don't know. Yeah.

[00:45:44] Tim: It definitely shifts your perspective, right? You get, you get stuck in a rut of, Oh, it's gotta be this way. Cause it's been this way, but it's like, you know what? It doesn't have to be.

[00:45:52] Carol: You get to change sometime and I guess I'm lucky I got the opportunity.

[00:45:57] Ben: This might sound crazy and awful, but every now and then I have this thought that if my house burned down and I lost everything, it would be terrible. But I, a part of me feels like in some ways it would be very freeing. Like all this stuff that I thought I had this tight connection to and I, and was holding me down, suddenly none of it would matter anymore and, and I would have just options.

[00:46:24] Adam: Zen Buddhist of you there, Ben.

[00:46:26] Ben: Yeah. I mean, look, nothing's burned down so I can't say whether or not it would actually happen, but I've, I've always had this feeling. I've always just felt stuck, I

[00:46:34] Adam: my Funko Pop collection.

[00:46:38] Ben: but anyway.

[00:46:39] Tim: see like a, happy homeless person, you know, just like they're walking along the side of the road, they got their backpack on. They're not the kind of like, like all sad sack at the Walmart shopping center. You see, so like, you know, this person, they're obviously homeless, but they don't seem bothered.

[00:46:53] Tim: I'm like. I could probably do that. That

[00:46:55] Ben: Bye.

[00:46:57] Tim: would be so

[00:46:57] Adam: They call that van life, Tim. That's a thing that you can be like, an

[00:47:00] Adam: influencer doing that.

[00:47:01] Tim: Oh, trust me. I I've checked out van life. I'm like, I could do that. I could totally do that. I could totally live in a van, you know, just, just drive around and did, you know, make money here and there. That that'd be great. No stuff, just travel.

[00:47:14] Tim: Seems awesome. I've tried to encourage my son, my mom actually tried to encourage me to do that back in the day before I was married. She's, they brought home a, an RV that was a used RV. And my mom's like, I guess they just want to be out of the house. and she's like, yeah, you could, you know, you live in the, she's telling me all the adventures I could have and riding around in this.

[00:47:33] Tim: I'm like, I don't think so. I don't want to be homeless. And I'm like, you know what? My, maybe my mom was onto something.

[00:47:39] Adam: Yeah, I kind of want to do it. Like, after the kids go off to college, I want to like, you know, kind of fix up a sprinter van or something and, and, you know, put, make it nice and like, you know, just be like, okay, I'm going to go work from the road for the summer, right? Like I'm going to drive out to Utah or something and just like, you know, touch some grass.

[00:47:55] Carol: Yeah, Steve and I have talked about that to you. Like once he gets out of the army, cause we don't know where roots are yet, right? Like we don't know where we want to live. So we feel like throw our stuff in a storage unit and just travel across the country and see what feels like home. That's

[00:48:11] Ben: cool.

[00:48:12] Tim: Awesome.

[00:48:13] Adam: Cool. Tim, you want to throw in your topic?

[00:48:15] Ben: So ticketing, you know, most people have a ticketing system. I've, I'll, I'll be upfront. I've I'm anti ticketing system. pearls.

[00:48:27] Tim: yeah, clutch, clutch pearls. I just, I just think they become. A bureaucratic mess and a nightmare, but I do understand. So we do have a ticketing systems. We use just the stock, JIRA cloud version.

[00:48:41] Tim: and I do see the value of it in like planning a project and things like that. But, but my issue is I've seen it too many times being used to where. People just worry about, you know, getting a ticket done and don't necessarily worry about solving the problem. Cause a lot of times you'll have a, you either have a project that you're working on to build, or you have like some, some big problem that you're doing and those have to be broken down.

[00:49:06] Tim: So you have a problem or a solution you're working on and it's broken down to a bunch of tickets. And people get so focused on just managing the tickets. And that's typically because people like start making your ticket output the most important thing. Right. And so if all, it is dumb. It's so the, if all you care about is how many tickets people get done, people are going to get a lot of tickets done poorly, and now you

[00:49:33] Carol: going to crash.

[00:49:34] Tim: Your system's going to suck. And then you're going to have to have a really big QA team that that's going to have to check all your stuff. You know, you made the, you made the test pass. If you had tests at all, make the test pass and then you get, you close it, you know, pass the ticket over. And typically you can't close the ticket.

[00:49:51] Tim: Like the person who works on it usually can't close it. They can't be like, Oh yeah, I know this works. Everything's great. It goes off to someone else that sits in their bucket and your, their ticket is not necessarily your priority because they have other tickets that they're working on and are checking.

[00:50:04] Tim: And then you just have people whose only job is to look at tickets. That is the most,

[00:50:09] Tim: what

[00:50:09] Adam: their little fiefdom.

[00:50:10] Tim: they manage their little ticket world and then they sort of become like the, the, the ticket God that, you know, if you want, it's, it's just

[00:50:18] Adam: Isn't that the, that person is the, the product owner?

[00:50:22] Tim: maybe, I don't know,

[00:50:23] Adam: That's the job of the product owner. And it, no, I was making a joke, but it was not a good one.

[00:50:27] Tim: Yeah. I, uh,

[00:50:29] Carol: Well,

[00:50:29] Carol: two things. Measurables are only meant, like, as a way for someone to spend time figuring out how to break the measurement. Like, if you tell a developer, like, we're going to measure you by ticket output. They're like, all right, cool. I'll find a way to get around that. Like, we'll put a ticket in for every little thing we do and we'll just sit and submit it done, right?

[00:50:48] Carol: Measuring is awful. Like it's terrible when you talk about it on almost anything engineering related. And then this doesn't sound like a ticketing thing you're talking about. I think it's a people problem.

[00:51:00] Tim: yeah. I mean, ultimately, ultimately, yeah, right. Everything's I mean, I'm much more. Like to just say, Hey, what's the problem? What's the best way we can solve that. Right. And then solve the problem. Don't worry about ticket velocity or, or things like that. And the worst is like when a customer gets involved and they're allowed to create their own tickets or they're allowed to, you know, reject tickets or things like that, and now they have a competing concern against you.

[00:51:29] Tim: And they're wondering why stuff isn't getting fixed. Well, it's because everyone's focused on tickets rather than problems. Fix the problems. And that's why I, you know, my model is, is like make as few tickets as possible. You know, ticket really needs to, if there's an actual, like, so you have a ticket, they have a problem, right?

[00:51:49] Tim: And you know that the problem is going to be, there's some UI issues and we only have a certain amount of people that are really good at that. And there's some backend issues and some, you know, some security concerns that we have to take a look at. Make three tickets. Don't break it up into 50 tickets.

[00:52:03] Carol: and

[00:52:03] Carol: link them together so they all get done and don't release without each other if needed. Easy enough. And there's something too about grooming, like your backlog and your tickets, right? Cause I remember at my previous job, I went in and I was like, Oh, there are all these very simple, like tasks that I could just work on that'll help me learn the system while they were like three years old.

[00:52:23] Carol: So I go in and I start working one. And as I get like it in my name and start learning where this area is, I get a message that says, Did anyone tell you to work that? I'm like, no, they just told me to pick up any of the old or simple, like, technical tasks. And they're like, oh, that's already been fixed. It needs to be closed.

[00:52:41] Carol: I'm like, well, how many? She's like, yeah, a lot of them have already been fixed. No one's just ever closed them. I was like, you know, groom your backlog. If it's over a year old and you haven't touched it, you probably don't need it anymore. It's probably not that important to your company or your client.

[00:52:56] Carol: Yeah.

[00:52:56] Adam: I'm putting that on my list, cause, like, so, you know, today's Thursday. We are, On Saturday, I think, is officially the first day of our SOC 2 review period, right? So, I'm staring down the barrel of everything has to be done. and, so, I'm trying to avoid This kind of gets into my topic. I'm sorry if this is, transitioning away.

[00:53:17] Adam: But like, the I'm trying to avoid my usual approach to work, which is a bias for action, right? Like, I've been at a very small company for almost 13 years now. You have to keep moving and you have to be efficient with your time if you're going to be profitable and eat. and so for 13 years now, it's just been go, go, go, go, go.

[00:53:37] Adam: Whatever is the most obvious and also simultaneously, like obviously good for the product, that's what I do. unless there's like a, a declaration from on high, this is the thing that you need to work on. You know, if I'm in a moment of self direction, it's like, whatever is in front of me grabs my interest and seems important, I do it.

[00:53:56] Adam: And now that we've got, I've got this like two day period where it's almost time for SOC 2 review to start, I'm like, wait a minute. Okay. I need to take my hands off the steering wheel, my feet off the pedals, and just take these two days to think

[00:54:07] Carol: Yeah.

[00:54:08] Adam: what is strategically important to us right now. And that is so hard for me.

[00:54:13] Tim: hmm. Mm hmm. So before you get to your topic, let me finish off

[00:54:16] Adam: Yeah, go.

[00:54:17] Adam:

[00:54:17] Tim: so, so one of the other things that people say the benefits of having a ticketing type system is, is that it. It can sort of somewhat become documentation of issues or at least a history of it. But sometimes if some of these, if there's a ticket that's just been around too long, or it's been sat for a while, and then there's lots of comments on it and lots of, I have an, it's almost impossible to decipher.

[00:54:41] Tim: You know, you have the initial description that winds up not actually being the real problem, and the real problem doesn't even actually wind up being the, the, the end result action that you take. And so you can't tick, tease that out of that ticket, right? And there's a lot of things that just don't even get noticed.

[00:54:56] Tim: I just wind up usually just looking at the commit and say, okay, what actually

[00:55:00] Carol: Yeah.

[00:55:01] Tim: What was, what was actually done? So I don't think that's a good argument. Tickets themselves are not necessarily a good documentation system.

[00:55:08] Carol: Oh no, I don't think they are at all.

[00:55:11] Ben: I do, I do like that our support team will oftentimes have very detailed tickets. They have some sort of template that they use about reproducing the steps and what was the expected behavior and, and what's the actual behavior. But even that I find gets taken to the extreme where. Say like a button is supposed to do something when it's clicked, they still go and fill out the entire template.

[00:55:34] Ben: So they'll have like, the, like, user should be able to click the button when the, but user clicks the button, the action should happen. The actual behavior is nothing's happening. You're like, you could have just wrote, fix the button. Like you didn't have to have all the ceremony about what was actually happening.

[00:55:49] Ben: But when it's a complicated bug, it's really nice for 'em to do that. But I wish they could, they could apply some, some nuance to it and, and. You know, keep it simple when it

[00:55:58] Adam: I would take that over, it's broke. What's

[00:56:02] Carol: me too. It was like, I don't want a ticket that says fix the button. Yeah.

[00:56:06] Adam: Like, okay, you work on the internet all day, every day.

[00:56:10] Carol: huh.

[00:56:10] Adam: You're going to tell me something's broken and you're not going to provide, what is, what is the one thing that you should provide when you're saying something is broken? You should provide a link to the thing that's broken.

[00:56:19] Adam: And I have to, every single ticket, I'm like, okay, well, what are you talking about? Can you give me any clues at all?

[00:56:26] Ben: my pet peeve, and I've, and I'm only, I only even ever think about this because I'm on the receiving end of it. When people will take a screenshot of the application showing the bug, but do not put the URL in the

[00:56:41] Tim: They,

[00:56:41] Carol: Err.

[00:56:42] Tim: they purposely cropped that

[00:56:43] Ben: I'm like, I would know what you're talking about. Like the URL has IDs. I could look up and I could understand why your data is breaking.

[00:56:50] Ben: Why did you leave that out?

[00:56:54] Adam: in our little homegrown ticketing system, if you... So the, you create a ticket by like pressing a button that's on every page and it pops up a little modal and you fill out the form in the modal and submit it. If you do that from wherever the, you had a problem, the, the ticket like knows what page you were on when you created the ticket.

[00:57:13] Adam: And so it'll capture that. So sometimes that's helpful, but often it's like they went to the ticket homepage to create a ticket. I'm like, Oh, I made it easy for you.

[00:57:24] Ben: Well, let me ask you this because I know that some philosophies recommend every six months or a year to go into your backlog and just. Clear it. Just delete everything with the assumption that if anything in there that was important, it'll come up again and it'll become a new ticket. I've never

[00:57:42] Carol: all for it.

[00:57:43] Ben: Yeah. Have you done it? Yeah.

[00:57:43] Carol: All fo I'm all fo No, I've never been anywhere that they would let us do that. But yes, I am all for it.

[00:57:49] Adam: Carol wants to Marie Kondo your tickets.

[00:57:51] Ben: yeah, we have like 400 tickets or 500 tickets on our

[00:57:55] Adam: Nothing. That's

[00:57:56] Ben: most of them are not, not even valid anymore.

[00:57:58] Carol: Yeah.

[00:58:00] Adam: Look mine

[00:58:01] Tim: So, I mean, I, I see the value, somewhat, see the value of ticketing systems, but I just think people go way too crazy on them, and they be, they come part of the problem rather than part of the solution many times. So that's me. How about you, Adam?

[00:58:13] Adam: Well, I kind of mentioned it, you know, I've had this bias for action for 10 to 13 plus years of, of working at this company. And I'm like sort of at this precipice where I can see this growth coming in the company. Like we're, we're on the verge of hiring potentially like another full time, you know, senior level developer, plus also like considering some interns.

[00:58:38] Adam: And if we did, if we were to take all of that on sort of in a short period of time, it would make sense for me to start doing more like leadership mentorship within the company and a little bit less, you know, I see individual contributor programming type work. and, and so that's just got me thinking strategically or thinking about what that life would be like and what that role would be like.

[00:59:04] Adam: You know, something that every now and then I'll ask Steve, like, you know, what should I be doing to make your job easier to, you know, push the company forward? And the last time that I asked him, he said something along the lines of like, pick a part of the product and sort of become the product owner for that thing.

[00:59:24] Adam: module or online giving or whatever it is, like, you know, and obviously that conversation goes deeper.

[00:59:31] Carol: he has a part that he is kind of all over, right?

[00:59:36] Adam: Yes and no. He, I mean,

[00:59:38] Carol: on.

[00:59:39] Adam: I am,

[00:59:40] Carol: thing or something.

[00:59:42] Adam: I am blown away on a daily basis by how much, information about the way the system works he continues to display he has at a moment's I'm too deep in this sentence, sorry. He can, at a moment's notice, grab, you know, like just the most arcane little detail about the way something works and like why it works that way and that sort of thing.

[01:00:05] Adam: And we have a very wide surface area of art. We have two major products and he just like, he knows them all. Like through and through and it blows me away. And on top of that, he does all of the other things, right? You know, he's, he's HR, he's accounting, he's legal. He, you know, all these other things, he's sales.

[01:00:22] Adam: He does, you

[01:00:23] Carol: When does he sleep?

[01:00:24] Adam: never, but, like, so, you know, it, it's, it's humbling because, you know, he's like, I want you to pick one or two of these modules and, and sort of become their product owner. And I get it because that's probably what he's trying to do is offload some of that. that necessity for him to be doing that sort of thing, to have that information in his brain.

[01:00:44] Adam: and, I, you know, like just knowing one or two of the models where I wrote the code, right? I wrote the vast majority of the code, and I can't remember like how and why it does, it behaves the way that it does. And, and yet I know he does like ten times what he's asking me to do, and he does it on a daily basis while doing all his other stuff.

[01:01:04] Adam: It's, it's humbling. anyway, yeah, I was kind of going off, like I'm, I'm trying very hard to like be strategic and think about like, okay, I could do something with my time. I could write code and that's, let's just say that that's like one X of my, ability to contribute to the company. And I'm trying to like, okay, what could I do to 1.

[01:01:24] Adam: 5 X or, or two X? Like, what can I do that will have compounding effects, right? So like, if I can make builds run faster, then everything after that point gets done faster and we can do more in a day, that sort of thing. and so, and even that is like an engineering effort, right? Like not, not everything that even is up for consideration there is writing code or, or that sort of thing.

[01:01:48] Adam: It's just, it's a, it's a whole new world for me. And it's, it's strange. I feel like I'm in the upside down on Stranger Things, right? Like it's just, everything's different. It's dark and I don't know what's going on. There's a monster in the corner.

[01:02:01] Carol: Yeah. I feel like it's crazy when you get to a point in your career or in the job that you're doing where you started out writing code all the time, right? But now coding feels like the cheapest effort you have, right? Like it's the, the least costly thing. Everything else has such a high impact and like creates money outside of just code.

[01:02:22] Carol: If that makes sense. Yeah.

[01:02:24] Adam: Yeah. Like, yeah. And so I'm, I'm trying to like. Not so much make peace with it. It's not like it bothers me that I'm trying to do something other than code, but it's just, it, it feels unnatural. And so it, maybe that's what it is. I don't feel good at it. Right. And that bothers me, like. I've been heads down on this non coding stuff for more than a year now.

[01:02:44] Adam: I, I, I went back and looked in, between SOC 2 and PCI. I started the two of those sort of end to end in like August of 22. So it's been more than a year that I've been working on

[01:02:54] Ben: a lot.

[01:02:55] Adam: Now that, that doesn't mean I haven't written any code for that time. What it means that like, you know, the vast majority of my focus and my time has been spent on those things.

[01:03:03] Adam: I sneak in code here and there. but like, you know, now that we're like winding down the demand on my time portion of that, I've been like on different projects and I, yesterday or the day before, or maybe both, I just like got into these grooves where it's like, okay, keep the caffeine coming. And I'm just like pumping out code and doing little things and this and that, this and that, and it felt good.

[01:03:23] Adam: But at the same time, it's like. I can do more than this. I don't know. It feels like, like I've unlocked something in my brain where I can see a bigger picture than I could before. I can see that like, you know, I, I, the time, the thing that I want to spend my time on because it's fun and useful is good.

[01:03:43] Adam: But like that, if I spend some time to think about the possibilities that I could come up with something that would be even a better use of my time.

[01:03:52] Tim: Mm-hmm. Welcome to my world for the past few years.

[01:03:56] Adam: Yeah.

[01:03:57] Tim: So, so I actually lied, I guess, in our traps and fails, there is something that it did when you were talking about this kind of struck my. Brain, that, that speaker, that's motivational speaker that we had. His name's Ryan, Ryan Avery, by the way. So Ryan with an A, Avery, A V E R.

[01:04:13] Tim: com. the keynote speaker, Emmy award winning, world record breaking, motivational speaker. and this isn't, I mean, it doesn't sound world shaking, but I think it's a good point when you're trying to be more strategic, less reactive, more. Forward looking, like each month, he said, ask yourself this coming, this past month.

[01:04:37] Tim: What do I need to do more of? What do I need to have done less of with my time? And what do I need to do about the same? So you kind of do an audit of how you spent your time versus how you plan to spend your time next month. You might say, all right, I did a whole lot of hands on keyboard coding that really someone else could have done, and maybe I need to spend more time.

[01:05:03] Tim: Building a product roadmap or whatever it is, right? But just that's the simple question. What do I need to do more of? What do I need to do less of? And what do I need to do about the same?

[01:05:14] Adam: Right. I like

[01:05:15] Ben: really hard to

[01:05:16] Carol: I do too. It is, right?

[01:05:20] Adam: Yeah. And that's, I think that was part of what makes me uncomfortable about it. Right. Because like I can, I have no problems sitting here at the keyboard and pumping out code and going, I'm earning my paycheck right now. But if I'm sitting here going like, what should I be doing more next month? And what should I be doing less next month?

[01:05:37] Adam: It feels less like working to me right now. It was like, I'm getting paid to have these thoughts. That's weird.

[01:05:45] Tim: It, it, it is weird. And some, I sometimes feel guilty when I'm just, because sometimes, you know, I work from home, so sometimes I will just, I'll get off, off the computer. I will just, but maybe put my email up just so I can see if I'm getting messages. In case I need something. Crazy comes up, but I'll just kind of go lay down, not lay down in bed, but just kind of relax in bed and just kind of think and just, and just try to get out of, get out of, because I'm on the keyboard.

[01:06:13] Tim: It's like, I know I'm going to start working on something. I'm going, Oh, I need to go look this query up. Right. Oh, I need to go pull this data, and just think about, all right, you know. What do, what do we need to strategize? How do we need to take this business to the next level? You know, we're kind of stuck at the same kind of revenue for the past couple of years.

[01:06:33] Tim: How do I, how, how would I double our revenue next year? And what would that look like? What would, what would we have to build? What would we have to do? Who do we have to hire? What would our sales team look like? So that's a lot of considerations. You can't just daydream that. You gotta really think

[01:06:50] Adam: what you do is you Elon Musk it. You come in and you say, this is what we're doing. Figure it out. And then you walk out of the room.

[01:06:59] Tim: No, he, he, first he fires like half the company and then he goes, now figure out how to double revenue.

[01:07:04] Carol: Mm

[01:07:05] Adam: By Friday. Well,

[01:07:06] Carol: hmm.

[01:07:08] Tim: But, but, but that I'm like, I should be doing something. And when I realized I had to stop and say, no, I am doing something. I'm doing something that I'm doing something that probably no one else in the company is doing right now. They're all doing things that I told them to work on. Someone has to be thinking about the future, thinking about.

[01:07:26] Tim: What are our challenges? What are, what are our competitors doing that we're not doing? What are we doing that they're not doing? How do we, how do we tell that story? that's hard,

[01:07:35] Adam: that's not helping me feel any better, Tim, but

[01:07:37] Ben: I know, this has all made me feel very anxious.

[01:07:40] Carol: Right? Tension's high.

[01:07:42] Tim: but I will say one thing that this Ryan Avery said that I did like it, it's cute, but it's not, I don't, you know, he's giving all these motivational things and he goes, you know, I want. He says, I want you to be the leader, not a leader. He kept hitting the word the versus a. He says, that's important to be, you know, be the programmer, be the best person in marketing.

[01:08:05] Tim: Or he said, because if you don't think it makes a difference, I want you to text your significant other and say, tell them you are a love of my life. And let's see how that goes over. Like it makes a big difference. You are the love of my life. That is much stronger statement than you are a love of my life.

[01:08:23] Tim: You're right up there with football and

[01:08:24] Carol: Yeah. Heh

[01:08:26] Adam: Okay. Should we wrap there?

[01:08:29] Ben: Yeah.

[01:08:30] Adam: think so.

[01:08:30] Patreon

[01:08:30] Adam: All right. Well, then, this episode of Working Code was brought to you by A Love of My Life, Cool Ranch Breakfast Cereal, and listeners like you. If you're enjoying the show and you want to make sure that we can keep putting more of whatever this is out into the universe, then you Patreon.

[01:08:44] Adam: Our patrons cover our recording and editing costs, and we couldn't do this every week without them. Special thanks, of course, to our top patrons, Monty and Giancarlo. You guys rock.

[01:08:54] Thanks For Listening!

[01:08:54] Adam: I think, as we discussed earlier, the after show is probably going to be talking about book stuff. If you want to hear more about the behind the scenes of what's going on in Ben's book, then you should, become a patron.

[01:09:03] Adam: And if you want to do that, you can go to patreon.com/workingcodepod. So that's gonna do it for us this week, we'll catch you next week, and until then,

[01:09:11] Tim: Remember you are the heart that matters.

next episode: 148: The Day The Code Stood Still

prev episode: 146: Resiliency is Hard