Week Notes 010

This was a really stressful and draining week. I'm looking forward to the weekend and some Easter fun with my kids. I'd really like to have a good week so I can feel like I'm not such a downer all the time when I'm writing these.

The Week

This week was just an awful lot. We had a three-day session of quarterly planning for the project through the middle of the week that just wrapped up. For that planning session, we wanted to demo the work we've been doing, in particular the part I talked about last week where we started stringing together all the bits that have, thus far, been developed individually. We made the decision to bend our practices a little to get things going, which I did my best to voice my concerns over. We were moving forward without some testing, which felt risky to me, but when it became clear this is how we wanted to proceed, I tried to do my best to organize and support the whole team wherever I could. And the team really did a great job. We pulled together and finished everything we were challenged at the end of last week to finish. I am very lucky to be working with some incredibly smart and hard-working people on this team, and it was amazing to see what we could put together in just a couple days.

Without the tests to rely on, though, I was stressed about this demo for the planning meeting in a way I haven't really been for a long time. And we were double-checking everything the morning of the demo a few times, which was stressful. This was going to be the first time anyone from the client had really seen any of this working, so I wanted it to go well. And when we found something that wasn't working quite as we expected, it was so frustrating because we could have caught that if we'd been writing tests for it.

However, the demo went really well. The people presenting did a great job demoing the product, explaining the next steps, and answering all the questions that came up. And I heard both during and after in some private messages from some client folks that they were impressed and excited about seeing this come together. So, that's really something to be proud of.

The planning meeting, itself, also went pretty well, it was just really draining. We were in meetings for several hours at a time, which was just so much. Trying to stay focused and engaged for so long just really took it out of me. We had some in-person folks and some remote folks, so we had to adapt to that, as well. Luckily, the facilitators were prepared, and kept the two groups roughly on the same page.

The worst day was yesterday, though. We're working on a health-related product, so the UX research results presented during all of our meetings was a bunch qualitative data about the experience of people with the healthcare system in the U.S. So many of the quotes and stories we heard coming out of that research were so difficult to hear. People looking for anything they can do to keep themselves alive in a system that cares so little about what they're going through and is so expensive to boot. I had to step away because it was really getting to me. I guess I can hope the product we're working on will help with that, and use that to drive me.

Finally, the thing that's been weighing most heavily on my mind is the interaction I had during the retro we did today to round off the planning session. I'm still so anxious and andrenalized, my fingers are shaking a little trying to type this. Because I ended up having this same conversation about the ways we work on this team, again. I think I've mentioned before that the team is a mix of generalists and specialists. We have struggled through the whole project to come to a shared, consistent way of working together, primarily focused around standard agile practices like pairing and TDD. And I have gone to bat for those practices so many times while working on this project. But, like I say, we ended up having this same conversation again today during this retro.

And the real problem here is how much this is messing me up. Because I have the support of my leads. I even have the support of some people from the client. And I really do believe in the value of the practices I'm trying to be consistent about with the team. I'm not trying to make people do a bunch of work they don't want to do because I can. I'm not trying to make anyone's lives worse. These practices are proven, both in the greater industry and in my own experience, to result in better, more resilient software. And I'll go to bat for them.

But every time I have to have one of these conversations, I'm left feeling anxious and drained. I know I'm taking things too personally. I know that I won't convince everyone, and that some of these practices don't really make sense or really click until you experience the benefit of them firsthand. That's the way it was with me. When I joined the company I work for now, I was the same way. I think I was a little more open to it, but it wasn't until we were halfway through my first project that tests really saved our bacon. And that was what convinced me. So, I totally understand this because I've gone through it. It doesn't stop it from digging at me that some people on the team keep pushing and pushing back at me about this. And I don't know how to turn that off.

I've talked with some people I trust about this, so I know, overall, a path forward. And, like I said, I have the support of these people, and they continue to confirm that I'm doing a great job in my role as tech lead. I'm just ranting a bit here, and trying to keep it real with how things are going for me each week. It just feels like I need to find a way to not care so much and stop taking things personally. If you're reading this and have any advice on that front, I'm all ears.

So, yeah, that's my week. I'm hoping to do some fun baking this weekend and do all the fun Easter activities with my kids to take my mind off things. Hopefully, next week will be a bit brighter.

The Links

  • Story Pointing

    Great guide from Tim Ottinger, a leading agile consultant, on what makes pointing stories so difficult. Shared by a friend at work, and I really enjoyed reading it.

  • CSS Duotone Image Demo

    I'm a sucker for these CSS filter demos. And the colors are so good, too.

  • Cumulative Layout Shift, Explained

    Excellent example of the problems that can occur from ignoring large layout shifts as the elements of your page load.

  • Why I Avoid Async/Await

    Throwing this one in hear as a differing perspective. I really like async/await in JS, and I mostly disagree with this article's conclusions about the problems with it.

  • Shadow Realms

    The idea, a better eval, is great. The name, however, is too goofy, in my opinion.

  • Fixing Low-Contrast Text

    Solid, practical advice on fixing your terrible contrast. There's an example that may or may not have set my eyes on fire when I tried to read it.

  • SICP (now with 100% more JS)

    Last but certainly not least: Structure and Interpretation of Computer Programs (SICP) now comes in a JavaScript flavor! This book was super influential on me when I was getting started in development. The shop I interned in was heavily focused on functional programming, and this book was suggested a bunch. The original uses Scheme, which is fine, but this JS version is so much more accessible, so I'm really excited about going through it. May end up having to blog about it, because I don't think I'll be able to contain my excitement for long.

Send-off

And that's it, folks. Thanks for reading, and I'll be back next week. Have a great weekend!