
Advertise on podcast: No Compromises
Rating
4.9from
This podcast has
161 episodes
Language
EnglishPublisher
Joel Clermont and Aaron SarayExplicit
No
Date created
2020/08/14
Latest episode
2026/09/19
Average duration
14 min.
Release period
15 days
Description
Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.
Unlock No Compromises podcast Email contact info,
Listeners & Audience details
Email contact information
Direct podcast contact details

Listeners
Audience numbers & engagement insights

Audience details
Podcast Insights

Podcast episodes
Check latest episodes from No Compromises podcast
Is the traditional code review workflow holding you back?
2026/09/19
Have you ever had someone review your pull request, make changes without telling you, and just merge it in?
In the latest episode of the No Compromises podcast, we discuss whether the traditional code review workflow still makes sense in a world where AI tooling lets developers move faster than ever.
Aaron shares two real situations where a reviewer fixed and merged code without discussion, and we dig into why the lack of communication is the real problem, not the act of fixing things itself.
We also get into commit strategies, how friction in reviewing someone else's changes kills the learning, and why well-worn workflows deserve a fresh look when the tools around them have changed.
(00:00) - When a reviewer merges your PR without asking
(03:31) - How we handled it differently with time pressure
(05:43) - Should the reviewer just fix it and merge?
(08:02) - Too many commits create friction for the author
(13:44) - Silly bit
Get the kind of dev insights that make you rethink everything, delivered to your inbox via the Mastering Laravel newsletter. Your team is not the only one figuring this out. Join the conversation in the No Compromises community.
Write better requirements or pay for it later
2026/08/29
Have you ever handed off a feature request with barely any detail and expected the developer to just figure it out?
In the latest episode of the No Compromises podcast, we discuss why writing clear requirements is one of the most valuable things a business can do before development starts.
We make the case that even imperfect requirements beat none at all because they determine where the discovery happens, closer to the finish line rather than somewhere in the middle of the country.
We also cover why letting AI write your requirements for you is a trap, and how AI can help you review and cross-check requirements instead. And why the more detail you put in upfront, the less money you spend on surprises later.
(02:53) - Good requirements let you build start to finish
(05:10) - Imperfect requirements still beat having none
(07:36) - Why AI should not write your requirements
(09:09) - Using AI to cross-check requirements instead
(10:46) - Silly bit
Have a messy real-world project you're working through? Join the No Compromises community and talk it through with other developers.Subscribe to the Mastering Laravel newsletter for practical insights that help you communicate better with your development team.
Which layer of caching does your slow app actually need?
2026/08/15
When someone says your app is slow and you need caching, do you actually know which layer of caching they are talking about?
In the latest episode of the No Compromises podcast, we discuss the many different forms caching takes in a Laravel application and why reaching for the cache facade is not always the answer.
We walk through caching from the outside in, starting with edge caching via Cloudflare, moving into Laravel's cache facade for third-party API calls, and all the way down to memoization with the Once helper for expensive in-request calculations.
We also make the case that storing data in a database table can be a perfectly valid caching strategy, and that the right question to ask is not whether to cache but what kind of caching actually fits the problem.
(00:17) - Why caching means different things to different people
(02:04) - Edge caching with Cloudflare explained
(05:33) - When a database table beats the cache facade
(07:45) - Memoization with the Laravel Once helper
(09:19) - Silly bit
We have seen every caching mistake in the book. Our code review will find yours.Get practical Laravel tips like these delivered to your inbox every day by subscribing to our newsletter.
Where do credentials end and configuration begin in your env file?
2026/08/01
Have you ever fixed a failing test by adding a variable to phpunit.xml and moved on, not thinking twice about whether that was actually the right call?
In the latest episode of the No Compromises podcast, we discuss a real pull request disagreement about where environment variables belong and why it actually matters.
We draw an important distinction between credentials and workflow configuration in your env file, and why that difference should determine exactly what goes into phpunit.xml and what stays out.
We also get into why zeroing out API keys and hostnames in your test environment is not optional, and how a small oversight in one PR can quietly expose your tests to real third-party services.
(00:00) - A real PR disagreement about phpunit.xml
(01:07) - Credentials vs workflow config in your env file
(03:17) - Why Aaron is glad his tests failed
(04:49) - How to properly isolate third-party test keys
(07:25) - Silly bit
Come talk through decisions like these with developers who care in the No Compromises community.
Running AI agents on your production server is the new FTP
2026/07/18
Have you ever let an AI agent run commands on your production server because you were stuck, telling yourself it would be fine?
In the latest episode of the No Compromises podcast, we discuss why giving AI agents access to your production environment is as reckless as the bad old days of FTPing code straight to your server.
We make the case that AI agents are non-deterministic and carry no responsibility, which makes them far more dangerous than a developer making a manual mistake on a live server.
We also cover why you should never blindly run complex chained commands that an agent suggests, how to verify what your agent is actually doing, and why a little friction in your workflow is worth the safety it buys you.
(00:00) - FTPing to production is still wrong in 2026
(01:50) - Running Tinker on production is no better
(02:28) - AI agents on production servers is even worse
(07:11) - How to verify what your agent is actually doing (move from 07:00)
(11:03) - Silly bit
Stop letting non-deterministic tools make deterministic mistakes in your codebase. Get a code review.
Subscribe to our newsletter and get practical Laravel tips delivered to your inbox every day.
Why having a human partner still beats relying on AI alone
2026/07/04
Have you ever been stuck on a problem and instinctively reached out to a real person instead of an AI, and found that was exactly the right call?
In the latest episode of the No Compromises podcast, we discuss why human collaboration still matters in a world where AI seems to have all the answers.
Aaron shares a late-night hardware crisis that a blog post from a real human solved, something AI never surfaced, and connects it to a bigger point about the value of having a trusted person to work through problems with in real time.
We also get into why video calls beat text, why knowledge sharing still matters even when AI seems to know everything, and why pushing back on a partner often leads to better code than just agreeing.
(00:00) - A thunderstorm almost killed the podcast
(02:58) - Why Aaron called Joel instead of AI
(06:16) - The value of a real human work partner
(08:01) - Why video calls change everything
(09:15) - Human knowledge sharing still beats AI
(11:47) - Silly bit
Come find your people in the No Compromises community.
What is really inside the AI tools you blindly install
2026/06/20
When you install a package, you probably skip the source code. But what about the AI skills and CLAUDE.md files you are feeding directly into your agent?
In the latest episode of the No Compromises podcast, we discuss whether developers are reading the AI skills they install and why it actually matters.
We make the case that unread skills are riskier than unread packages because they quietly shape how your agent thinks and can introduce security vulnerabilities or opinions you would never have agreed to if you had just taken 10 minutes to read them.
We also look at the flip side, where reading those skills can make you a better developer, expose you to approaches you did not know existed, and help you guide your agents more intentionally across every project.
(00:00) - Do developers actually read package source code
(02:19) - Why AI skills are riskier than packages
(05:07) - Security risks hiding in unread skill files
(09:30) - Reading skills as a learning opportunity
(11:49) - Silly bit
Want a second set of eyes on the tools and packages your team is trusting? Find out how our code review service can help
How much logic is too much logic in a PHP enum
2026/06/06
Have you ever added a method to an enum and then wondered if you just turned it into something it was never meant to be?
In the latest episode of the No Compromises podcast, we discuss where to draw the line when adding methods and logic to PHP enums.
We trace the evolution from magic strings to constants to interfaces, and explain why enums were the missing piece PHP needed all along.
We also cover when label methods and data structure helpers belong on an enum, why Eloquent queries cross a line, and how to avoid turning a simple enum into a bloated helper class.
(00:00) - Why magic strings and constants fall short
(01:43) - How PHP enums replaced interface constants
(02:26) - What methods belong on an enum
(06:58) - The rule for keeping enum methods focused
(10:44) - Silly bit
Join developers who think carefully about clean code decisions in the No Compromises community.
Your codebase is not a museum for old code
2026/05/23
Have you ever opened a file to make a quick change, only to find dozens of lines of commented-out code making it nearly impossible to understand what's actually running?
In the latest episode of the No Compromises podcast, we discuss why keeping dead code around is slowing your whole team down.
We make the case that commented-out or unused code creates real confusion when searching a codebase, whether you are a new developer, a consultant, or even an AI agent trying to understand what is actually in use.
We also cover why Git is all the safety net you need, how Git bisect can recover deleted code you thought you might need someday, and why the fear of deleting code is almost always unfounded.
(00:00) - Why commented-out code slows everyone down
(02:03) - How dead code creates false search results
(05:10) - Dead code costs you more with AI agents too
(05:55) - How Git bisect helps you recover deleted code
(10:08) - When commenting out code is actually fine
(11:45) - Silly bit
Join the conversation and share how your team handles dead code in our No Compromises community
Do you actually own the code you ship?
2026/05/09
When a tool hands you a working solution, how much do you really need to understand about why it works?
In the latest episode of the No Compromises podcast, we discuss whether developers still care about understanding the code they ship, or whether that expectation is becoming a relic of the past.
We explore why knowing the "why" behind a solution isn't just about curiosity. It's about having enough domain knowledge to ask better questions, push back on bad answers, and ultimately produce better work.
We also walk through a real code review example involving a tricky Eloquent query, talk through the pressures that pull developers away from digging deeper, and consider what separates a line cook from a chef in how we approach our craft.
(00:16) - Are developers losing the habit of asking why
(02:16) - How AI changes the copy-paste-and-move-on cycle
(05:25) - Learning by accident while reading the manual
(06:24) - The Eloquent query neither of us could explain
(12:16) - Silly bit
Join a community of developers who still care about understanding the code they ship.
Do you actually need a multi-tenancy package?
2026/04/25
Ever feel like a project requirement says "we need multi-tenancy," and you're not even sure what that means in your specific context?
In the latest episode of the No Compromises podcast, we discuss how to evaluate multi-tenancy needs before committing to an architectural approach.
We break down what multi-tenancy actually means, from separate databases to custom domains and per-tenant configuration, and why the real question isn't which package to use, but whether you need one at all.
We also explore when hand-rolling a simple solution beats adopting a full package, what legal and compliance requirements can force your hand, and why this is one of those decisions that's genuinely hard to undo later.
00:00 Defining what multi-tenancy actually means02:11 Different ways to structure multi-tenant systems03:44 When separate databases are truly necessary04:57 Questions to ask before choosing an approach08:25 Package vs. rolling your own trade-offs11:30 Silly bit
If you want guidance on decisions like these, check out our code review service to get expert eyes on your architecture.
Local and production should match even for Laravel tools
2026/04/11
Ever installed a Laravel package locally and immediately accessed it, only to wonder later whether your access controls are actually working in production?
In the latest episode of the No Compromises podcast, we discuss why tools like Telescope and Horizon behave differently in local environments versus production, and why that inconsistency is a problem worth solving.
We make the case that developer convenience should never come at the cost of security confidence. If your gate logic cannot be exercised locally, you cannot truly trust it is protecting your production environment.
We also dig into how Aaron worked around the issue by overriding the package's service provider logic, and why Laravel has since made this easier to handle cleanly.
(00:00) - Why local and production environments should match
(01:42) - How Telescope's gate logic behaves differently locally
(03:01) - The risk of untestable access control logic
(07:53) - How Aaron overrode the service provider to fix it
(10:23) - Silly bit
(00:00) Why local and production environments should match(01:42) How Telescope's gate logic behaves differently locally(03:01) The risk of untestable access control logic(07:53) How Aaron overrode the service provider to fix it(10:23) Silly bitOur courses took the production hits so your app doesn't have to.
When weird code needs to explain itself
2026/03/28
Have you ever looked at a colleague's code and thought, "This is clearly wrong," only to find out it was actually a well-reasoned workaround for a tricky bug?
In the latest episode of the No Compromises podcast, we discuss what happened when Aaron reviewed Joel's code and couldn't make sense of a pattern spread across multiple Livewire components.
The code wasn't bad, it was solving a real UX flicker bug in an older version of Mary UI. But without context, it looked like a mistake and nearly got rejected. The fix wasn't just refactoring; it was giving the workaround a proper home: a trait with a descriptive name, clear method names, and thorough documentation explaining the bug, the reason for the pattern, and when it can eventually be removed.
We also talk about why "the explanation is in the PR note" isn't good enough, how AI coding agents can unknowingly propagate patterns they don't understand, and why strange code deserves to look strange, on purpose.
Explore Mastering Laravel resources to deepen your understanding of patterns like these.
00:00 The confusing code review that started this01:15 Flagging the unclear pattern across components03:54 The Mary UI toast flicker bug explained05:45 Naming, documentation, and protecting the whole team09:30 Silly bit
Are you testing your app or just the framework?
2026/03/14
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 podcast, we discuss how to tell the difference between tests that validate your logic and tests that merely exercise the framework.
We share a practical gut check: if you cannot make a test fail by changing something in your own application code, it probably should not be in your test suite. We also look at this idea from the other direction, asking whether the code being tested is something we actually wrote.
We also dig into why testing validation rules is worth the effort even when they feel boilerplate, how feature versus unit test style shapes these decisions, and why the real goal is simply getting to a place where your tests help you ask the right questions.
Join the Mastering Laravel community at https://masteringlaravel.io/community
00:00 Are we testing code or framework02:00 Joel metric for framework-only tests05:15 Bottom-up testing perspective by test type07:36 Why validation rules still deserve tests10:40 Silly bit
Being anti-hype does not mean being anti-AI
2026/02/28
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 podcast, we discuss why it took us 147 episodes to finally tackle the topic of AI.
We dig into the tension between wanting to speak with authority and feeling pressure to share before you're ready. Aaron makes the case for building deep knowledge first, while acknowledging that people at every stage of the learning curve play an important role in moving the community forward.
We also talk about how fast the AI landscape is shifting, why zooming out matters more than memorizing details, and why being a slower mover isn't something to apologize for.
(00:00) - Why we haven't talked about AI yet
(01:00) - Building deep knowledge before sharing opinions
(02:30) - AI moves faster than JavaScript frameworks
(04:30) - Zoom out before sweating the details
(06:15) - Every stage of the learning cycle matters
(07:45) - Silly bit
Want to get that new AI tip we mentioned? Sign up for the Mastering Laravel newsletter.
Podcast reviews
Read No Compromises podcast reviews
Awesomolocity 2024/06/06
Funny and Educational
I love how each episode is centered around a specific idea or concept. Plus the bits at the end about their personal lives or jokes can be really funn...
rgdyfdgythtgrtfy 2022/06/23
Entertaining!
It’s a very good podcast to listen to if you need background noise! It’s Also fun listening to my own father!
Podcast sponsorship advertising
Start advertising on No Compromises relevant audience podcasts
You may also like to advertise on these Podcasts

4.6221732000
Mark Levin Podcast
Cumulus Podcast Network

4.922981185
Dropping Bombs
Brad Lea: CEO, Entrepreneur, and Host of The Bottom Line

4.732711972
The President's Daily Brief
The First TV

4.913561971
Wholesaling Inc with Brent Daniels
Find distressed properties for pennies on the dollar and turn them for huge profits!

4.7368511291
Louder with Crowder
Louder with Crowder

4.682531303
The Daily Beast Podcast
The Daily Beast, Joanna Coles

4.672702000
Timcast News
Timcast Media

4.858231925
Sara Gonzales Unfiltered
Blaze Podcast Network

4.619802879
All Ears English Podcast
Lindsay McMahon and Michelle Kaplan

4.922371841
The Ten Minute Bible Hour Podcast
Matt Whitman