Joel Clermont

Joel Clermont

Appears in 112 Episodes

How to deal with things outside your control on a dev project

Have you ever struggled working with a third party on one of your developer projects? How do you handle that, keeping it professional and also still able to meet your ...

Should we use a JSON field for this?

JSON fields can be very useful, but when is a good time to include them in your database design? In today's episode of No Compromises, Aaron and Joel use a couple exam...

A balanced approach to static analysis in Laravel apps

Static types and tooling have increased the quality of our apps, but sometimes certain features in your Laravel app don't play nicely with static analysis. In today's ...

Why do we like testing so much?

I write a lot about testing in the Mastering Laravel newsletter. Ever wonder why it's a topic I care so much about? In today's episode, we discuss that question and co...

What does it mean to "know" something?

What does it really mean when you say you know a particular technology? On today's episode, we discuss this using TypeScript as a specific example.Want help with your ...

How to approach being wrong

Programmers are not shy about telling other programmers when they're wrong. But what can we learn in a situation like his? How can we be wrong with style? In this epis...

Where do you go when you need help?

We can't know everything, so throughout each day we inevitably have questions. On today's episode, we discuss different approaches we have used when we need a little h...

What does it mean if someone says your app is slow?

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...

Why we have a separate test suite for external services

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 t...

API specs aren't just for giant teams

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,...

Slowly introducing static analysis without changing everything

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 lar...

Troubleshooting an empty session

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 ...

Magic methods are okay in the right context

"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...

Should you let your admin do that?

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 ...

Don't get overwhelmed by errors in your application

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...

Does it matter how your code looks?

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 ...

The life cycle of database hosting

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 hostin...

Are you really going to need that abstraction?

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 ab...

Should you change application code to support a test?

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. ...

What is the point of design patterns?

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...

Move that logic out of your view

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 discussi...

Is it worth switching to another tool?

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 k...

How we use seeders in our applications

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 ou...

Don't just get mad at some tech, dig in and learn!

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 ...

Making a case for consistency

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 thing...

Different approaches to upgrading to a new major Laravel version

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 be...

Maybe you don't need to write code this time

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 "behin...

Should you manage roles and permissions with a UI?

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 applica...

The changing value of books throughout your career

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 b...

Some reasons to write a down method in your migrations

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.No call ...

No Compromises, LLC