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

Kyle d'Oliveira

👤 Person
240 total appearances

Appearances Over Time

Podcast Appearances

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

on amazon and within like 10 minutes you've got a domain that points to it you've got the full stack you can you have full control you can do whatever you want you can break it and it gives developers a lot of autonomy to test things that they want and you know removes a lot of this oh let's deploy it and see what happens you have a full environment that you have full control over go test it go see it with as much data as you want and then see what happens

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

on amazon and within like 10 minutes you've got a domain that points to it you've got the full stack you can you have full control you can do whatever you want you can break it and it gives developers a lot of autonomy to test things that they want and you know removes a lot of this oh let's deploy it and see what happens you have a full environment that you have full control over go test it go see it with as much data as you want and then see what happens

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Another example kind of along those things is like deployments. Do you have a handful of senior developers who can deploy or do you deploy on like a every Monday you do a big deployment? Like that's going to start really breaking down when you have a lot of developers. You know, at Clio, we everyone has the ability to deploy. Everyone has the ability to merge code.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Another example kind of along those things is like deployments. Do you have a handful of senior developers who can deploy or do you deploy on like a every Monday you do a big deployment? Like that's going to start really breaking down when you have a lot of developers. You know, at Clio, we everyone has the ability to deploy. Everyone has the ability to merge code.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

So we give the power to the developers and now, you know, A junior developer can come in, write a fix to a readme, merge the code, deploy it without having to really bother people outside of getting a code review. And now we're deploying code probably upwards of 30-ish times a day, and that number is just only going to go up. And...

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

So we give the power to the developers and now, you know, A junior developer can come in, write a fix to a readme, merge the code, deploy it without having to really bother people outside of getting a code review. And now we're deploying code probably upwards of 30-ish times a day, and that number is just only going to go up. And...

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

So as we're running into these issues, we are just looking at what can we do to build tooling so that it's no longer frustrating for developers. And the important part of this is developers need to voice things and managers and companies need to listen. If we're wasting five hours a week per developer on this one thing that's frustrating, build tooling around it.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

So as we're running into these issues, we are just looking at what can we do to build tooling so that it's no longer frustrating for developers. And the important part of this is developers need to voice things and managers and companies need to listen. If we're wasting five hours a week per developer on this one thing that's frustrating, build tooling around it.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

It used to be something that we did. We used to call it the snapshot, and you could point environments at the snapshot and run test queries on it. But we actually did hit a size where the time it took to set up the snapshot every day was taking longer than it would take to actually...

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

It used to be something that we did. We used to call it the snapshot, and you could point environments at the snapshot and run test queries on it. But we actually did hit a size where the time it took to set up the snapshot every day was taking longer than it would take to actually...

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

back it up so we it was just starting to become unfeasible for us and we're also dealing with sensitive data and we don't necessarily want to give free access to all of that that data for our our clients so we instead try to invest in a little bit of tooling we we definitely still have issues where everything looks good in development everything looks good in like beta or test and we deploy to production something is wrong so we think about what can we do to make make that better

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

back it up so we it was just starting to become unfeasible for us and we're also dealing with sensitive data and we don't necessarily want to give free access to all of that that data for our our clients so we instead try to invest in a little bit of tooling we we definitely still have issues where everything looks good in development everything looks good in like beta or test and we deploy to production something is wrong so we think about what can we do to make make that better

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And so we, you know, if it's about a lack of index on like a database query or something like that, we can try to check that ahead of time and build some tooling and alert people when something goes wrong. But also in production, we can be and say like, hey, this query took 30 minutes, that's unacceptable. This query took five minutes.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And so we, you know, if it's about a lack of index on like a database query or something like that, we can try to check that ahead of time and build some tooling and alert people when something goes wrong. But also in production, we can be and say like, hey, this query took 30 minutes, that's unacceptable. This query took five minutes.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And return that information as like an exception to the developers that they need to fix, but without interrupting the actual request behavior. And if things go really south, just roll it back. Like we don't really have, it's not a blame if someone deploys something and goes south and they quickly roll it back. We just try to take that as a learning opportunity.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And return that information as like an exception to the developers that they need to fix, but without interrupting the actual request behavior. And if things go really south, just roll it back. Like we don't really have, it's not a blame if someone deploys something and goes south and they quickly roll it back. We just try to take that as a learning opportunity.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And how can we take that learning opportunity and share it to everybody so that everyone learns from it? Does that answer your question?

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

And how can we take that learning opportunity and share it to everybody so that everyone learns from it? Does that answer your question?

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah. What we can also do is, I mentioned earlier that we could talk. We have these data environments that we can spin up. You just use a SQL dump to store data in there. And although this isn't necessarily production data, developers have full control over what that data looks like.

Ruby Rogues
Rails at Super Scale with Kyle d'Oliveira - RUBY 667

Yeah. What we can also do is, I mentioned earlier that we could talk. We have these data environments that we can spin up. You just use a SQL dump to store data in there. And although this isn't necessarily production data, developers have full control over what that data looks like.