Joel Clermont

Joel Clermont


Appears in 147 Episodes

Are you testing your app or just the framework?

Are you testing your app or just the framework?

Episode 148 · · 12:56

Do you ever finish writing a test and wonder if it is actually proving anything about your code or just confirming that Laravel works?In the latest episode of the No Compromises podc...

Being anti-hype does not mean being anti-AI

Being anti-hype does not mean being anti-AI

Episode 147 · · 10:27

Does everyone need to have an AI hot take right now, or is there value in waiting until you actually know what you're talking about?In the latest episode of the No Compromises podcas...

Three ways to plan an upgrade when your codebase is a patchwork

Three ways to plan an upgrade when your codebase is a patchwork

Episode 146 · · 09:59

When your project has the same thing done three different ways, how do you bring everything up to date with a consistent approach?In the latest episode of the No Compromises podcast,...

Stop doing math in your config files

Stop doing math in your config files

Episode 145 · · 09:20

Ever feel the urge to write out calculations in your code to make them "self-documenting"?In the latest episode of the No Compromises podcast, we discuss why inline math in configura...

What could be worse than having no tests?

What could be worse than having no tests?

Episode 144 · · 09:25

Found a cool package on Laravel News? But how do you know if it's actually worth installing?In the latest episode of the No Compromises podcast, we discuss what we look for when eval...

Why I changed my mind about down migrations

Why I changed my mind about down migrations

Episode 143 · · 16:35

Have you ever built a strong case for something, only to realize later you were solving the wrong problem?In the latest episode of the No Compromises podcast, we discuss Aaron's surp...

Why senior developers feel wrong more often

Why senior developers feel wrong more often

Episode 142 · · 10:23

Ever catch yourself second-guessing decisions you were confident about just months ago? Does that mean you're getting worse at your job?In the latest episode of the No Compromises po...

Should you ever hand-format code?

Should you ever hand-format code?

Episode 141 · · 07:43

Ever feel like you're wasting your time tweaking a section of code to get it just right? We have tools for that, don't we?  In the latest episode of the No Compromises podcast, we di...

Discussing different ways to model data

Discussing different ways to model data

Episode 140 · · 11:50

It's easy to overcomplicate data modeling, especially when enums, relationships, and future requirements are in play.    In the latest episode of the No Compromises podcast, Joel bri...

Read outside tech to expand your horizons

Read outside tech to expand your horizons

Episode 139 · · 09:44

It's easy to get so laser-focused on programming and tech, that you close yourself off to other avenues of learning.In the latest episode of the No Compromises podcast, Aaron argues ...

Rewriting without a map: shipping an MVP from a legacy app

Rewriting without a map: shipping an MVP from a legacy app

Episode 138 · · 11:53

Multiple times we have encountered the messy reality of rebuilding a decade-old system: stale specs, missing specs, and stakeholders who want "the same… but better." In the latest ep...

A composable, versioned toolkit for Laravel projects

A composable, versioned toolkit for Laravel projects

Episode 137 · · 13:55

We join a fair number of projects, and we often help teams bring their project up to our standard. This means bringing a lot of the same small pieces from project to project.In the l...

Should you use DTOs in Laravel?

Should you use DTOs in Laravel?

Episode 136 · · 10:10

DTOs (Data Transfer Objects) aren't mentioned anywhere in the Laravel docs, but some devs use them heavily in their applications, whereas other devs never use them at all.In the late...

Sunsetting a company app without loose ends

Sunsetting a company app without loose ends

Episode 135 · · 13:55

Business change and projects end, but how do you wrap up and sunset an app, especially one you've worked on for years?In the latest episode of the No Compromises podcast, we share a ...

When building a UI makes more sense than bloating your seeders

When building a UI makes more sense than bloating your seeders

Episode 134 · · 11:49

What do you do when you need to create some data but you haven't built out the UI for that data yet? A seeder is a great approach, but is it always the right one? In the latest episo...

Blade includes vs components: how we decide

Blade includes vs components: how we decide

Episode 133 · · 15:55

Blade gives you two big levers for keeping views maintainable: @include and Blade components.When should you use one versus the other?Does it matter?In the latest episode of the No C...

Changing your mind about when() and unless() in Eloquent

Changing your mind about when() and unless() in Eloquent

Episode 132 · · 11:02

Aaron admits he used to wrap every query in plain old if-statements—until Laravel’s when()/unless() helpers (and arrow functions) won him over. He and Joel compare their journeys, de...

Finding a code-review style that fits your brain

Finding a code-review style that fits your brain

Episode 131 · · 16:20

Joel and Aaron compare two very different ways to tackle pull-requests—reviewing them commit-by-commit or scanning the whole thing at once. They dig into when each approach shines, h...

Never take hostages: give clients control from day one

Never take hostages: give clients control from day one

Episode 130 · · 10:55

Joel and Aaron explain why every project should start in the client’s own GitHub organization—even when the client has never heard of Git. They share scripts, onboarding tips, and wa...

Balancing test coverage without chasing 100 percent

Balancing test coverage without chasing 100 percent

Episode 129 · · 15:41

Joel and Aaron unpack how they use code-coverage numbers as a starting signal rather than a finish line. They discuss realistic thresholds, choosing the right tool for each test laye...

Exploratory coding when requirements are fuzzy

Exploratory coding when requirements are fuzzy

Episode 128 · · 15:19

Joel and Aaron unpack a recent client project where the only spec was “make these two systems talk.” They share how console-level prototypes helped them clarify data mapping, test tr...

Understanding how Stringable works inside Blade views

Understanding how Stringable works inside Blade views

Episode 127 · · 10:58

Joel and Aaron dig into Laravel’s `Stringable` class and uncover how it can silently skip Blade’s automatic HTML escaping. They explain why that’s both a convenient feature and a pot...

Finishing up our discussion on not having time

Finishing up our discussion on not having time

Episode 126 · · 11:41

Picking up where last week’s “Why ‘no time’ really means ‘no priority’” left off, Joel and Aaron tackle the next hurdle: what to do once the benefits are crystal‑clear but you (or yo...

Why “no time” really means “no priority”

Why “no time” really means “no priority”

Episode 125 · · 11:27

Joel and Aaron tackle the common objection, “We don’t have time,” and show why it usually hides a priority problem. They discuss how to convey the true payoff of process improvements...

When validation can protect your app's performance

When validation can protect your app's performance

Episode 124 · · 12:12

Joel and Aaron show how ignoring GET request validation can cause performance issues and open your application to abuse. They highlight the importance of bounding pagination and shar...

Stick with conventions and avoid overengineering your Laravel app

Stick with conventions and avoid overengineering your Laravel app

Episode 123 · · 08:41

Joel and Aaron explore why pushing too many layers of abstraction can backfire in a Laravel application. They highlight the benefits of sticking to the framework’s conventions for lo...

When to bring in outside help

When to bring in outside help

Episode 122 · · 10:57

Joel and Aaron explore the decision-making process behind hiring or consulting an expert for technical challenges. They discuss examples like adding tests to a large codebase and und...

Why two databases are better than one

Why two databases are better than one

Episode 121 · · 14:49

Joel and Aaron discuss the benefits of having distinct databases for testing and local development. They share how this approach ensures a reliable test suite and avoids conflicts wi...

Dealing with being a beginner again

Dealing with being a beginner again

Episode 120 · · 14:11

In this episode, Joel and Aaron discuss the struggles of learning new technology on a late-night side project. They share tips for handling frustration and managing expectations.Don'...

Making short demo videos count

Making short demo videos count

Episode 119 · · 09:37

Joel and Aaron explore the value of using concise video demos instead of long emails or scattered screenshots. They discuss which clients benefit from quick visuals and when text is ...