No Compromises

No Compromises

By Joel Clermont and Aaron SarayTechnology
Download on the App Store

No Compromises episodes

  • Is the traditional code review workflow holding you back?

    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. 

    16 min
  • Write better requirements or pay for it later

    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.

    14 min
  • Which layer of caching does your slow app actually need?

    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.

    12 min
  • Where do credentials end and configuration begin in your env file?

    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.
    10 min
  • Running AI agents on your production server is the new FTP

    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.

    16 min
  • Why having a human partner still beats relying on AI alone

    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.
    14 min
  • What is really inside the AI tools you blindly install

    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
    14 min
  • How much logic is too much logic in a PHP enum

    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.
    14 min
  • Your codebase is not a museum for old code

    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
    14 min
  • Do you actually own the code you ship?

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

About No Compromises

From the publisher's feed

Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.

More shows like No Compromises

The Laravel Podcast by Matt Stauffer

The Laravel Podcast

57 Listeners

Startups For the Rest of Us by Rob Walling

Startups For the Rest of Us

698 Listeners

Darknet Diaries by Jack Rhysider

Darknet Diaries

8,055 Listeners

Notes On Work - by Caleb Porzio by Caleb Porzio

Notes On Work - by Caleb Porzio

18 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Bootstrapped Founder by Arvid Kahl

The Bootstrapped Founder

35 Listeners

All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

All-In with Chamath, Jason, Sacks & Friedberg

10,190 Listeners

Hard Fork by The New York Times

Hard Fork

5,559 Listeners

Mostly Technical by Ian Landsman and Aaron Francis

Mostly Technical

27 Listeners