Josh Davies

Senior Software Engineer

I build beautiful, engaging, and perfectly executed frontend and backend experiences. While finding time to write, hike and read.

Blog

  • OCT 2026

    Hang Forever Is Not a Strategy

    Every outbound call has a timeout, even when you never set one. Pick numbers on purpose so hung remotes fail fast instead of tying up workers and users.

    • software-engineering
    • laravel
    • typescript
  • OCT 2026

    Make It Safe to Run Twice

    Retries, webhooks, and double clicks will run your write path again. Design the work so a second pass does not double-create, double-charge, or double-email.

    • software-engineering
    • laravel
    • typescript
  • OCT 2026

    Catching It Doesn't Mean You Handled It

    An empty catch block (or one that only logs "failed") hides the failure from everyone who needs it. Catch with a plan, or let it surface.

    • software-engineering
    • php
    • typescript
  • OCT 2026

    A Boolean Is a Terrible Status

    true and false feel simple until you have to explain what actually happened. Name the outcome and your code gets easier to read, retry, and debug.

    • software-engineering
    • php
    • typescript
  • SEP 2026

    Treat Every Integration Like It Will Break

    Stripe, email, shipping, CRMs, webhooks. The other system will flake. Design the handoff so your app stays honest when it does.

    • software-engineering
    • architecture
    • apis
  • SEP 2026

    If It Can Wait, Put It In a Queue

    Web requests are for answering people. Emails, exports, webhooks, and image work can wait in a job. Here’s the boring habit that keeps apps feeling fast.

    • software-engineering
    • laravel
    • architecture
  • SEP 2026

    Stop Turning Every WordPress Problem Into a Plugin Problem

    Another plugin is often the wrong fix. Sometimes the cleaner path is custom code, a setting you already have, or deleting something.

    • software-engineering
    • wordpress
    • maintainability
  • SEP 2026

    PHP Has Been Dying for 20 Years. It’s Doing Fine.

    The obituaries keep coming. The web keeps running on PHP anyway. Here’s why the “dead language” story keeps missing the point.

    • software-engineering
    • php
    • laravel
  • SEP 2026

    I Still Like Boring Software

    New frameworks are fun. Most products still need a stack that ships features, takes payments, and stays up without a PhD to deploy.

    • software-engineering
    • architecture
    • laravel