エピソード

  • Why senior developers feel wrong more often
    2025/12/20

    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?
    続きを読む 一部表示
    10 分
  • Should you ever hand-format code?
    2025/12/06

    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 discuss when to trust auto-formatters and when to nudge code by hand.

    Aaron makes the case that a few mindful minutes of “prettying up” can unblock harder thinking, without surrendering judgment to tools.

    We set limits on this approach, share a tiered break strategy, and make it clear why you still own what the formatter changes.

    • (00:00) - Auto-formatters vs subjective style choices
    • (01:15) - Edge cases tools miss and human tweaks
    • (03:15) - Using light formatting to unlock hard problems
    • (05:15) - A tiered break strategy for focus
    • (07:00) - Silly bit

    Want two Laravel experts to review your code?
    続きを読む 一部表示
    8 分
  • Discussing different ways to model data
    2025/11/22

    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 brings Aaron a real-world technical dilemma: how to model a relationship between two models when types are stored as enums, not models.

    We discuss the pros and cons of pivot tables versus JSON columns, the importance of context before jumping to solutions, and how developer instincts can sometimes get in the way of clarity.

    • (00:00) - Setting up the technical problem
    • (02:00) - Pivot tables vs JSON columns
    • (05:15) - Filtering and validation considerations
    • (07:15) - Deciding on the best approach
    • (09:50) - Silly bit

    Would you like us to review your code or application architecture?
    続きを読む 一部表示
    12 分
  • Read outside tech to expand your horizons
    2025/11/08

    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 that non-tech reading can sharpen your engineering thinking.

    We discuss balancing breadth without diluting focus, and how to turn casual reading into active learning with quick capture habits.

    • (00:00) - An example from a book on business
    • (03:30) - Don’t go too broad
    • (05:15) - Practice active learning
    • (07:15) - Read something different
    • (07:30) - Silly bit

    You should still read our Laravel books though.
    続きを読む 一部表示
    10 分
  • Rewriting without a map: shipping an MVP from a legacy app
    2025/10/25

    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 episode of the No Compromises podcast, we share a lightweight framework for agreeing on an MVP, tagging "post-MVP" ideas, and negotiating trade-offs while still making progress.

    We walk through practical tactics for parallelizing work and learning as you go.

    • (00:00) - Rebuilding an old system without copying its flaws
    • (02:00) - Two extremes: too many specs or none at all
    • (03:00) - MVP tension: ship value vs. future wishes
    • (04:45) - Define MVP, capture unknowns as post-MVP tickets
    • (05:30) - Build the first slice and learn
    • (07:00) - Code foundations while refining scope
    • (08:30) - Trade-offs as collaboration, not confrontation
    • (09:30) - Takeaway: progress, check-ins, iterate together
    • (10:00) - Silly bit

    Want to join one of our community dev calls?
    続きを読む 一部表示
    12 分
  • A composable, versioned toolkit for Laravel projects
    2025/10/11

    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 latest episode of the No Compromises podcast, we rethink our “project standard” repo. Instead of a full Laravel skeleton, we propose a composable library of tool-specific, versioned configs (PHPUnit, Docker, etc.).

    We walk through the benefits for greenfield and legacy work, open questions about test organization, and how this approach scales as tools evolve.

    • (00:00) - Why we keep our tooling current
    • (00:15) - The “project standard” repo is aging
    • (01:30) - Reference guide vs installable skeleton
    • (02:30) - Supporting old and new stacks (versions, tags)
    • (03:30) - Pivot: organize by tool and version, not app
    • (04:30) - Example plan: folders for PHPUnit 11/12 (and beyond)
    • (05:15) - What belongs where? Tests, traits, and context
    • (10:00) - Docker-first thinking; where Horizon config lives
    • (11:15) - Open questions: PHPUnit vs Pest vs “testing” folder
    • (12:15) - Takeaway: evolve the repo as the tools evolve
    • (12:45) - Silly bit

    Want help making your project as organized as one of our projects?
    続きを読む 一部表示
    14 分
  • Should you use DTOs in Laravel?
    2025/09/27

    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 latest episode of the No Compromises podcast, we weigh the pros and cons of DTOs in everyday Laravel apps, comparing them to form requests, PHPDoc-typed arrays, and service-layer boundaries, and share one area where DTOs truly shine.

    The takeaway: keep DTOs in the toolbox, but reach for them intentionally, not by habit.

    • (00:00) - Framing DTOs in a stricter PHP world
    • (01:15) - Our current practice: hybrids, few true DTOs
    • (02:45) - Form requests, `safe()`, and typed inputs
    • (03:45) - Reuse across API and form layers rarely aligns
    • (04:30) - Where DTOs shine: normalizing multiple APIs
    • (05:45) - Service boundaries: wrapping vendor objects (e.g., Stripe)
    • (06:15) - PHPDoc-typed arrays vs DTO overhead
    • (06:45) - Conventions, Larastan levels, and avoiding ceremony
    • (07:45) - Treat DTOs as a tool, not a rule
    • (09:15) - Silly bit

    Want to discuss how we can help you with an architecture review?
    続きを読む 一部表示
    10 分
  • Sunsetting a company app without loose ends
    2025/09/13

    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 practical checklist for winding down an app when the whole company is closing. From documenting services and dependencies to deciding what data to retain, we cover backups, credentials, and why deleting local copies matters for security and sanity.

    • (00:00) - Sunsetting a company vs project handoff
    • (02:15) - First goals: stop charges, purge data
    • (03:45) - Document before shutting anything off
    • (04:15) - Use README/PRODUCTION.md and password manager
    • (05:45) - Decide on retaining code, DB, uploads
    • (07:15) - Hunt secrets in .gitignore and dotfiles
    • (09:15) - Delete local containers and repos by default
    • (11:30) - Silly bit

    Want peace of mind that your project is ready for whatever happens in the future. Schedule a call with us today.
    続きを読む 一部表示
    14 分