Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Pricing

Jesse Spivak

👤 Person
234 total appearances

Appearances Over Time

Podcast Appearances

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Is this actually an issue with the data coming from the microservice? Like, it was really hard to isolate that. And then that obviously moves into the third problem, the third mistake was that we made too many changes at one time. So all these were ways that I tried to shoot myself in my own foot while working on this very important project.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Is this actually an issue with the data coming from the microservice? Like, it was really hard to isolate that. And then that obviously moves into the third problem, the third mistake was that we made too many changes at one time. So all these were ways that I tried to shoot myself in my own foot while working on this very important project.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Yeah, Luke, that's a really astute observation. So we were changing structure and we were changing behavior at the same time, which is something since that point, I've really tried to avoid doing, even at like a micro PR level. If I have a PR that I'm going to push up, it's either going to add behavior or change behavior, or it's going to change the structure of the code.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Yeah, Luke, that's a really astute observation. So we were changing structure and we were changing behavior at the same time, which is something since that point, I've really tried to avoid doing, even at like a micro PR level. If I have a PR that I'm going to push up, it's either going to add behavior or change behavior, or it's going to change the structure of the code.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

And I'm going to try to not do the two things at the same time. So in this case, we did the two things at the same time. And at multiple points, we should have known or in retrospect, we should have known to pause and verify, right? And if we couldn't verify, take that failure as feedback and iterate. And I think that that's really what really

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

And I'm going to try to not do the two things at the same time. So in this case, we did the two things at the same time. And at multiple points, we should have known or in retrospect, we should have known to pause and verify, right? And if we couldn't verify, take that failure as feedback and iterate. And I think that that's really what really

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

strong engineers, experienced engineers know to do, make one change at a time and verify. I guess it's kind of like when I run RSpec, right? Or RSpec feels like supernatural to me. So every time I hit my test suite, I'm like, okay, I expect this to happen. And like, sometimes I'm right. And then sometimes I'm wrong. And that's like really interesting too.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

strong engineers, experienced engineers know to do, make one change at a time and verify. I guess it's kind of like when I run RSpec, right? Or RSpec feels like supernatural to me. So every time I hit my test suite, I'm like, okay, I expect this to happen. And like, sometimes I'm right. And then sometimes I'm wrong. And that's like really interesting too.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

But making that initial guess of what's going to happen is super important. And I think we need to slow down and stop and say, okay, here's our guess as to what's going to happen. Here's how we're going to verify it. And if we can't verify it, here's like the corrective action we can take.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

But making that initial guess of what's going to happen is super important. And I think we need to slow down and stop and say, okay, here's our guess as to what's going to happen. Here's how we're going to verify it. And if we can't verify it, here's like the corrective action we can take.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Yeah, so what did we do about it? Unfortunately, well, not unfortunately. It was a good learning experience. But obviously, my happy place is deep in our legacy Rails application environment. finding all the pathways there, but I had to get really pushed myself, get out of my comfort zone. I had to pick up Kotlin.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Yeah, so what did we do about it? Unfortunately, well, not unfortunately. It was a good learning experience. But obviously, my happy place is deep in our legacy Rails application environment. finding all the pathways there, but I had to get really pushed myself, get out of my comfort zone. I had to pick up Kotlin.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Luckily, Kotlin is like a super friendly language, I think to get into, especially for folks who are coming from Ruby. Cause I think that there's like kind of like an emphasis on syntax on like syntactic sugar on like making the code actually like readable and look nice. Whereas that's not always the case with all JVM languages. So in that case, in that sense, it was kind of friendly.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Luckily, Kotlin is like a super friendly language, I think to get into, especially for folks who are coming from Ruby. Cause I think that there's like kind of like an emphasis on syntax on like syntactic sugar on like making the code actually like readable and look nice. Whereas that's not always the case with all JVM languages. So in that case, in that sense, it was kind of friendly.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Also at Ibotta, we were able to organize kind of a learning group. So there were lots of folks who were new to Ibotta or new to Kotlin who were kind of trying to solve these similar problems. So we made a study group. We found students. cool online coursework. We held each other accountable for making sure that we were making progress on those things.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

Also at Ibotta, we were able to organize kind of a learning group. So there were lots of folks who were new to Ibotta or new to Kotlin who were kind of trying to solve these similar problems. So we made a study group. We found students. cool online coursework. We held each other accountable for making sure that we were making progress on those things.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

And I started writing Conlon in the microservice to try to, like you said, push across the line. We need to get this across the line and then we can kind of circle back and deal with some of the underlying problems.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

And I started writing Conlon in the microservice to try to, like you said, push across the line. We need to get this across the line and then we can kind of circle back and deal with some of the underlying problems.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

And that's important because as engineers, at the end of the day, we're trying to deliver value to the businesses that we work for and not just trying out new technology or optimize what technological solution we're implementing.

Ruby Rogues
Exploring Tech Choices and Team Dynamics with Jesse Spivak - RUBY 669

And that's important because as engineers, at the end of the day, we're trying to deliver value to the businesses that we work for and not just trying out new technology or optimize what technological solution we're implementing.