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

Is this on MySQL or Postgres? This was in, we used Percona, which is just an offshoot of MySQL. So it'll also be different for between databases. So Percona might have different decisions.

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

Is this on MySQL or Postgres? This was in, we used Percona, which is just an offshoot of MySQL. So it'll also be different for between databases. So Percona might have different decisions.

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

Yeah. So a lot of this comes from tooling and education, right? There's as like senior developers or people who have just different experience from different places, we've accumulated huge amounts of knowledge and it's kind of all tribal.

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

Yeah. So a lot of this comes from tooling and education, right? There's as like senior developers or people who have just different experience from different places, we've accumulated huge amounts of knowledge and it's kind of all tribal.

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

And I think the, if you join a company that doesn't have a great strategy, a lot of the strategies for sharing that knowledge is like just work together, go submit pull requests and have them code review it and learn from the code review. And I think that's okay. You can learn that way. But there are better ways to push information to people. And this is a concept about just-in-time education.

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

And I think the, if you join a company that doesn't have a great strategy, a lot of the strategies for sharing that knowledge is like just work together, go submit pull requests and have them code review it and learn from the code review. And I think that's okay. You can learn that way. But there are better ways to push information to people. And this is a concept about just-in-time education.

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

So an interesting example of this can be through the linters. So I did a talk about this as well for the 2020 Couch Edition of RailsConf called Communicating with Cops. that focused on using RuboCop as a mechanism to provide education. I did a little bit of deep dive into how RuboCop works and how to build your own custom comp.

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

So an interesting example of this can be through the linters. So I did a talk about this as well for the 2020 Couch Edition of RailsConf called Communicating with Cops. that focused on using RuboCop as a mechanism to provide education. I did a little bit of deep dive into how RuboCop works and how to build your own custom comp.

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

But one of the things that we approach with at Clio is as people make mistakes and learn about bad patterns, we try to codify those patterns so that it's... It doesn't happen again, but people get education about it right as it happens.

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

But one of the things that we approach with at Clio is as people make mistakes and learn about bad patterns, we try to codify those patterns so that it's... It doesn't happen again, but people get education about it right as it happens.

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

A good example of this that is super-trivial and doesn't often bite people until there's just an unexpected case would be maybe the Rails convention of naming files. We've seen cases where people maybe make a user's model, but then make a typo in the spec. So rather than call it user spec, call it users, and it's plural, or something along those lines.

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

A good example of this that is super-trivial and doesn't often bite people until there's just an unexpected case would be maybe the Rails convention of naming files. We've seen cases where people maybe make a user's model, but then make a typo in the spec. So rather than call it user spec, call it users, and it's plural, or something along those lines.

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

And the spec will still run, but there might be some tooling that we expect to adhere to the Rails convention and it doesn't quite line up. So you can have a linter that basically checks the name of the files and the name of the classes and make sure that they're in line. And if not, alert people and do that as part of their editor or do that as part of them committing code.

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

And the spec will still run, but there might be some tooling that we expect to adhere to the Rails convention and it doesn't quite line up. So you can have a linter that basically checks the name of the files and the name of the classes and make sure that they're in line. And if not, alert people and do that as part of their editor or do that as part of them committing code.

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

And they get warnings and they get education as they're writing code. So if they just wrote something, they save the file, they get a little warning popped up being like, hey, you may have made a typo here. And this goes even to as far as behavior.

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

And they get warnings and they get education as they're writing code. So if they just wrote something, they save the file, they get a little warning popped up being like, hey, you may have made a typo here. And this goes even to as far as behavior.

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

If we know that there exists bad patterns, so for instance, making an HTTP call inside of a transaction, which we know is going to be potentially bad, we can actually automatically prevent that. And as soon as that starts happening, as soon as we're able to detect it, so it might be in a test,

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

If we know that there exists bad patterns, so for instance, making an HTTP call inside of a transaction, which we know is going to be potentially bad, we can actually automatically prevent that. And as soon as that starts happening, as soon as we're able to detect it, so it might be in a test,

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

might be as part of a linter, we provide that education right back to the developer so that they understand what they did wrong and the avenues of what they need to do to fix it. So now when a junior developer enters the company, they can actually just feel free to start writing code and write even code in kind of a way that maybe breaks some patterns.

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

might be as part of a linter, we provide that education right back to the developer so that they understand what they did wrong and the avenues of what they need to do to fix it. So now when a junior developer enters the company, they can actually just feel free to start writing code and write even code in kind of a way that maybe breaks some patterns.