Joel Clermont and Aaron Saray
No Compromises
Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.
Author
Joel Clermont and Aaron Saray
Category
Podcast website
Latest episode
Jul 4, 2026
Where to listen?
Podcasts in the app Replaio Radio Coming soonPodcasts are coming to the app soon. Install now and be the first to see a whole new take on podcasts
Episodes
What does it mean if someone says your app is slow? 06.08.2024 13:42
The dreaded bug report: this app is slow. Ok, but what is slow? I have so many questions! In today's episode, we discuss our approach to getting more information out of that initial bug report, and a methodical approach to locate and quantify the slowness. If you'd like help setting up tools like Xdebug profiling , send us a message.
Why we have a separate test suite for external services 23.07.2024 18:03
Writing tests that communicate with a third party can be a little tricky, but we've found an approach that balances speed and confidence. In today's episode, we share that approach and talk through a strategy of how frequently to run tests that talk to the outside world. (00:00) - Why would your tests ever talk to an external service? (02:30) - What does it mean to have a separate test suite? (06:...
API specs aren't just for giant teams 09.07.2024 14:41
I don't have time to write an API spec. We're not a giant team. We don't have external users of our API. I've said all these things in the past, but in today's episode, we discuss why you should still consider writing a specification for your Laravel API. (00:00) - Should you write a spec for your API? (01:37) - Thinking through the requirements (04:07) - What's in a spec? (06:20) - Balancing deta...
Slowly introducing static analysis without changing everything 25.06.2024 15:13
Maybe you've tried to add static analysis to your Laravel app and got scared away by all the errors. In this episode we discuss how we like to introduce PHPStan to large, long-lived projects in a way that doesn't introduce a lot of risk or change. Would you like help introducing Larastan to your project ? That's one of many things we can help you with! This episode is sponsored by Mailtrap, an Ema...
Troubleshooting an empty session 11.06.2024 12:29
Why isn't this working? It can be frustrating when something doesn't work as expected! In this episode, we talk through a recent issue Joel had with sessions and oauth flows. There are a couple principles that apply more broadly. Next time you're stuck on something, let us help! This episode is sponsored by Mailtrap, an Email Delivery Platform that developers love. Try for Free at MAILTRAP.IO
Magic methods are okay in the right context 28.05.2024 12:06
"Magic" methods and properties show up several places in Laravel, as well as third-party packages. They can make certain things easier and less verbose, but there is a trade off. In this episode, we discuss a few different contexts where we like and avoid magic accessors. We'd really appreciate it if you share the show with other Laravel devs. This episode is sponsored by Mailtrap, an Email Delive...
Should you let your admin do that? 14.05.2024 10:49
Admins can do everything in the app, right? Today we discuss a couple reasons why you may want to consider not letting an admin have access to every single feature in your app. 🎉️ Episode 100 is a huge milestone for us. Thank you for listening! This episode is sponsored by Mailtrap, an Email Delivery Platform that developers love. Try for Free at MAILTRAP.IO
Don't get overwhelmed by errors in your application 30.04.2024 11:55
Have you ever turned on error tracking in a long-lived app and then got overwhelmed by all the errors happening? We talk through some strategies to not get overwhelmed and make a case that you really should be monitoring this in production. Would you like help with your legacy app? We have a ton of experience making legacy apps a joy to work within . (00:00) - Your app should be tracking errors (0...
Does it matter how your code looks? 16.04.2024 11:49
We've talked about coding standards before, but this time we approach it from a slightly different angle. Does the way you're code is formatted affect your ability to understand it? Brains are interesting things. Is your code slower than you'd like? We specialize in Laravel performance optimization and we can help! Contact us to discuss.
The life cycle of database hosting 02.04.2024 16:21
You launched a hobby project and then it starts to get some traction. What next? How do you get a more solid foundation under your app when it comes to database hosting? In this episode, we discuss the common phases we see a database go through during an app's life. And if you'd love some help moving your database or tackling performance issues , give us a call!
Are you really going to need that abstraction? 19.03.2024 11:59
Interfaces are a great tool for writing maintainable applications, but it is possible to go "too far" with abstraction. Or maybe, it's a bad use of time to write an abstraction up front before you really know you need it. We discuss some trade-offs and examples. (00:00) - Life before interfaces in PHP (02:30) - Going too far with interfaces (04:45) - A discussion with payment gateways (07:30) - Ab...
Should you change application code to support a test? 05.03.2024 11:32
When you're writing a test it can be so tempting to just "tweak" some app code to make it easier to write that test, but we discuss why that might not be a good idea. We also talk about some app changes while writing tests that are beneficial to the overall project. (00:00) - Sometimes changing code makes testing easier (01:30) - Different types of code changes (02:45) - An example with Laravel jo...
What is the point of design patterns? 20.02.2024 11:38
Do your eyes glaze over when someone mentions singletons or factories? We'll try to not to be boring as we explain the benefits of design patterns. Sign up for our free Laravel newsletter and learn something new in 2 minutes or less.
Move that logic out of your view 06.02.2024 10:16
Ever feel like your Blade views are getting too logic-heavy? What logic belongs in the view, and what logic would be better somewhere else? We use a recent PR discussion to talk through these points. (00:00) - Trying to keep logic out of the Blade view (02:00) - Using the simplest form of logic (03:45) - Business logic doesn't belong in the view layer (04:15) - Condition moved into the controller...
Is it worth switching to another tool? 23.01.2024 19:59
When new tools and packages come out, there is usually some buzz around the launch, and how it solves all the problems of the old tool. Should you switch? How do you know when it's worth it? What are the potential downsides of switching? We talk through a couple examples and share how we approach these decisions Want to see what our coding standard looks like? Toss a coin in the jar if you enjoyed...
How we use seeders in our applications 09.01.2024 15:15
Seeders seem pretty straightforward. It's a way to generate data. But how should you use them in your app and what different purposes do they serve? We talk through our approach to seeders and how we use them in a few different contexts. (00:00) - Diving into how we use seeders in our applications (01:40) - Should a seeder create users? (04:30) - Using seeders in multiple contexts (09:50) - The on...
Don't just get mad at some tech, dig in and learn! 26.12.2023 15:27
Is there some particular tool or technology that just makes you mad? Maybe it's the way CSS behaves or how some browsers work. Don't just get mad, dig in and learn it thoroughly. We talk about how we've done that and how it helped. (00:00) - Once again, Aaron reads the docs (02:30) - Recognizing when you don't know something (03:30) - Approaches for learning Javascript and CSS (04:20) - What is th...
Making a case for consistency 12.12.2023 13:25
We see a lot of different projects, but it's pretty rare to find one that's well-documented and internally consistent. Why does that matter? And how can you make things more consistent without spending a lot of time on it? (00:00) - We like keeping things tidy in our projects (01:20) - Have a README, please (03:30) - Is there a business case for consistency across projects? (05:30) - An example wi...
Different approaches to upgrading to a new major Laravel version 28.11.2023 16:01
How do you like to upgrade your app when the next new major version of Laravel comes out? Aaron and Joel share two different approaches they've used, and what added benefits you get from doing a version upgrade. Need help getting tests on your Laravel app before upgrading?
Maybe you don't need to write code this time 14.11.2023 15:25
We're developers, we write code! But sometimes it's worth thinking if we really need to fire up our editor, or if a better solution exists. We talk through some "behind the scenes" podcast workflow, and how we decided we didn't need to write code this time. (00:00) - Considering better ways to track topics (01:00) - The developer brain kicks in (03:05) - Building it in Slack without any code (05:1...
Should you manage roles and permissions with a UI? 31.10.2023 12:52
Just about every application needs the concept of roles and permissions. Often, there's a desire to allow non-developers to manage roles and permissions in the application interface, but is that a good idea? (00:00) - Roles and permissions landscape (01:45) - A UI for managing permissions? (04:14) - Rolling out new permissions via migrations (06:45) - What about managing roles in a UI? (09:00) - C...
The changing value of books throughout your career 17.10.2023 12:13
You might have a book that really shaped how you write code today. Some books make more sense if you read them later in your career. We discuss the changing value of books as a learning resource as you gain experience. 00:00 Using books as a resource 01:59 Changing perspectives as you gain experience 03:05 Recognizing real-world applications of what you read 05:45 Balancing enthusiasm with experie...
Some reasons to write a down method in your migrations 03.10.2023 14:19
This is a surprisingly controversial topic. In this episode, we share why we write down migration methods, and it's probably not the reason you're thinking of. (00:00) - Is writing down migration methods just a weird habit? (02:30) - A deploy that goes horribly wrong immediately (03:45) - Rolling forward due to database engine limitations (05:00) - How long is too long to rollback? (06:30) - Anoth...
Managing a micro-manager 19.09.2023 14:18
It's frustrating to have a client, boss, or even co-worker attempt to micro-manage you. We share some tips on how to make the working relationship better. (00:00) - Uncomfortable projects and clients (02:45) - Ask them directly "what's up" (05:00) - Understand what they want from you (07:00) - Let's role play (10:30) - The extra work is worth it (11:42) - Silly bit Need help building your Laravel...
A couple handy features in PHPStorm 05.09.2023 10:14
Developers spend a large part of their day inside an editor. For a full-featured editor like PHPStorm, there may be some useful features you've never noticed. We discuss a few of those.
Similar podcasts
Replaio is not a podcast publisher; show names, artwork and audio belong to their authors and are distributed through public RSS feeds.