Episodios

  • When weird code needs to explain itself
    Mar 28 2026

    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 this
    01:15 Flagging the unclear pattern across components
    03:54 The Mary UI toast flicker bug explained
    05:45 Naming, documentation, and protecting the whole team
    09:30 Silly bit

    Más Menos
    11 m
  • Are you testing your app or just the framework?
    Mar 14 2026

    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 framework
    02:00 Joel metric for framework-only tests
    05:15 Bottom-up testing perspective by test type
    07:36 Why validation rules still deserve tests
    10:40 Silly bit

    Más Menos
    13 m
  • Being anti-hype does not mean being anti-AI
    Feb 28 2026

    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.
    Más Menos
    10 m
  • Three ways to plan an upgrade when your codebase is a patchwork
    Feb 14 2026

    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, we discuss different strategies for tackling upgrades when parts of your codebase are multiple versions behind.

    We walk through two main approaches and weigh the tradeoffs for both the developer doing the work and the person reviewing it.

    • (00:00) - Setting up the upgrade scenario
    • (02:15) - Approach one: upgrade each area to current
    • (04:00) - Why the reviewer's experience matters too
    • (07:30) - A third approach neither one expected
    • (09:00) - Silly bit

    Want help upgrading your Laravel project?
    Más Menos
    10 m
  • Stop doing math in your config files
    Jan 31 2026

    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 configuration values is a habit worth breaking.

    Aaron argues that if a value never changes, there's no reason to calculate it every time. A well-placed comment can explain how you got the number without the unnecessary overhead.

    We also cover how comments can clarify units like seconds versus milliseconds, why this thinking applies beyond config files, and how questioning small habits can improve your code overall.

    • (00:00) - How many seconds is five minutes?
    • (01:45) - The problem with inline config math
    • (03:45) - Using comments instead of runtime calculations
    • (05:30) - Why questioning habits improves code
    • (07:00) - Silly bit

    Want a second set of eyes on your Laravel project?
    Más Menos
    9 m
  • What could be worse than having no tests?
    Jan 17 2026

    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 evaluating third-party packages before bringing them into a project.

    Aaron makes the case that what he finds in the tests folder is essentially a deal-breaker: no tests means no trust, but leaving default example tests behind is somehow even worse. Tests reveal whether the maintainer thought through edge cases and serve as living documentation when the README falls short.

    We also cover the other signals we weigh: GitHub stars, download counts, issue responsiveness, and how quickly maintainers keep up with new Laravel versions.

    • (00:00) - Evaluating packages you stumble across
    • (01:30) - Why leftover example tests frustrate Aaron
    • (03:45) - Tests as documentation and edge case proof
    • (05:00) - Checking issues and Laravel version history
    • (08:00) - Silly bit

    Want to work with us on your project?
    Más Menos
    9 m
  • Why I changed my mind about down migrations
    Jan 4 2026

    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 surprising reversal on down migrations, a topic we've publicly discussed on this podcast.

    We walk through the original arguments for writing down migrations and deconstruct each one.

    • (00:00) - The original case for down migrations
    • (03:45) - Aaron changes his stance
    • (05:15) - Why seeders beat rollbacks for local dev
    • (10:30) - Rethinking the production rollback scenario
    • (14:45) - Silly bit

    Keep your knowledge fresh, check out Mastering Laravel.
    Más Menos
    17 m
  • Why senior developers feel wrong more often
    Dec 20 2025

    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 podcast, we explore why senior developers often feel "wrong" more frequently than they did earlier in their careers.

    Aaron makes the case that this isn't a sign of declining skill—it's evidence of a richer mental model that reveals nuance where things once seemed black and white.

    We discuss how feedback sources shift with experience, why changing your mind signals growth rather than failure, and how to reframe architectural decisions as a spectrum rather than binary choices.

    • (00:00) - Feeling wrong more often as a senior dev
    • (01:45) - Knowledge plateaus and how growth resets them
    • (04:45) - How feedback sources change with experience
    • (07:00) - Binary thinking versus nuanced decision-making
    • (09:15) - Silly bit

    Want two Laravel experts to review your code?
    Más Menos
    10 m