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

Very cool. And about three years ago when I joined, we started thinking, we started growing the team and thinking about how we could like many people have, pull pieces out of the monolith into microservices. So this project in particular was about taking a piece of billing logic from the system, from the monolith, and pulling it out into a microservice.

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

Very cool. And about three years ago when I joined, we started thinking, we started growing the team and thinking about how we could like many people have, pull pieces out of the monolith into microservices. So this project in particular was about taking a piece of billing logic from the system, from the monolith, and pulling it out into a microservice.

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

The hope was to make it better encapsulated, easier to iterate on, isolate dependencies, every reason that you'd think to build a microservice. So we chose, actually, before I say the technology, before I get trolled, by all the lovers of this technology. I'm going to preface this by saying I don't think that this technology is wrong and I don't think it's bad in and of itself.

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

The hope was to make it better encapsulated, easier to iterate on, isolate dependencies, every reason that you'd think to build a microservice. So we chose, actually, before I say the technology, before I get trolled, by all the lovers of this technology. I'm going to preface this by saying I don't think that this technology is wrong and I don't think it's bad in and of itself.

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

I just think it was not the right technology for the problem and the team.

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

I just think it was not the right technology for the problem and the team.

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

Absolutely, whoever uses this technology is definitely making a big mistake. Spoiler, we weren't building a side Rails app microservice, which probably would not have been as big of a mistake. But the issue really was that our team, the small team of developers, and then the larger team of engineers in the company, really did not have a ton of experience with the framework that we chose.

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

Absolutely, whoever uses this technology is definitely making a big mistake. Spoiler, we weren't building a side Rails app microservice, which probably would not have been as big of a mistake. But the issue really was that our team, the small team of developers, and then the larger team of engineers in the company, really did not have a ton of experience with the framework that we chose.

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

And as a result, we ended up having to do a lot of plumbing and reinventing the wheel and just not benefiting from the institutional experience that exists at Ibotta. And unfortunately, this could work if you're doing kind of like a proof of concept, like let's show what this technology can do. Let's pick a pretty isolated use case.

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

And as a result, we ended up having to do a lot of plumbing and reinventing the wheel and just not benefiting from the institutional experience that exists at Ibotta. And unfortunately, this could work if you're doing kind of like a proof of concept, like let's show what this technology can do. Let's pick a pretty isolated use case.

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

But the billing logic that we were pulling out about Monolith was basically do or die. If it did not work, it costs millions of dollars to fix, or it ends up costing the company millions of dollars. So we were walking on a tightrope, and there was no net underneath us. And unfortunately, we decided to, I guess, walk on our hands instead of go across normally.

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

But the billing logic that we were pulling out about Monolith was basically do or die. If it did not work, it costs millions of dollars to fix, or it ends up costing the company millions of dollars. So we were walking on a tightrope, and there was no net underneath us. And unfortunately, we decided to, I guess, walk on our hands instead of go across normally.

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

So the framework that we use is called ACA. And I think for a team that knows ACA, this probably would have been really a perfect tool for the job. But our team and our company really did not have a ton of experience with ACA. And so unfortunately, we weren't able to sort of take advantage of it and use it in a way that sort of professional ACA developers likely can.

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

So the framework that we use is called ACA. And I think for a team that knows ACA, this probably would have been really a perfect tool for the job. But our team and our company really did not have a ton of experience with ACA. And so unfortunately, we weren't able to sort of take advantage of it and use it in a way that sort of professional ACA developers likely can.

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

Right. It deals with data streams and passing data along in a functional paradigm. And it's meant to accommodate high volume data across highly parallelized system. So, you know, at the time. We went there. Well, I'll talk about why we went there in a second. But in retrospect, it was something that could handle basically 10,000x really what we needed in terms of what it was designed to handle.

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

Right. It deals with data streams and passing data along in a functional paradigm. And it's meant to accommodate high volume data across highly parallelized system. So, you know, at the time. We went there. Well, I'll talk about why we went there in a second. But in retrospect, it was something that could handle basically 10,000x really what we needed in terms of what it was designed to handle.

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

So just sort of on paper, it probably wasn't the best move in that respect. But I could also talk about the team as well and why it wasn't a great fit.

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

So just sort of on paper, it probably wasn't the best move in that respect. But I could also talk about the team as well and why it wasn't a great fit.

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

Sure. Yeah, perfect. So the problem that we're trying to solve, and you have to know a little bit about the Ibotta app. So I assume all of you guys have downloaded it and are actively using it.

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

Sure. Yeah, perfect. So the problem that we're trying to solve, and you have to know a little bit about the Ibotta app. So I assume all of you guys have downloaded it and are actively using it.