No Compromises

It feels good to finish a project, but before you move on, there are benefits to pausing and reflecting on what went well and what could have been better.

If you're enjoying the podcast, we'd really appreciate it if you shared it with a fellow developer.

Creators & Guests

Host
Aaron Saray
Host
Joel Clermont

What is No Compromises?

Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.

Joel Clermont (00:00):
Welcome to No Compromises, a peek into the mind of two old web devs who have seen some things. This is Joel.

Aaron Saray (00:08):
And this is Aaron.

Joel Clermont (00:15):
We recently finished a pretty big project and I thought it might be a useful time to talk about something that can be beneficial when you get to the end of a project like that, which is reflection. Looking back at what went wrong, what could have been better but also looking at what went right. Like what things we want to do more of and what things we want to try to avoid in the future. Aaron, I know this is a topic you enjoy because you are the one who put it on our weekly meeting agenda. So I thought we could maybe talk through. Like what are some of the things that would be beneficial to look back on and what sorts of lessons might we learn?

Aaron Saray (00:53):
The first thing is that there's basically two different ways that you can look at this. Larger projects that are maybe more waterfall sort of like... or just large in general, might have lessons learned sort of meeting at the end with the team. I know I did that a lot in enterprise places I programmed. If you're doing small agile work and actually doing Scrum, it'll have what's called a sprint retrospective, which is the same sort of thing but on a micro level. Like in the sprint of what went well and what are the things we can change for the next sprint and make it better? Regardless though of those things, it's maybe the magnitude or the way you deliver it that changes, but the actual underlying concept is the same. And it's, like you said, what went good?
So we can make sure that we not only are just focusing on bad things but we notice that something went good and then solidify that. Because a lot of times what happens is someone on a team does something good but if no one tells them then they think, "Maybe it wasn't appreciated, I'm not going do that anymore." And like, "Well, you did that that one time. That was awesome." "Well, no one said anything, so why am I going to do that?" "Well, it was good. I didn't know I had to tell you." "Well, you do." Then, like I said, the flip side is, what can we improve on, what do we notice that kind of fell apart or what would we do differently? Things like that. And it's all about the process and it's all about the effort and the intention and not the person.

Joel Clermont (02:16):
Well, and I kind of, in my own mind, looking back at a project, I sort of divide it into maybe two big categories. There's technical things, right? Like, "Oh, we made this decision," or, "we used this package and it was a pain," or, "This API was difficult," or whatever. I mean, things that are more about the code itself. But then there's a lot that's really just about the process and communication and some of the things you were talking about, especially if you're working with other people. If you're working with other technical teams, if you're working with a client or a stakeholder, the non-technical but honestly probably more important things to draw lessons from on a project like that.

Aaron Saray (02:56):
I think there's also room to kind of make it a discussion because the struggle I've always had is, if I know something is wrong a lot of bosses and a lot of managers don't like it if you bring it up if you don't have a solution. But this is a meeting, a time, a talk, a conversation, where you can say, "Here's the thing I found that was stressful or didn't seem right, but I don't know what the right way to do it is. What does everyone else think?"

Joel Clermont (03:26):
Yeah, because maybe somebody else will have the solution, right?

Aaron Saray (03:29):
Mm-hmm (affirmative).

Joel Clermont (03:29):
If you just hold back, then you might miss out on that discussion. Do you have any sort of process you like to follow? I've been on team retrospectives where they're very formulaic and like half the questions don't even feel relevant. Are you more of a structured guy or do you just kind of do it team by team, project by project?

Aaron Saray (03:50):
I tend to do it project by project, team by team. But one of the things I have looked at it is like the tickets just to kind of jolt the... Because usually, especially on the technical stuff, looking at a ticket will jolt into your mind something again. The benefit of those formulaic things is that it's meant to try to remove biases. Like, we don't always bring up what Joel did wrong. It's like, what's the whole project? And it's meant to try to get people to talk because that can be a scary thing too. Like, what if you have a hands-on manager and they messed everything up because they're a little behind on technology or something like. And if someone doesn't give you the bullet point and say, "Each person do this..." But I mean, you're right, there are formulaic things in there where it's like, "Tell me about a time that whatever," It's like, "That doesn't really apply here."

Joel Clermont (04:41):
Well, and I've been on them, especially at the sprint level one. Let's say it's a two week sprint, "You know, what went wrong? What could we improve?" And I legitimately can't think of anything. You shouldn't feel the need to make something up just to have an answer to it. And then there's also an element of being a little more thoughtful day-to-day... I know, I have this habit on and off of sort of journaling work stuff, both technical things I learned or challenges I faced or things I want to solve later. But also kind of like, "How did I feel about this? What went well?" So even if you don't formally journal each day, maybe just at the end of the day kind of for yourself pick one thing that went well, one thing that was problematic. And then when you get to the end of the two weeks or the end of a project you can look back at that. Because, Aaron, I know this will be a shock to you but my memory isn't the greatest sometimes.

Aaron Saray (05:33):
What?

Joel Clermont (05:36):
So I find that useful because if I just have to reflect back over weeks or months, I might miss things that in the moment were actually really important.

Aaron Saray (05:43):
I do that same sort of thing when it comes to overall projects or clients. I'll write about like, "What was this experience like?" Because sometimes when you fire a client and then six months later and the well is running dry, you're like, "Why did I fire them again?" Then you look at your notes, you're like, "Oh, that's right. Because, you know, we just didn't work well together," or whatever it was. So I think you can exercise that same thing because when you first said starting the journal, I was just like, "Oh, you weirdo." Then I realized, well, I do it in the same way just a little bit different. That exercise actually kind of is interesting too because it helps you solidify your feelings because you have to write it down. But it also helps you determine if you're just having a cranky day. Because if you're writing something down and you're like, "Well," the next day you look at it you're like, "That really didn't matter." Then you know the day was just cranky. Which never happens to Joel, he is always so happy but for me-

Joel Clermont (06:39):
Oh yeah. Well you've even pushed me sometimes, like with a difficult client or project, where we're kind of wrapping it up and you're like, "Now write down why we're wrapping this up and moving on." Because it's so easy to lose that emotional context where even a month goes by and you're like, "Well, that wasn't so bad." Well actually it was, like you were really... you, me, I was really stressed out when that was happening. I was really unhappy with how things were going. But you just put a little bit of time and distance in there and all of a sudden you might get sucked back into doing it. Yeah, that's another nice tip I've learned from you, Aaron.

Aaron Saray (07:16):
I think the last thing I wanted to cover is actually being a little open and honest about one of the struggles I have with this. Because a lot of times, when we talk about our, especially during podcasts, we'll be like, "And here's how we do it," and everything sounds great. Like, "We have it all figured out." One of the things... and I'm going to pick on Joel because I know he can handle it.

Joel Clermont (07:35):
No.

Aaron Saray (07:35):
Is Joel tends to overestimate how much he can get done in a week or a sprint or whatever.

Joel Clermont (07:41):
How dare you.

Aaron Saray (07:43):
And it's always me... Like, he'll have six tickets and I'll be like, "Yeah, you're going to get three of those." He's like, "No, I will at least four." I'm like, "I think three is the maximum, it's more like two." The reason I bring this up is because the struggle I'm having is when we have our final retrospective on, like, our last project I can think of many times when that system or that that scenario happened. But I don't know how to give the proper feedback and I think, you know, Joel might agree that, "Yeah, that does happen." But part of the struggle here is now if we're going to follow our own advice we have to take a little time to think about like, "So then how would we actually fix something like that?"

Joel Clermont (08:25):
Please write in with your comments and suggestions on how Joel can stop overestimating. It's that eternal optimistic developer mindset. And maybe the solution, Aaron, is I just have to be worn down a little bit more. Just a little more grizzled and jaded and then things will be fine.

Aaron Saray (08:49):
So I think that people who eat cream cheese, mayo and sour cream-

Joel Clermont (08:55):
Oh boy, come on.

Aaron Saray (08:57):
... are evil and have dark hearts.

Joel Clermont (08:59):
Ah, this is where the podcast comes to a crashing close.

Aaron Saray (09:02):
Well, let me tell you why. First of all, those collective gooey things I call gak.

Joel Clermont (09:08):
Yeah.

Aaron Saray (09:08):
I don't understand... No. Well, maybe they are but like then just eat it then. Like, just eat it out of the jar. Because what happens is people will have food and then they're like, "Well, this food doesn't taste good enough, so I'll put some gak on it." Well, maybe make your food taste better first of all. Like, isn't that the issue? Especially with all the people with a high calorie intake and you're looking at that like, "You know, maybe just put a little seasoning, a little spice." But the reason I say this is because I was having a conversation with one of my best friends and we were talking about, I think coffee. And she's like, "Yeah, I don't like coffee." And a lot of people probably listening are like, "What?" And I was like, "Oh, all right," and I just stopped there. Right?

Joel Clermont (09:55):
I see a where you're going.

Aaron Saray (09:56):
A little bit later in the day, she randomly sends me a picture of like some cream cheese wrapped pickles and some stuff.

Joel Clermont (10:03):
What? What's happening?

Aaron Saray (10:03):
And I was like, "What are you doing?" Well, it's ham and cream cheese and pickle or something. My parents did it when I was growing up and she does it, so I know it's a thing. And I was like, "Why are you doing this?" And she's like-

Joel Clermont (10:17):
She knows you don't like it.

Aaron Saray (10:18):
Yeah, exactly. Like, "Ha-ha-ha." I'm like, "you don't see me sending you pictures of my morning coffee." And people have always done that to me because I also don't like cheese. And so people are like, "Oh boy, look at the cheeseburger." Like, no amount of you holding a gross thing is going to make me say, "Awesome. Now I want to have that thing," and I really, really, really, really don't like it. So basically when you show it to me, you're like saying, "Huh, I know he is going to vomit a little bit in his mouth and I'm happy about that." Why? Because you have cold hearts and dark souls.

Joel Clermont (10:48):
Well, if you put it that way, fine. And, Aaron, I know I've done this. So is this like you're calling me out to never mention delicious things? I don't think I've ever texted you a picture though so I'm probably okay.

Aaron Saray (11:02):
Aargh.
Are you enjoying listening to our podcast and getting a little value out of it?

Joel Clermont (11:09):
We hope so. And if you are, please share it with maybe a teammate or another developer you know that might benefit from it as well. Go to show.nocompromises.io and you can subscribe.