Kyle d'Oliveira
👤 PersonAppearances Over Time
Podcast Appearances
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
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
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.
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.
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...
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...
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.
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.
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...
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...
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
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
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.
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.
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.
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.
And how can we take that learning opportunity and share it to everybody so that everyone learns from it? Does that answer your question?
And how can we take that learning opportunity and share it to everybody so that everyone learns from it? Does that answer your question?
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.
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.