{
    "version": "https://jsonfeed.org/version/1",
    "title": "Ryan Clements's blog",
    "home_page_url": "https://ryanclements.dev",
    "feed_url": "https://ryanclements.dev/rss/feed.json",
    "description": "Ryan Clements's blog",
    "icon": "https://ryanclements.dev/favicon-32x32.png",
    "author": {
        "name": "Ryan Clements"
    },
    "items": [
        {
            "id": "https://ryanclements.dev/posts/amazon-ships-bad-code-too",
            "url": "https://ryanclements.dev/posts/amazon-ships-bad-code-too",
            "title": "Amazon Ships Bad Code Too",
            "summary": "Find out why even a top tier tech company still ships bad code",
            "date_modified": "2023-05-15T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/code-spelunking-how-to-dive-into-unfamiliar-code-part-1",
            "url": "https://ryanclements.dev/posts/code-spelunking-how-to-dive-into-unfamiliar-code-part-1",
            "title": "Code spelunking: How to dive into unfamiliar code (part 1)",
            "summary": "Ever have problems making sense of code you didn't write? I'll help you with proven techniques in this post.",
            "date_modified": "2024-02-09T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/code-spelunking-how-to-dive-into-unfamiliar-code-part-2",
            "url": "https://ryanclements.dev/posts/code-spelunking-how-to-dive-into-unfamiliar-code-part-2",
            "title": "Code spelunking: How to dive into unfamiliar code (part 2)",
            "summary": "Reading other people's code is hard. Here is how I do it.",
            "date_modified": "2024-02-23T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/fixing-nuxt-hydration-mismatches-in-the-real-world",
            "url": "https://ryanclements.dev/posts/fixing-nuxt-hydration-mismatches-in-the-real-world",
            "title": "Fixing Nuxt Hydration Mismatches in the Real World",
            "summary": "Struggling with hydration mismatches in your Nuxt.js app? Dive into real-world examples and solutions in our latest blog post. Learn why hydration mismatches occur, how they impact your app, and practical tips for fixing them.",
            "date_modified": "2024-04-12T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/how-i-accidentially-become-the-team-expert-in-less-than-a-month-part-1",
            "url": "https://ryanclements.dev/posts/how-i-accidentially-become-the-team-expert-in-less-than-a-month-part-1",
            "title": "How I accidentally become the team expert in less than a month (part 1)",
            "summary": "Want to know some tips on how to learn things really quickly as a software engineer? Read to find out.",
            "date_modified": "2023-10-30T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/how-i-accidentially-become-the-team-expert-in-less-than-a-month-part-2",
            "url": "https://ryanclements.dev/posts/how-i-accidentially-become-the-team-expert-in-less-than-a-month-part-2",
            "title": "How I accidentally become the team expert in less than a month (part 2)",
            "summary": "Want even more tips on how to learn things really quickly as a software engineer? Read to find out.",
            "date_modified": "2023-11-18T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/justifying-mocking",
            "url": "https://ryanclements.dev/posts/justifying-mocking",
            "title": "Justifying Mocking",
            "summary": "Testing techniques like mocking are often overused, but can be justified. In this post I break down what justifies such techniques.",
            "date_modified": "2023-04-01T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/problems-i-look-for-when-onboarding-a-client",
            "url": "https://ryanclements.dev/posts/problems-i-look-for-when-onboarding-a-client",
            "title": "Problems I look for when onboarding a client",
            "summary": "I've helped many teams with audits on their software. Here is what I look for and why.",
            "date_modified": "2024-03-01T00:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/read-this-before-adopting-nuxt",
            "url": "https://ryanclements.dev/posts/read-this-before-adopting-nuxt",
            "title": "Read this before adopting Nuxt",
            "summary": "Nuxt has limitations. Learn what they are and how to use them to your advantage.",
            "date_modified": "2024-05-11T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/seamlessly-using-nextjs-static-props-in-storybook",
            "url": "https://ryanclements.dev/posts/seamlessly-using-nextjs-static-props-in-storybook",
            "title": "Seamlessly using Next.js static props in Storybook",
            "summary": "How to use Next.js static props in Storybook using static imports, esbuild, and webpack",
            "date_modified": "2023-02-20T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/starting-my-own-software-agency",
            "url": "https://ryanclements.dev/posts/starting-my-own-software-agency",
            "title": "Starting My Own Software Agency",
            "summary": "I started a software agency and have a story to tell about it.",
            "date_modified": "2024-01-16T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/stop-forcing-us-to-think",
            "url": "https://ryanclements.dev/posts/stop-forcing-us-to-think",
            "title": "Stop Forcing Us to Think",
            "summary": "The article discusses the hidden, negative impact of cognitive overload in software engineering and suggests ways to combat it.",
            "date_modified": "2023-06-10T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/the-5-most-common-pr-authoring-antipatterns-i-see",
            "url": "https://ryanclements.dev/posts/the-5-most-common-pr-authoring-antipatterns-i-see",
            "title": "The 5 Most Common PR Authoring Antipatterns I see",
            "summary": "Here I list the most common antipatterns I see PR authors make and how to fix them at their core",
            "date_modified": "2023-09-25T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/the-5-most-common-pr-reviewing-antipatterns-i-see",
            "url": "https://ryanclements.dev/posts/the-5-most-common-pr-reviewing-antipatterns-i-see",
            "title": "The 5 Most Common PR Reviewing Antipatterns I see",
            "summary": "Here I list the most common antipatterns I see PR reviewers make and how to fix them at their core",
            "date_modified": "2023-09-26T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/the-perfect-header-animation",
            "url": "https://ryanclements.dev/posts/the-perfect-header-animation",
            "title": "The Perfect Header Animation",
            "summary": "Ever wondered how to create a header that animates in and out of view in perfect sync with scrolling?",
            "date_modified": "2023-01-29T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/viral-decisions-and-how-you-can-avoid-them",
            "url": "https://ryanclements.dev/posts/viral-decisions-and-how-you-can-avoid-them",
            "title": "Viral Decisions and How You can Avoid Them",
            "summary": "This blog post explores how some decisions can have viral effects on a project's health. In this post we explore this concept using real-world case studies to illustrate the importance of careful decision-making and proactive maintenance strategies.",
            "date_modified": "2024-03-22T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/why-i-left-amazon",
            "url": "https://ryanclements.dev/posts/why-i-left-amazon",
            "title": "Why I left Amazon",
            "summary": "Why I left Amazon and what's next for me.",
            "date_modified": "2023-12-08T05:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/you-dont-get-told-enough-that-youre-doing-great",
            "url": "https://ryanclements.dev/posts/you-dont-get-told-enough-that-youre-doing-great",
            "title": "You don't get told enough that you're going great",
            "summary": "In this post I share my thoughts about how positive affirmation can go a long way to make someone's day",
            "date_modified": "2023-08-25T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        },
        {
            "id": "https://ryanclements.dev/posts/you-probably-dont-need-mocking",
            "url": "https://ryanclements.dev/posts/you-probably-dont-need-mocking",
            "title": "You Probably Don't Need Mocking",
            "summary": "Mocking is overused and can lead to brittle tests. Here I go over alternatives and when you should reach for mocking.",
            "date_modified": "2023-03-17T04:00:00.000Z",
            "author": {
                "name": "Ryan Clements"
            }
        }
    ]
}