075: What Problem Does This Solve?

Sponsors

Carol - who has recently stepped into a managerial role - is facing an interesting situation: her company wants to start implementing process changes across the board. However, Carol's own team is kicking ass and taking names; and, she can't understand how any of the proposed changes will actually make her team more effective. In fact, she believes that some of the changes will be counterproductive for her team. So, the question becomes: how does she push-back against the proposed changes without looking like an antagonist or a contrarian?

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] Carol: So instead of being on the red team suddenly you were on the the collaboration squad and it's like from the team standpoint literally nothing changed at all day to day same as it used to be but someone higher up just felt like shifting these things around would somehow magically make things more productive Yeah, I'm sorry, but that sounds like me when I clean my house and I haven't taken add meds and I just literally pick up one thing from one room and put it in the other room

[00:00:29] Intro

[00:00:29] Adam: Okay. Here we go. It is show number 75 and on today's show, we're going to be talking about changes and there you go. but as usual, we're going to start with our triumphs and fails.

[00:01:00] Adam: And Ben, it's your you're trying to go first, buddy. What do you got going on?

[00:01:03] Ben's Fail

[00:01:03] Ben: I'm going to kick us off with a failure of sorts. Don't really a failure, but I've just been feeling out of it lately. Just not terribly focused. I feel like I'm losing not in like a dementia sort of way, but just like I think about yesterday and like nothing, just like, nothing's sticking in my head.

[00:01:22] Ben: I feel just sort of, like my brain is swimming through time.

[00:01:26] Adam: So, where are you on the rope? checklist.

[00:01:28] Ben: so it's, I'm in a really interesting place because I've actually been shipping. I'm having like fits of shipping stuff at work. but then I keep going back. you what it is is, I'm coming up against this end of life for my platform. And as it approaches, I feel like. feels like, I've been feeling lonely at work and I've been feeling like there's no one to celebrate my wins with me because no one really cares about the old platform anymore. so a few times, maybe a few times it's like all just feeling more and more few tile as I continue to try to move forward, doing what I can for the old platform, knowing that it's going to end and like seeing migrate.

[00:02:04] Ben: And, I look at my analytics and I'm seeing analytics for features like slowly start to, go down into the right, in terms of usage. And it, it becomes harder and harder to motivate every day to get up and keep trying to crush it at my usual levels. so I was just, been tough.

[00:02:22] Ben: It's been

[00:02:22] Adam: So only like 95% crushes.

[00:02:28] Ben: But, I do feel triumphant in that. I am continuing to try and crush it as much as possible, despite the fact that it's like, if Ben crushes it in the woods and no, one's there to hear him, I can see actually crushing it. But so I feel good about that. I'm slogging forward, but I just feel like out of sorts lately, so

[00:02:50] Adam: So you said you're coming up on the end of life here. Do you have like a date or is it just once I managed to get everybody off migrated to the new stuff?

[00:02:58] Ben: so it's so amorphous, it's like, there's kind of a date to the next couple of quarters, but it's all subject to subject change and it all depends on how fast we make progress with some of our migration efforts, which historically take a lot longer than we're anticipating and it's, but it all feels just very So.

[00:03:18] Ben: me

[00:03:19] Adam: been, doing any research in like where you want to move when a move is necessary?

[00:03:25] Ben: so tough. It's so tough. because lot of the, a lot of the teams are obviously goal-based Golang. and I just, every time I look at a PR that has go in it just as such a turnoff and I'm sure a lot of it is just that I'm not familiar with the syntax, but I feel like the syntax is just wonky and no, the error handling in go is so terribly verbose and it's just very different from my particular style.

[00:03:52] Ben: So you're not allowed to use as many, line

[00:03:54] Ben: exactly you can't have, you can't have nearly as much white space. Your variables all have to be like one character long. it's really bizarre. But then on the other.

[00:04:03] Tim: that's Pearl.

[00:04:05] Ben: Yeah. and then on the other hand, all the front end stuff is all in react and I don't have a lot of with react.

[00:04:11] Ben: So I don't know exactly where I want to go. of me wonders if maybe I should be at least for some period of time, just like a floating bug fixer. And that way I could sort of get my feet wet with the new platform. And cause I, I only even vaguely understand the capabilities of the new platform.

[00:04:30] Ben: There's a lot of stuff I just have to learn in order to be effective. and I wonder if there's that can just kind of from the fire hose in terms of the breadth of everything before I focus in one particular area,

[00:04:42] Adam: I wonder if you would have the opportunity to like pick two or three teams. Like think of as your most likely that you'll join them and then just spend like a week on each team, just try to be a part of that team, fix bugs for them or whatever. and, that way you get, it's like a tryout or whatever, but you're trying them out, I guess they're drying you out too, but

[00:05:02] Ben: exactly. it'll work itself out. I'm confident that I'll land somewhere and get up to speed. the hardest thing is just going to be the mental reset that I have to do basically going from a subject matter expert to basically I'm pretty much the same as if you had just hired me to work on this stuff.

[00:05:20] Ben: And I'm I have historical understanding of the company, but I have basically no historical understanding of the new platform. So.

[00:05:28] Adam: Yeah. Oh man, that reminds me of, like, I went through this period where I kind of rage quit the CFML community.

[00:05:36] Adam: Um and I just, I got fed up with certain aspects of the corporate side of it that the Adobe and their shtick, and I got fed up with some of the community itself. And so I just kinda was like, you know what, screw this.

[00:05:54] Adam: I'm, I keep putting effort and time and my, for lack of a better word, my love into this community to try and make good stuff happen.

[00:06:05] Carol: Yeah.

[00:06:06] Adam: right. The return on investment was like negligible. So I was just like, I'm done. And I quit and I've reinvested my energy into other stuff, particularly JavaScript and TypeScript.

[00:06:20] Adam: and I went from being, but, pardon me for kind of tooting my own horn here, but it's true that the CFML community is really small. So I went from feeling like a big fish in a small pond to feeling like a tiny speck of fish food in the ocean. Right? Like. I feel like I have no authority to blog on anything and like just kind of, I, I imagine that's probably similar

[00:06:45] Adam: to what you're feeling

[00:06:46] Ben: percent that, I'm going to have to ask people like, Hey, my code's not compiling. someone take a look at that? And like, I've never had

[00:06:53] Carol: How do

[00:06:53] Ben: to ask that in like a decade

[00:06:56] Ben: Yeah. if there's one thing that I think is one of my super powers, it's just debugging code. But I think that stems from being so familiar with the platform and now it's going to be like, doesn't work and I have no idea what to do.

[00:07:09] Ben: And I don't even know, like, I don't even think you could just throw a debugger or like a, what am I going to do without CF dumped? I

[00:07:15] Carol: Yeah.

[00:07:16] Ben: just

[00:07:17] Tim: Step the buggy man stepped the

[00:07:19] Ben: is that a thing and go, I don't know.

[00:07:21] Carol: It's so great. I will tell you that's one thing about when I switched jobs, I was terrified of not being able to pick up a new language. And then once I got in there and I started learning, I realized that a lot of what I have learned in the lot of the core of what I understand still applies.

[00:07:36] Carol: still have the ability to think that way. I just have to do it in another way. And I have to Google different things. I'm like in.net, how do you output debug code? And I'm like, oh, okay. Let's put it in the console. Like, let's get it in the output log. Like, okay, I'm figuring this out. I'm like, where is just the CF dump here that doesn't exist?

[00:07:54] Carol: Like there is no just dump

[00:07:55] Ben: Right

[00:07:55] Carol: it to me. So like once you figure that out, you'll feel more comfortable. So it'll just take a little time. I will say challenges are helping me though. So if nothing else you are me because my team is going to be transitioning into the same process.

[00:08:12] Carol: So we're going to be taking our legacy. Application and current platform, we're going to be transitioning it into a new version. there's a couple people who are super excited to just kind of stay on CF for as long as possible. they've made it clear that they want to be the last people standing.

[00:08:30] Carol: worried about them at the end of it with how do they transition off. So sorry, you're

[00:08:35] Ben: Yeah

[00:08:35] Carol: pains, but I'm definitely learning from you and hoping that I can take some of your struggles into my team and help them so that they don't have the same struggles again. So you're helping me and helping my team.

[00:08:46] Carol: So I that then.

[00:08:47] Ben: good about that then.

[00:08:50] Carol: Yeah.

[00:08:51] Ben: so that's me, Adam, what do you.

[00:08:54] Adam's Triumph

[00:08:54] Adam: I'm going to go with the triumph this week. about a year ago. actually when this episode airs, tomorrow, a year ago, so the Thursday after this episode airs, it will be a year since, my, initial release of Semafore my CFML feature flags library.

[00:09:10] Adam: Um and shortly

[00:09:12] Ben: that's crazy

[00:09:13] Adam: Yeah

[00:09:15] Adam: and. So pretty shortly after I built it.

[00:09:18] Adam: And, we talked about it here on the show and stuff. we had it in production in our app and it's been working great for us ever since. but that was with one caveat and basically it's been working great for us because we had one problem with it and we found a way to work around it sort of as a band-aid.

[00:09:34] Adam: it, the way it was originally written, I don't have good support for mixing and Ann or operators or I don't know what you would call those and, or expressions with different rules. you could have a bunch of rules and, and them, like, all of them are, and, or you can have a bunch of rules and, or them all, but you can't have like a mix like this and this or this and this sort of thing.

[00:09:53] Adam: and so finally I'm adding support for that because, we had a way to get around it, but it was super annoying. and it's. And actually, so I w I made the changes today in sort of the data model. And I wrote up a blog post about it, about how it's gonna be different. And I took our existing flag data, and I converted it over to the new data structure and getting rid of the extra flags that we needed to work around.

[00:10:17] Adam: The problem. The data is now about half, as much as it was before for the exact same flags. We just, our solution was like, okay, so we don't have or support, but we need sort of complex ands and ORs. So let's just do like, okay, this is the flag for the production environment. and the rules are like environment is production and customers, this and blah, blah, blah.

[00:10:37] Adam: And then the there's a QA flag environment is QA and blah, blah, blah. And we, instead of like, is the flag enabled for this feature? It was like, is the flag enabled for feature dash QA feature dash prod feature dash dev. So it was checking multiple features and if any, or multiple flags, and if any of them evaluated to true in the current. Then it would return true. So it's kind of like feature flag around a feature flag, I guess. anyway, so because of the changes, now we have far less data in that file, which makes me feel good. And that'll be, a third of the number of items on our dashboard, managing the feature, flag data and stuff.

[00:11:14] Adam: So I'm excited about it.

[00:11:16] Ben: I'm just so excited that you're excited about feature flags.

[00:11:19] Adam: Oh yeah. they're great. everybody on my team absolutely loves them. So they've been a huge win for us

[00:11:25] Adam: we're starting to do things that are going to be like more or less permanent feature flags too. So like we have a module for alumni association membership and. a customer might start out with the module disabled, but then they're going to want to like turn it on for a few people to get a preview of what it's going to look like and how it's going to operate before they turn it on for, the public or whatever. So the feature flags gives us the ability to just turn it on for those few people, let them see it and make sure it's all configured properly.

[00:11:53] Adam: And then just turn it on globally.

[00:11:56] Tim: cool.

[00:11:57] Ben: For whatever reason what you were just talking about Reminded me of I was listening to an episode I think it was a design details the other day And they were talking about Apple's chip architecture and they were saying that there's all different types of price points for the chips but under the hood they're actually just all the same exact chip And then it just they just like deactivate some of the GPU cores or something They were like it's less expensive for them to give you a more powerful chip but then disabled it than it is to produce different types of

[00:12:29] Adam: You're talking about their new SOC system on a chip,

[00:12:32] Ben: Maybe I

[00:12:33] Adam: like the new

[00:12:34] Ben: Yeah yeah yeah yeah,yeah

[00:12:35] Adam: actually, it's an interesting thing I learned a few years ago. That's how, CPU's and GPU's are like, they're always aiming for the higher or whatever, but then when they QA them, it's like, oh, okay. This one only works at this clock speed, or it only performs well and efficiently at this clock speed.

[00:12:52] Adam: So that's what we're going to sell it as

[00:12:53] Adam: and they just, it's not even an intentional like burn these,transistors offer anything. It's just, they don't work. that it was an imperfect implementation on this particular square of Silicon

[00:13:06] Ben: Yeah It's So fascinating

[00:13:08] Carol: It's like our car matches anyone else's car, but we have to pay extra for upgrades to it. And all the upgrade is, is just turn the feature on. So

[00:13:17] Carol: so

[00:13:17] Adam: feature

[00:13:18] Carol: Ridiculous. I have the car. Let me drive it.

[00:13:23] Tim: Do You have a Tesla?

[00:13:24] Carol: yeah. See, you has a Y.

[00:13:26] Tim: Oh,

[00:13:27] Adam: anyway. So that's me.

[00:13:29] Tim's Triumph

[00:13:29] Tim: go with the triumph So work-wise, things are steady state, nothing too super excited. I mean, we, few weeks ago we talked about closing that deal. That's awesome. We, I, we got it live yesterday, so it's up and running was pretty quick turnaround. So, but you know, otherwise, shipping some small things and nothing huge, personal life, COVID kind of lessening up here and people kind of getting somewhat back to normal.

[00:13:53] Tim: my daughter is 16 and she's never been to a concert. And there was, Atlanta has a music festival called shaky knees. And so, green day was playing and, Dropkick, Murphys, and. A bunch of other ones anyway, took her to a concert. My son had a school thing, so he couldn't go. He was in, oh, Hey baby.

[00:14:10] Tim: son was in Atlanta for, their e-sports team went to and one of

[00:14:16] Tim: their team members,

[00:14:17] Carol: Oh, that's awesome.

[00:14:18] Tim: he's the best Madden player in the east coast.

[00:14:21] Ben: That's crazy

[00:14:21] Tim: So he,

[00:14:23] Adam: That's not your sign. You said that's

[00:14:24] Adam: one of the kids on the team

[00:14:25] Tim: the players. Yeah. Their team did pretty good, but they didn't take state. So

[00:14:28] Carol: That's

[00:14:29] Ben: still blows my mind That e-sports is a

[00:14:32] Ben: thing they're like Yeah Yeah exactly

[00:14:36] Tim: and what cracks me up. So they had the honors night for the seniors and my son, he's valedictorian. I know it keeps saying that a lot, but I'm very proud of him,

[00:14:43] Carol: Yeah

[00:14:43] Tim: uh, highest, highest,highest score in three of the four classes he took. And, then they have one for like, they call them the school mascots, the Trojans, that football teams called the Trojans.

[00:14:54] Tim: And, they had like student athlete awards. And, and there's this kid, he, he's a good football player. he's an a plus honor roll student and he's going to Yale. we all just assume that he was going to get that award. So they call it out and they go, the highest grade average and, play sports.

[00:15:10] Tim: And they said Maxwell Cunningham. goes, he looks over, he looks at him like, what's. And they

[00:15:17] Tim: gave him this

[00:15:17] Carol: you guys screwed this up.

[00:15:19] Tim: this gift card. And he goes and sits back down and he looks at the people next to him and goes, I guess e-sports counts.

[00:15:25] Carol: Oh

[00:15:27] Tim: And that's what it was. It's e-sports scout.

[00:15:29] Tim: And he, he felt so bad. He went up to the kid, that's going to yell with under football scholarship. He's like, dude, I'm so sorry.

[00:15:35] Carol: yeah

[00:15:37] Ben: hilarious.

[00:15:38] Tim: a real athlete. I just mashed buttons. You actually throw you actually sports. So yeah, just lots of fun stuff going on personally. So,

[00:15:47] Carol: Well, that's great.

[00:15:50] Tim: How about you?

[00:15:51] Carol's Triumph

[00:15:51] Carol: Oh, I have a triumph. I, you guys have been listening, I got promoted and have like a new role on my plate, but, I've been writing a lot of code. So I've, in pair programming with one of my developers on this project that we're on and he's on vacation with his wife and he left in just some kind of comments in his code and was like, Hey, really for sure how to handle this.

[00:16:10] Carol: Not really for sure how to handle this. Hard-coded some things here and don't know what to do with it. I grabbed his branch and fixed all of those and I'm super happy. And I pushed them back up and was like, Hey, you have new code, welcome back from vacation. And that made me so happy. Cause I just get to write code and I love writing code.

[00:16:28] Carol: Like I love this new role. I'm man. So they still makes me very happy. So I'm glad I get to enjoy both of it. So that's why Sharia thank you to Rico.

[00:16:37] Ben: Coding is the best

[00:16:39] Carol: the best, right? I feel like coding is the best. When are paired with someone who goes, Hey, I just, I'm at a challenge.

[00:16:46] Carol: Like, I don't know how to figure this out and you grab it. And you're like, oh, gone. I'll work through it. And see if I can't figure it out for you. And it was just a mapping issue. It was, oh, you didn't go file deep enough. He didn't go a path deep enough. That's all it was. And take out

[00:17:00] Ben: Hmm

[00:17:01] Carol: now, I've put in the correct paths for you for things. just learning the application and learning how we've set up all of our mappings to understand how that works. But there's great when you kind of get to go, Hey, it works. Yay.

[00:17:14] Ben: thank

[00:17:14] Carol: go you.

[00:17:15] Adam: Well, I totally agree. I mean, I'm helping others get it, especially if somebody is like, I don't know what to do here. And you can be like, oh, this is what you do. Nothing about coding makes me feel better than that. Like when I know the solution to somebody.

[00:17:31] Carol: Yep. you feel smart too. Yay.

[00:17:34] Ben: I keep thinking about a Groundhog day with bill Murray I care Have you ever seen that

[00:17:41] Carol: I have seen that when

[00:17:42] Ben: movie but there's a one point he's kind of gone out of his mind a little bit And he starts talking to Andy McDowell about how he's like I'm probably just a God is like and maybe this is how God works Like it's not that he's all knowing it's that he's done the same thing over and over again So he knows how everything works

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

[00:18:02] Ben: but

[00:18:02] Ben: how I feel about about like debugging and stuff I'm like I've just failed and had so many bugs so many times that now I just have a good instinct for when I see a bug I'm like oh yeah I know what that is I know exactly what that is and where it is in the stack and how to fix it

[00:18:15] Carol: It's funny you say that because I had the conversation today with someone who was asking me about possible, career paths for them. they were chatting about, like cybersecurity versus a data scientist. And I was like the thing, like personally for me, I think with data scientists is a lot of repetition.

[00:18:32] Carol: That's a lot of the same problems over and over again and resolving them. a lot of what you already know. And I feel like if you go to the cybersecurity route, it's every, day's a new challenge. Like you're going to solve a problem, but then you're going to be faced with new problems next week.

[00:18:46] Carol: Something you haven't had a chance to challenge, like to be challenged at yet. you have to decide like, do you want to repetitive be really good at repeating what you know, over and over again? Or do you want to constantly be challenged on something? You have no idea how to. So that was kind of like my little take away.

[00:19:04] Carol: I was like, go cyber security and sexier,

[00:19:07] Adam: I listened to a couple of like cybersecurity. One of my favorite is darknet diaries. and oh man, it's you're right. It's definitely the new frontier of computing. Now that pretty much the entire world is like online and on computers. there's just like all that much more incentive for hacking and stealing stuff.

[00:19:29] Adam: And, it's just, it's crazy. And if I were a younger man, I might, make that change, that career

[00:19:37] Adam: change

[00:19:38] Adam: I am not, and I will

[00:19:40] Adam: not

[00:19:41] Carol: A little

[00:19:42] Ben: it is

[00:19:42] Carol: I told this guy was like this week, I was given access to of the personal cell phone numbers of every employee in the company. And I was like, if I were a bad person, I would just sell that. I feel like I have everyone's cell phone number.

[00:19:55] Carol: I have fun with it. Like you want the owner of the company? Here's his cell phone number. like, it's so easy to just get data out now. It doesn't take anything. It takes one bad actor to something happen.

[00:20:06] Adam: not.

[00:20:06] Adam: even a bad actor, just,somebody who has access and is

[00:20:11] Adam: careless Yeah,

[00:20:12] Ben: Yeah,

[00:20:12] Ben: If I can just side ran for a second though I feel like it's in Vogue right now for people to talk about how difficult it is to build a login systems And I feel like I can't go a week without hearing someone say well I would never want to build my own login system Like I'd rather I'd much rather outsource to something like off zero or Okta or whatever other options there are And I feel like there's this weird fear-mongering around one Thin part of the application when in reality like every single part of your application exposes data And if you do it wrong could potentially leak terrible data to people who shouldn't have it And I just I understand that there are parts of logins that are more complicated Like if you wanted to do OAuth kinds of stuff or social logins then you're getting into it This isn't really our core business value We should be building features not logins but if you just want to have a username and password like there's some very predictable ways on how to build that and you don't have to reinvent the wheel And that's just as I don't want to say easy but like doing that is no different than securing any endpoint with authorization and validating the people have access to particular records And I just I don't understand where all the fear-mongering comes from It seems like Invoke right now and I don't get it

[00:21:37] Tim: We can blame

[00:21:38] Carol: Yeah

[00:21:39] Ben: so much that can go wrong

[00:21:42] Tim: was not my problem. I didn't

[00:21:43] Tim: write it.

[00:21:45] Carol: the first line of the first line of defense for us, like an application is, are you logged in, are you a logged in user? Like, that is the number one thing. Like once you're logged in, then you get access to a big chunk of information. So if you bypass that login, then, oh man, everything's screwed at that point.

[00:22:02] Carol: So I can see some fear with, I get logged in, right. Like log in.

[00:22:08] Ben: but it's like those systems don't even manage sessions I think just authentication You still have to manage the sessions and make when someone hits an API end point that they have an active session or a token that makes sense I mean there's still it's like you're still doing like 99.9% of the stuff I dunno I sorry End of side ramp I just it

[00:22:32] Adam: Well, what if I'm not going to let you end it? Cause I

[00:22:34] Adam: have responses. Uh, well, so Ben, I know you and I in particular and probably Carolyn Tim as well, this is, we have reinvented this log-in wheel, how many

[00:22:46] Ben: Yeah, times

[00:22:48] Tim: for

[00:22:48] Ben: Like a

[00:22:49] Adam: we've been backend developers for a L probably a lot longer than we care to admit.

[00:22:54] Adam: I think probably what is going unseen when you're seeing that those rants are. I forget how you call it. Fear-mongering is probably most of those people are coming from a, I've been a front end developer. And the idea of having to figure that out is scary.

[00:23:11] Adam: Cause I think, you know,

[00:23:12] Adam: this whole, It used to be, there was no such thing as a front end developer, either you are a web developer or not, and you did the backend and the front end, because there was no such thing as like a separation of front end from backend.

[00:23:23] Adam: I think that generation of coders has a different perspective. And if it was just username and password, I would agree with you. But I think that I hope that they are looking at it through the more, sophisticated logins that are available now. Like one-time passwords.

[00:23:39] Adam: And there's even, I forget the there's a new thing that like Google and a couple of other big companies are pushing. That's like passwordless login, but somehow like even more secure than one-time passwords and stuff,

[00:23:50] Carol: Yeah.

[00:23:50] Ben: yeah

[00:23:51] Tim: So what a side ran off your

[00:23:52] Ben: Do

[00:23:52] Ben: it.

[00:23:54] Tim: Causewhat you just said, Adam reminded me. So I had a call. Last week with the very new client and they're trying to, trying to make it so they can take payments. They do like, training talking to them and I'm trying to, to explain, right.

[00:24:07] Tim: So, because I want to shift it off from their site and kind of kick over our site and we make site look like theirs and I'm like, all right. So all you need to do is just, if you can generate this URL and I kept saying things like generate, or, if you can add these parameters and the guy was like, what do you mean generate this?

[00:24:24] Tim: don't understand what you're talking about. And like, this guy dumb? I was getting really upset because I couldn't make myself clear. And finally, and it's only my fault because I was looking at it from my perspective. I'm like, So what is this written in? He goes, oh, it's more press like, ah,

[00:24:39] Carol: Oh,

[00:24:40] Adam: not doing any backend stuff where he can like dynamically build a URL and, do this kind of stuff. I'm like, okay, here's what we do. I'm like this just, The length that you need to come to this class for, to pay looks like this. And and I didn't talk about generating a parameter, just, you know, classthe URL.

[00:24:57] Adam: Yeah

[00:24:58] Tim: that's the URL and any other class you want just replace that whatever the class number is.

[00:25:04] Tim: Oh, okay. Yeah. I can do that. Just copy and paste

[00:25:06] Tim: these

[00:25:07] Ben: Yeah

[00:25:08] Tim: and we're done, but it's like my total bias of, oh, working in a database building server side code and also doing front end development to make this website look like this. I'm like, no, he's just doing with WordPress plugins.

[00:25:18] Ben: Yeah That's the curse of knowledge

[00:25:21] Tim: Yep. Chris knowledge.

[00:25:22] Adam: right, Carol, what's your side rant off of

[00:25:25] Adam: Tim's

[00:25:28] Making Changes As A Manager

[00:25:28] Carol: I would love to take this to feed into our main topic.

[00:25:30] Tim: go.

[00:25:31] Carol: right. So, Like I mentioned before, I'm multiple times, you're going to hear it a lot coming up. It's kind of running two roles as a challenge at times because I'm individual contributor and I'm also a manager, I'd never know which hat I'm wearing when someone likes schedules a meeting.

[00:25:45] Carol: So then that was going on. one of the things I wanted to chat about is change. And the hell do you manage change when you feel like your team is outside the bounds of that change, or it doesn't apply to us because we're just amazing. And we rock. So we shouldn't have to follow these rules. I'm sorry.

[00:26:01] Carol: We show that we're great. Let us do our thing and we're going to be fine. But one of the things we struggled with is you guys were mentioning it like, when you have front end and back end developers working, like they don't think the same way. They're not working the same way. They have different processes for stuff.

[00:26:15] Carol: My team doesn't have. We are full stack engineers. We know the database, we know the front end. We know the back end. We write everything from top to bottom. So we have different deployment processes. We have different work processes. I mean, we've released code daily actually twice a day. Like we don't really follow scrum.

[00:26:32] Carol: We do combat we just, go pretty smooth and we have no complaints. Unlike our survey every year, it's like the same as super happy. And we're great with what we have. Don't change us. Like we're just making money and we're flowing great. So when we make decisions at the top level that go, Hey, we want to change how we release code.

[00:26:55] Carol: We want to change how we create sprints. We want to actually do a true like four week sprint. I am sitting here now in this middle ground going, how the heck do I challenge this correctly? And not sound like an going, team's doing great. Don't make us do something different. But I also want to say like, what made you get to this?

[00:27:18] Carol: And that's what I have been questioning a lot of is why did we make the decision? Like what brought us to the conversation where we go, Hey, let's change how we're releasing code. change how we are working on every month. Let's change how we're road-mapping. let's talk about how teams just flow in general.

[00:27:35] Carol: If one team's doing great, should they really be outside the bounds of the rest of the company? the rest of the company is kind of where they're having the downfall at or do I just kind of suck it up and say, Hey guys, we're up for a change. Even though we don't really need this change. I'm just, really struggling on where my ground is at right now.

[00:27:56] Carol: And it's challenged and I don't know what to do.

[00:28:00] Adam: I have a thought, but I want to start with, I think that it's definitely clear to me now that you have significantly moved into management because you are officially now a bi-directional catcher,

[00:28:14] Carol: Every way

[00:28:15] Adam: right.

[00:28:16] Adam: Management's telling you, you got to change and your team is saying

[00:28:18] Carol: yeah,

[00:28:19] Adam: want to change

[00:28:20] Carol: where I work is they're not saying you've got to change. They're saying we've been planning

[00:28:25] Adam: Okay

[00:28:25] Carol: time before you and a couple other people joined, us get you read in, and now we're all going on-site and we're going to go, Hey, let's look through this data.

[00:28:34] Carol: find out if what we've collected actually is right. You have input into this, you have buy into this, you get to help us make this decision. So they care what I say. They care what my team says. So I don't feel like I'm being pushed into any one direction. I honestly feel like if I went to my full leadership team and I said, Hey, this is great for the company, but I feel like this is going to have a negative impact on my team.

[00:28:57] Carol: We would be pulled out of the decision completely. They'd be like, all right, keep doing your thing.

[00:29:01] Carol: You guys are rolling.

[00:29:03] Roadmapping And Initiatives

[00:29:03] Adam: Is this related or unrelated to the, you were talking about something similar, not too long ago, about how your team was switching to working on? I think it was eight weeks

[00:29:12] Carol: no. So we had talked previously about the cycle process that we were doing, and I think cycles are still happening across the company, we very quickly went cycles aren't for us.

[00:29:22] Carol: So we did two spreads or 2

[00:29:24] Adam: Okay

[00:29:25] Carol: were like, Hey, eight week releases. My team doesn't work well like that. We like to continuously like continuously be developing and working on something new. that holdup and that's

[00:29:36] Adam: Oh, wow.

[00:29:37] Adam: You're only doing like production deploys every

[00:29:41] Adam: eight weeks

[00:29:42] Carol: to deploy when it was done, but we weren't allowed to pick up anything. So while we

[00:29:47] Adam: Oh wow Okay

[00:29:48] Carol: was ready for production. So if we got done with it, we couldn't pick up anything that was outside of cycle. So if we had four projects and work, once all four of those were done, we kind of were just stuck this weird limbo of what the hell do

[00:30:01] Adam: Yeah

[00:30:01] Carol: been fine on the other teams because they hadn't faced that challenge yet.

[00:30:05] Carol: didn't have downtime. They had such a big backlog and what they were putting in the sprint or what they were putting in their cycle made sense for what they were capable of doing. We just turned out a lot more than they expected. So then we were stuck not knowing what to do. So we immediately like came off of that.

[00:30:20] Carol: We're like, this is not going to work with us. We will make sure that our work what the rest of the company needs aligns in schedule. So if we have another product that needs to release something that we're releasing, we'll make sure we go out at the same time. Like, we'll keep all that work in sync with your cycle, but we're not going to stick in a true cycle sprint.

[00:30:39] Carol: We're going to keep working whatever we have roadmap to work on.

[00:30:44] Tim: here's like seven good words to say, to ask them. Right. So what problem is this solving?

[00:30:51] Carol: Yep.

[00:30:52] Tim: yeah. Did they tell you.

[00:30:54] Carol: it's a company it's mostly just like company-wide problems. And the problem with us right now with product is they can't truly roadmap more than like a week at a time. It's very hard for them to roadmap like what they want in each quarter, because the way our team functions is just, what do you want right now?

[00:31:11] Carol: give you what you want right now. And we'll keep going. And they want the ability to roadmap. does make sense when you're like, oh, I want this to go in the quarter. You just don't tell me every week what you want and we'll just get it out. But they kind of want more deliverables and more dates rather than this is what's going in for our week work.

[00:31:30] Adam: It sounds kind of like they need to break it up into bigger initiatives and then, each week is contributing toward the current initiative

[00:31:36] Adam: whatever

[00:31:37] Carol: think what you're saying is right, but on the flip, so we have the big initiatives already and we're breaking them out into smaller initiatives, so it can be delivered weekly.

[00:31:47] Adam: So what they put on the roadmap would be the

[00:31:53] Carol: but these are the, Yeah.

[00:31:54] Adam: big ones

[00:31:56] Carol: this, but we need these 10 things accomplished to get there, and this is how we're going to get to it.

[00:32:00] Carol: But that doesn't mean I need to change this to scrum or

[00:32:02] Carol: week sprint. Like I

[00:32:03] Carol: can keep working home working,

[00:32:05] Ben:

[00:32:05] Ben: Well the other week you were talking about taking a large project and then de scoping it and saying okay given that large project here's what portion of that we think we can ship in the next four weeks And I wonder if doing more of that kind of stuff Cause cause it the issue or not the issue but an issue is that they have this idea of a roadmap things that they want to have happen in succession but then they're also sort of fixated on the time that those things will happen I wonder if you can use the de scoping of projects to sort of find a happy medium like let the company put things in order of priority and say we want this to happen and this to happen And then instead of fixating so heavily on exactly when all those things will get done can they kind of say okay it's time to work on feature X How long do we want to put effort into this And if we say two months then what can we do in that in two months instead of figuring out how do we get all of it done in two months It feels like some sort of there has to be like a combination of both roadmapping and scoping and like expectation minutes

[00:33:15] Carol: Yeah.

[00:33:16] Carol: And what you're talking about is where they came to us with this giant project of a big initiative and we scaled it back to truly an MVP. So it went from. We want all of these things to, okay, what is the least amount of work we can give you? Not work, works the wrong way, but what is the least amount of change we can put into the system right now, you guys can start using and we can start collecting data from, and we can see how to grow it from there, because a lot of the changes that you want don't necessarily make sense with what we've seen in the past.

[00:33:47] Carol: we're not saying that your workflows are wrong, but let's just get something out there working very small and where to take it from there. I think that's what you're saying is go small and then grow it from there. So figure out what

[00:34:00] Ben: Yeah. plus I think it keeps you more dynamic they can react to new evidence and new user pressures and new ideas not have to worry about we can't add this new thing until like six quarters out and you're like well maybe we can do it now Maybe priorities have shifted

[00:34:18] Carol: Yeah. I like that.

[00:34:20] Ben:

[00:34:20] Introducing New Bugs

[00:34:20] Adam: So I have, I don't know, thinking about our topic here changes. I feel like my team has been very productive lately, but at the same time I can, I feel like we're moving forward. We're making progress down the road, but I'm seeing like nuts and bolts fall off of our car or cart or whatever here.

[00:34:40] Adam: And, like, Maybe it's just me, I know for sure. I have pushed a few things to production lately that were, let's say a little sloppy. And so it works for 98% of the thing, but

[00:34:50] Ben: Agile. There were

[00:34:51] Ben: agile,

[00:34:52] Adam: agile,it works fine most of the time, but then there's okay.

[00:34:56] Adam: There's a little bug, there's a little bug there. And, I feel bad cause it's like, I put in these, I do these like giant projects lately of, coming to replace this whole system with something that's going to be more future-proof and enable us to scale out and all this other stuff. And so I've replaced like code.

[00:35:13] Adam: That's been fine for five years with a whole new thing and it's better. It's faster. It's all these things. but there's a little bug there's a little bit of over there.

[00:35:22] Tim: And it gets on my nerves, that stuff slips by me. And I've got one now that's like, I have no choice just because we're heading into our busy season with events.

[00:35:30] Adam: And we're like, most of us are going to be working most weekends for like the next six or eight weeks. And so, yeah, it's going to be rough. and so I just was like, you know what, I'm going to disable that feature flag off. we're just not going to touch that for a little while. And I sent an email to all the effected,our, it liaisons for all the affected customers and like, here's, what's going on.

[00:35:53] Adam: It'll get better, but don't panic because it's

[00:35:56] Ben: When you say you're working weekends is that because of deadlines or that's because events take place on the weekend

[00:36:01] Adam: As events. So,

[00:36:03] Adam:

[00:36:03] Adam: my day-to-day work is on our platform, which is just like, it's a software as a service sort of thing. The other like 50 or 70% of our business is in terms of revenue is, our event registration and check-in software that's, specifically designed for the way that universities run their events.

[00:36:22] Adam: And,the check-in experience in particular kind of requires our specialized equipment. And at least for the first few years, we like to go onsite and help them get familiar with it. Let them see how we handle the different issues that when they come up, how to refill the paper in the printer or how to deal with the name tag is cutting in the wrong location sort of thing.

[00:36:41] Adam: and once they get familiar with it, then they can usually kind of fly solo. But, it means. they're doing reunion with, 20,000 people coming on campus and they need a bunch of us to come out and just make sure that they have So it, a smooth experience

[00:36:59] Adam: So like I'll be in Philadelphia this weekend and a couple of weeks I'll be up in Providence, Rhode Island and got a couple of other trips planned. and, it just means that my schedule is going to be all kinds of, out of whack and I'm going to be all stressed out and tired and unable to focus on my usual day-to-day work for any long stretch of time.

[00:37:18] Adam: Right. It'll those things are, those events are frustrating because there are a lot of hurry up and wait. Right. You have to go fix a thing it's on fire right now. Go, go, go, go, go, okay. Now you have an hour and a half total boredom

[00:37:31] Adam: and maybe you're outside in the cold. Right? Like it's like, Ugh. So

[00:37:35] Tim: So having to tell your users is coming or that change that they thought was happening. Maybe because

[00:37:42] Adam: know. I guess what I'm,

[00:37:43] Carol: a busy spot.

[00:37:44] Adam: I'm kinda thinking that maybe we need to take a breath and slow down our release pace, or figure out something for better testing. I feel like part of what is making things fall through the cracks is just, we are getting a lot done with very few people. And as a result, we just don't have the manpower to manually test everything all the time.

[00:38:11] Adam: And we kind of paint ourselves into these corners where it's like, okay, well we've done all this work and if we don't release it, then it's going to start to rot before it ever goes to production. So we have to release it even though it's not perfect. And then we have to come back and fix those bugs.

[00:38:27] Adam: And it's like, I don't know. It's kind of a

[00:38:30] Adam: catch 22

[00:38:31] Carol: at the same point, you are slightly, there is that we're writing more code than our SQA team can keep up with. So we're constantly having to plan with

[00:38:40] Adam: Yeah

[00:38:40] Carol: we can get code out, but they're like, oh, well we're completely slammed. So it's just going to have to sit and wait. Well, we all know that stele code is not a good thing because once it goes in the master, it's not where it was when you actually tested it.

[00:38:52] Carol: Cause masters changed since then or main, if you still call it, master Not having it tested immediately as a problem, which is one of the positive things for some of the change we're trying to implement, it means that when there's dead time

[00:39:08] Ben: Yeah

[00:39:08] Carol: developer side, rather than picking up new work, you pick up testing.

[00:39:13] Carol: you now contribute to making sure that the entire project is done. You have hands-on in it, not just for the coding side, but you help get the SIPP production for the SQA side. So you take on some of their testing, some of the manual processes that need to run. So I do love that about it. I love that full done scope is defined.

[00:39:33] Carol: We know what done looks like, we know what it takes to get there. And if SQA slam, then it's our responsibility to get it to done. It's not just , we don't pick up something else. We go help them. So I think that is a great thing about some of the changes we're trying to make is we will get things done with more quality than.

[00:39:52] Carol: We may be seeing right now because things aren't going to sit stale, waiting to be tested.

[00:39:57] Processes And Patterns

[00:39:57] Ben: I feel like someone famous once said this but I can't remember who That you have to build your company So that one day it can be run by idiots I

[00:40:09] Carol: Yeah.

[00:40:09] Ben: think in that vein there's a lot of comfort to uniformity for the sake of uniformity And like everybody runs their meetings like this and everybody plans their roadmaps like this and everybody has the same kind of OKR is because of these things And they're like there's a comfort in being able to see patterns from the top Even if I think a lot of times those patterns don't amount to much or there's nothing you can really extrapolate but there's a comfort in just knowing that everyone is operating the same way I think there's like a false sometimes

[00:40:48] Adam: Yeah. I mean, it sounds to me like, you're creating cookie cutters, they're not perfect for, yeah. They're not perfect

[00:40:54] Adam: for,

[00:40:54] Adam: every situation.

[00:40:55] Adam: But then

[00:40:56] Carol: I'm sorry. in general don't work like most other departments in the county. Like the way engineers think and the way we operate and when our brains even are on aren't the same as someone who just can sign in at 8:00 AM and sign off at four, there are days at 2:00 PM.

[00:41:15] Carol: I can't code anymore. And I just

[00:41:16] Ben: Yeah

[00:41:17] Carol: away for a few hours. And you know what, at seven it feels good again. So someone told me I had to work from eight to four. I don't fit a cookie called like a cookie cutter mold. I can't do that. And I don't think many engineers can fit that mold so, well, it was great.

[00:41:31] Carol: If you could have patterns that make sense as far as like how processes work. I don't think that's good for

[00:41:36] Carol: like

[00:41:36] Carol: employee

[00:41:36] Carol: standards.

[00:41:37] Rearranging Deck Chairs

[00:41:37] Ben: I also wonder if there's a I don't know if we've talked about this in busy work that makes you feel like you're being productive but you're

[00:41:44] Carol: We

[00:41:45] Ben: towards the most important thing as much as coders have that like I love deleting code that has not much to do with the product Yeah But like it makes me feel like I'm

[00:41:55] Ben: improving product and like I'm kicking ass and doing stuff And as much as I think that's a Lauren for coders I assume that's a lowering for everybody else in other types of roles And I think from a managerial standpoint there's probably a lot of I feel like I'm doing something because I'm shifting stuff around and I'm changing the way people stuff it doesn't necessarily mean that it's actually And

[00:42:20] Adam: Rearranging the

[00:42:22] Tim: Yeah.

[00:42:22] Tim: right.

[00:42:22] Carol: Yeah.

[00:42:23] Tim: They're refactoring, they're just changing

[00:42:25] Ben: Yeah. Sure early on in the company all of our teams were named after colors So there was like the red team and the green team and the Aqua team et cetera And then someone came in and said oh well we should name them after nuts Then there was like the almond team and the hazelnut team Yeah.

[00:42:43] Ben: And then someone came in and said oh Spotify is doing this squads model So we should probably be doing the squads model as well So instead of being on the red team suddenly you were on the the collaboration squad and it's like from the team standpoint literally nothing changed at all day to day same as it used to be but someone higher up just felt like shifting these things around would somehow magically make things more productive And it's again just like this going through the motions and you feel like you're doing things but it's not necessarily affecting any change

[00:43:19] Carol: Yeah, I'm sorry, but that sounds like me when I clean my house and I haven't taken add meds and I just literally pick up one thing from one room and put it in the other room, which doesn't help any. Cause then I go to the bedroom and like, all the shoes are on the bed. They still have to be put away because they weren't put in the closet.

[00:43:34] Carol: They were just laid

[00:43:34] Ben: Yeah

[00:43:35] Carol: beds.

[00:43:35] Adam: That sounds So much.

[00:43:37] Carol: got accomplished.

[00:43:38] Adam: That sounds so much like my process for cleaning. It's like, okay, I'm cleaning my office. So I just look around. It's like, okay, that doesn't belong in here. That doesn't belong in here. So I make a pile by the door of all the things that need to leave the room.

[00:43:49] Adam: And then I take that pile out and I just distributed among all the rooms where they inbox for that

[00:43:56] Adam: room. These are this is like the

[00:43:57] Carol: Yeah.

[00:43:58] Carol: Yeah.

[00:44:01] Tim: Yup.

[00:44:02] Carol: Yes. That's how I clean to you. If I'm not medicated, when I'm medicated, I

[00:44:07] Carol: do

[00:44:07] Tim: sounds like corporate planning.

[00:44:09] Ben: Oh man They're there We've been having an ongoing project at work where they're normalizing all the way that your projects are put together Like which fields are pinned in which fields are allowed in the boards And like what are all the columns in the Kanban boards And I just I don't get it Like I don't understand what they're going to accomplish

[00:44:32] Carol: So I get a little bit of it because if you, as like a project manager, get shifted over to manage another project, you should be able to pick it up pretty seamlessly, right? You shouldn't have to go figure out where they're putting things at and how they're managing it. So as you're like switching and shifting people around the company to manage different projects, they're not managing the people.

[00:44:55] Carol: They're just managing the projects. They should really be able to go into any of the JIRA projects and work pretty much

[00:45:01] Carol: seamlessly. So it does make sense from that

[00:45:04] Ben: fair And to be fair as well I know so little about JIRA Like I guess like I've said in the past all I do is I move my cards the board and like the names of the columns like almost don't even

[00:45:15] Ben: mean anything to me

[00:45:16] Carol: When you were like, oh, do we all have like little work we want to do? You must not remember when I was like begging for a Benz backlog on one episode where I was like, please give me a bins, backlog. I need something to go work on.

[00:45:29] Adam: I think that software like JIRA that can be used in a thousand different ways probably does suffer from, for lack of a better way to describe it. I would say like the

[00:45:38] Adam: curse too many options

[00:45:41] Ben: Yeah,

[00:45:41] What Problem Does This Solve?

[00:45:41] Adam: of and, yeah. And when you were describing this, all I could think of was what Tim said earlier, what problem does this solve?

[00:45:48] Adam: In fact,

[00:45:49] Adam: I think that's what we should

[00:45:50] Carol: Right.

[00:45:50] Adam: problem

[00:45:52] Tim: yeah.

[00:45:53] Adam: And,

[00:45:53] Adam: does this solve

[00:45:54] Adam: yeah, I just change for changes. Sake is not a good thing, but necessary change is like the best

[00:46:02] Adam: possible

[00:46:03] Carol: I will go back to what I said in the beginning is that it's great to work where I feel like I have buy-in that if I challenged the change I'm listened to and they value my input and they value what I have to say. just because everyone else is changing there, nothing's written in stone that my team has to make these changes.

[00:46:21] Carol: I feel great that I have the opportunity to stand up for what we believe in kind of like how we work, but I also want to make sure I'm doing the right thing for the company and for my team. So I do think that change at some point will happen and we're going to have to make some adjustments to what we're doing, I also really enjoy the fact that while we're doing what we do great, we kindly get to just keep functioning.

[00:46:42] Carol: So if the change isn't needed, we kind of just get the flow and that's great.

[00:46:47] Tim: Yeah.

[00:46:48] Carol: Yeah

[00:46:48] Tim: like they're willing to, go over it with you, changes, explain why, and I go over the data, but end of it, if you're not convinced, the question you should ask is, well, you know what happens if team decides not to change?

[00:47:02] Carol: right.

[00:47:03] Ben: the change

[00:47:04] Ben: Being

[00:47:05] Tim: does that,

[00:47:05] Tim: I'm not, I'm

[00:47:06] Adam: Um

[00:47:06] Tim: on it. So if we don't do it, how is that going to affect in the company?

[00:47:11] Tim: you they might think about it and go, no, we can work with Or they might have legitimate reason. Well, if you do that, then it's going to cause this and this. You're like, okay,

[00:47:19] Carol: Yeah. And once you have something in the back that then I'm more able to go. Okay. I can see now I can, maybe you understand a little better and, know, give me more picture

[00:47:27] Tim: Turn face. The

[00:47:28] Tim: strange

[00:47:29] Ben: Wait what Now

[00:47:32] Tim: time

[00:47:34] Tim: I

[00:47:34] Carol: changes,

[00:47:37] Ben: is a get

[00:47:38] Tim: David

[00:47:39] Ben: don't

[00:47:39] Ben: Gotcha Gotcha

[00:47:40] Ben: okay

[00:47:42] Adam: I don't listen to song lyrics either. I don't. I only know because Carol was singing and it fit the melody, but yeah, to me, the vocals in every song or just another instrument,

[00:47:53] Tim: just

[00:47:54] Adam: for the sound, not for the words.

[00:47:58] Carol: Yeah.

[00:47:58] Ben:

[00:47:58] Patreon

[00:47:58] Adam: Okay. So, that's going to do it for us tonight. We're going to go record our after show on tonight's after show. We're going to be talking about we're going to play a game called, what's that smell. II'm just as curious as you are, but, if you would like to, get access to our after show, that is something that is available to all of our patrons on Patreon.

[00:48:18] Adam: and basically people liked our podcasts enough that they give us a few bucks every month to help keep the lights on and the Mike's running and the software licenses paid for. So you can find us over at patreon.com/WorkingCodePod. Of course, we have to send a shout out to our top patron, Monte, all your support.

[00:48:36] Thanks For Listening!

[00:48:36] Adam: and if you feel like you could have contributed to this conversation and your. Staring at your phone angrily, maybe you should be joining our discourse so you can go over there and yell at us or just participate in the conversation. That's going to happen over there. If you want to do that, you can go to workingcode.dev/discord.

[00:48:54] Adam: and that's it for us this week. We'll catch you next week

[00:48:56] Adam: then.

[00:48:57] Tim: your heart matters. Even if you just change things around for funsies,

next episode: 076: Ben Needs A Minute

prev episode: 074: What's On Your Workbench?