The Call Kent Podcast artwork

The Call Kent Podcast

189 episodes - English - Latest episode: about 2 months ago -

The Call Kent podcast is a regular podcast where you call in with a question and Kent answers. Call in with your questions right from your web browser with any device at https://kentcdodds.com/call

Technology software development javascript react testing career software engineering
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

SEO Optimization and Hosting

February 29, 2024 17:50 - 8 minutes - 7.64 MB

Seeking advice on optimizing website hosting for SEO with Remix. Search Engine Optimization on EpicWeb.dev How I built a modern website in 2021 I Migrated from a Postgres Cluster to Distributed SQLite with LiteFS Fly.io PartyKit

Progress bar for mutations in Remix

February 09, 2024 23:35 - 9 minutes - 8.48 MB

Hi Kent! How do you create a progress bar for actions in Remix? Like if a request takes maybe 10 or 20 seconds to finish and you want to give your users some feedback that things are progressing? Best regards, Jan useNavigation kentcdodds.com progress epic-stack progress Progress bar for mutations in Remix

Mocking in the full stack metaframework Era

February 08, 2024 16:56 - 10 minutes - 9.4 MB

When we were building client side application mocking during e2e tests was a bit easier because you could just monkey patch fetch and call it a day. Today we also control the server so the line has a bit shifted. There are solutions, like MSW, to mock on the server side too but what if instead of an API call you query a db? Mocking in the full stack metaframework Era

How do you create advanced content for developers

January 29, 2024 18:28 - 9 minutes - 9.1 MB

The content for new developers is everywhere, but finding quality insight that helps you level to senior and above is hard to come by. This is in part because such content is difficult and time consuming to make. What goes into making such content and is there a lack of it in our industry? How do you create advanced content for developers

A Button Per form or One Form with Multiple Buttons

January 26, 2024 21:30 - 4 minutes - 4.46 MB

Hi Kent, It's Jan đź‘‹ When creating a dropdown menu (e.g. to pick a role in an organization), would you wrap the whole menu in a form tag and then render multiple buttons within that form (one for each role)? Or would you render multiple forms (one for each role) with each having their own submit button? Thanks a ton if you answer! Best regards, Jan A Button Per form or One Form with Multiple Buttons

Toasts in Remix

January 16, 2024 16:46 - 6 minutes - 6.1 MB

Hi Kent, It's Jan. I'm currently working on implementing toasts in a Remix app. I was using the Epic Stack as a reference. BTW, thank you for creating it, it's so nice to take some features and functionalities from it when you need them! Anyways, it looks like the implementation of the toast in the Epic Stack does NOT work with JavaScript disabled. But theoretically, you could make toasts in Remix progressively enhanced by giving the close button a form and prevent default when ...

Unpaid internships and indentured servitude

January 15, 2024 18:12 - 4 minutes - 4.55 MB

So, recently I started looking for my first software job. The first offer I received was from a company looking for an intern. The internship had the following conditions: 1) the first 3 months of it are unpaid 2) you have to sign a contract after the 1st month of it that obligates you to stay at the company 2 years after the internship is ended. I rejected it because I felt like you never know what that company may turn out to be. For example, it may try to exploit you and pay you ...

It's fine to re-render

January 12, 2024 15:20 - 9 minutes - 9.13 MB

My question is around the optimization techniques that a lot of people apply to React apps. I see very often how devs focus on executing their components only once or twice. What I think matters at the end is if there any changes in the actual DOM tree. If not they in theory should be ok to see your functional components fired many times. One React mistake that's slowing you down Improve the Performance of your React Forms Fix the slow render before you fix the re-render One sim...

Data Structures and Algorithms

January 08, 2024 15:55 - 4 minutes - 4.1 MB

Is Data Structures and Algorithms is necessary to become a successful full-stack engineer? Data Structures and Algorithms

Remix Flat Routes vs Remix v2 Router

January 05, 2024 19:37 - 5 minutes - 5.01 MB

What are the pros and cons of the flat routes vs the v2 router? Are you planning to switch at some point? New File System Route Conventions by Ryan Remix Flat Routes vs Remix v2 Router

Generating CSS with Remix Resource Routes

January 04, 2024 15:59 - 4 minutes - 4.49 MB

Hi Kent. I am building an app where product sellers can add their products and they by default get a website listing their products. On the app can make some basic customizations for their store website such as color, border radius etc. And each store owner's website is a subdomain. e.g kentstore.xyz.com I am using remix for the stores. On page load, I want to fetch the styling config for the website from the db. What would be the best approach for this ?. Your insight would be v...

Using Downshift with Conform to manage an input

January 03, 2024 16:51 - 6 minutes - 5.87 MB

Hi Kent ! I'm Virgile, big fan of your work, and I have a question regarding your article 'Full Stack Component'. I am currently using a combobox, managed by useCombobox from the downshift library. But I would like conform to take over the input props management, while still getting the autocomplete features. I'm curious how you would implement it. Turn Progressive Enhancement up to 11 Using Downshift with Conform to manage an input

Jake Lazaroff’s article on Web Components

December 19, 2023 21:12 - 7 minutes - 7.19 MB

Curious about your thoughts on this article Web Components Will Outlive Your JavaScript Framework Why I don't use web components Jake Lazaroff’s article on Web Components

Code Organization in Full Stack Apps

November 21, 2023 17:31 - 4 minutes - 3.96 MB

Do you have some best practices for scale Remix applications with Prisma regarding testability, reusability, and separation of concerns? When do you decide to move functions and business logic from loaders and actions to a .server file? Do you have functions like getUsers in a user.server file or do you call the database directly in the loaders? Code Organization in Full Stack Apps

Client Hints and profiling

November 16, 2023 16:57 - 4 minutes - 4.02 MB

Can home made client hints like the one you are using in Epic Web Stack be seen as profiling? Use Client Hints to Eliminate Content Layout Shift Client Hints and profiling

Building and Testing an MDX-based Blog

October 27, 2023 15:39 - 6 minutes - 6.41 MB

What is a good way to test fs modules and why converting MDX on runtime is better than runtime. Building and Testing an MDX-based Blog

EpicWeb.dev is now available!

October 18, 2023 17:50 - 2 minutes - 2.32 MB

Yes, this is Kent calling himself. I just wanted to let all subscribers to the podcast know that https://EpicWeb.dev is available today! EpicWeb.dev is now available!

What is full stack for EpicWeb.dev?

October 10, 2023 16:23 - 3 minutes - 2.93 MB

What do you consider full stack? E.g. some people think that full-stack should include devOps, some don't. What do you think? And does EpicWeb consider devOps to be apart full stack? Deploy Web Applications All Over the World What is full stack for EpicWeb.dev?

Improving as a software engineer

September 22, 2023 19:23 - 6 minutes - 5.9 MB

Foundational knowledge needed to build complex systems in software Improving as a software engineer

Why didn't you break root.tsx into smaller components?

September 21, 2023 20:06 - 3 minutes - 2.94 MB

root.tsx is over 300 lines. Is there a reason for keeping all the functions in one file? Why don't you split each function in separate a file and import it? When to break up a component into multiple components Why didn't you break root.tsx into smaller components?

Am I stuck in tutorial heck?

September 12, 2023 15:01 - 6 minutes - 6.1 MB

Recently I quit my job as frontend development instructor and I'm aiming to get a job as frontend developer. Before I apply for job openings I'm planning to go through several courses, create complex projects for my portfolio and only then apply for the job. My friends are saying I'm overcomplicating the process and I may get into the flow after I got the work. But as I'm aiming at middle level positions, I want to prepare as much time, as much my budget allows. So I can negotiate ...

Scaling Epic-Stack in a single region

September 12, 2023 04:51 - 5 minutes - 4.76 MB

Hi Kent, my name is Tim, I have a few questions regarding scaling the Epic Stack within a single region. With the assumption that we are having huge amount of users in one region, my question is would you recommend switching to other database technologies or would you have multiple SQLite replicas in the same region, with each of them being connected to remix apps in a 1-1 manner My second question is, assuming that we have the epic stack setup, what would you do if one remix ser...

React Lazy initializers Call Order

August 31, 2023 23:41 - 2 minutes - 2.47 MB

I am seeing Lazy initializers are not calling first, but in the diagram it motioned it calls first React Lazy initializers Call Order

How do you approach major project updates

August 29, 2023 21:18 - 7 minutes - 6.69 MB

I would love to hear your thoughts on approaching major project refactors. We all have been in that situation where you want to use the newest things available, but the codebase is really old. Do you create a new project? Do you try to update component by component? Is there a "don't go that route"? How do you approach major project updates

Organizing your first workshop

August 25, 2023 15:14 - 28 minutes - 26.1 MB

I was approached recently to give a full-day workshop at a conference I'm excited about. But... how hard is it to organize a curriculum? What questions should I ask the organizers ahead-of-time before saying yes? How I Teach Organizing your first workshop

Conform sets novalidate & validation attributes?

August 24, 2023 15:02 - 4 minutes - 4.24 MB

Hey, Kent! I'm trying out @conform-to/react, specifically the useForm hook. I noticed that it sets novalidate: true on the form even if JavaScript is disabled. I'm wondering: Why does it add validation attributes to the inputs then if they're not being used for validation anyway, regardless of whether JavaScript is enabled or not? Conform sets novalidate & validation attributes?

My skill stuck at current job, should I quit?

August 23, 2023 21:17 - 7 minutes - 6.75 MB

I have been in current team for couple years, and feel my skills are kind of stuck because I have spent too much time fighting with the team refusing to get better. I have learned only from myself, but not much from the others, and can't really fix everything by myself. Business and Engineering alignment My time has been spent inefficiently to be honest in the past few years because lots of the time I was staring at smelly and nonsense codes, trying to improve but never get the re...

How do you host your videos?

August 10, 2023 23:24 - 3 minutes - 3.66 MB

Hi Kent! I was wondering, how do you host your videos? Such as: https://www.epicweb.dev/tips/quickly-determine-whether-a-module-is-bundled It looks like they're custom hosted, so I was wondering how you do that. The Epic Stack shows how you save images, and it would be interesting to learn how you host videos, too. Thank you and best regards, Jan Skill Recordings Mux How do you host your videos?

How are you still productive!?

August 03, 2023 21:44 - 7 minutes - 6.98 MB

What's changed from 2018 in regards to how you're able to achieve such high levels of productivity? Do you still spend more time producing than ingesting courses? How I am so productive How are you still productive!?

Best practice for using localStorage in React

July 18, 2023 15:19 - 9 minutes - 8.57 MB

Lots of examples demonstrate wrapping localStorage setters and getters in hook, but no one ever explains why they don't just use localStorage directly. Best practice for using localStorage in React

Remix Full-Stack Components (vs Server Components)

July 13, 2023 16:45 - 7 minutes - 7.11 MB

With React Server Components getting more traction, this idea of each component being able to fetch its own data seems to getting more popular rather than data-fetching being purely route-based. In Remix-land, you’ve had a talk about “full-stack components” with a similar concept where a “resource route” can have no default exports but still export a loader and a React component in order to have a reusable component with its own data fetching. It seems there might be differences b...

A 10 year old itch to make a switch (QA to dev)

July 10, 2023 17:39 - 11 minutes - 10.9 MB

For 10 years, I feel that I've been separated away from my true love, which was coding. I'm 35 now, married, and have a kid. Some people say that its too late to be a developer now. But, I want to give it just one shot so I wouldn't have any regrets later. This time, I'm following my heart! Away I sail, onto this pathless path. How to get experience as a software engineer The Beginner's Guide to React EpicReact.dev EpicWeb.dev A 10 year old itch to make a switch (QA to dev) ...

Should I go to college or not?

June 29, 2023 17:00 - 9 minutes - 8.99 MB

looking for direction Should I go to college or not?

Resources to learn senior development skills

June 22, 2023 16:40 - 7 minutes - 7.01 MB

As my career has progressed, the types of problems I face have also progressed - questions like "How should we architect this solution" and "How should we decide between these trade-offs". However, I've struggled to find resources to help me learn these skills. Are there any resources that you would recommend and, in general, how do you continue to learn and progress even as you reach more senior levels of development? How to get experience as a software engineer Resources to lear...

Passing state across components in RemixJS

June 19, 2023 23:27 - 6 minutes - 6.26 MB

If I was just using plain React, I would use the Context API or even global variables to keep track of the state of an application. Whats the best way to achieve this when using Remix? useOutletContext P.S. You can definitely still use context if you like! Passing state across components in RemixJS

How To Deal with Hiring Developers?

June 16, 2023 18:47 - 10 minutes - 9.29 MB

I have to manage my projects and outsource them, otherwise, I would never make enough money to keep my business afloat. I have this problem, where, when I start a project, the product owner will ask questions like, "What happens if you die?" and my best answer to that is, "That's why we have employees". But, when I go to hire employees, sometimes they completely just ignore the stack that I'm using and they go off and do their own thing, which becomes difficult to manage. Should I b...

Why do you use the Express adapter for your app?

June 15, 2023 15:31 - 3 minutes - 3.1 MB

I've seen you're using the Express adapter for your Epic Stack and your personal website, as opposed to just running the Remix dev server. Why is that? Are there any performance implications? Why do you use the Express adapter for your app?

Minimum skills for a Frontend dev job?

June 12, 2023 22:20 - 6 minutes - 5.94 MB

What is the minimum skill set one need for a front end dev job. Do you need to know version control, testing, tooling etc or is js html css and a framework enough, also is typescript considered. Minimum skills for a Frontend dev job?

userEvent.setup vs not including it in unit tests

June 08, 2023 16:19 - 4 minutes - 4.32 MB

With React Testing Library v14, what are the benefits of using the userEvent.setup() for every test vs not including it? user event docs user event setup docs userEvent.setup vs not including it in unit tests

Are AI tools (Copilot) bad for the learning curve?

June 05, 2023 15:51 - 6 minutes - 5.64 MB

AI tools like GitHub Copilot have the capability of boosting our performance during development. What effects of using such tools to practice a course might have on the learning curve? Are AI tools (Copilot) bad for the learning curve?

Becoming one of the best React developer

May 22, 2023 16:03 - 9 minutes - 9 MB

Church of Jesus Christ of Latter-day Saints, FrontEnd/React developers, Peruvian Folklore Dancer Champion, Now approx. 2 years as a React/FrontEnd developer, and I am so hungry to continue to learn and improve. I feel I need to be surrounded by the best and I would love to work closely with you Kent I admire you a lot! or please give me advice on how to achieve it. - I would like to bring value to the world through my work Thank you! Have a great day brother! How to get experience ...

Is Epic Stack beneficial for new developers?

May 18, 2023 15:19 - 5 minutes - 4.66 MB

Hello, Kent! My name is Petar and I'm from Bulgaria. I'd like to ask your opinion on this question: Do you think that the "Epic Stack" is relevant for people who are relatively new to web development? Here's some information about me: my interest in web development started about a year ago. Currently, I feel really confident in HTML, CSS, JavaScript, React, and TypeScript. I have read a lot of books and completed numerous courses on these topics, including the HTML course on web.dev...

How to approach imposter syndrome

May 04, 2023 15:12 - 5 minutes - 5.05 MB

I just went through react hooks workshop and I don't know weather I understood concepts well or I just went through material. I want a general approach to similar situations. EpicReact.dev learning club schedule template How to approach imposter syndrome

Error Handling in Remix

April 17, 2023 19:27 - 6 minutes - 5.56 MB

How do you handle network issues in a Remix App? Is Remix's error handling as good as traditional SPAs? What about maintaining form state even after the submission fails? Discussion #5957 Error Handling in Remix

How do you plan E2E test flows?

April 13, 2023 15:29 - 5 minutes - 5.23 MB

Many times we need to run e2e tests in other to be able to test "secondary" actions. Like, I have to create a resource to delete it, so I could test the create inside of the delete test but it does not sound "good". How to solve that? Common Testing Mistakes How do you plan E2E test flows?

When/why should I choose SSR over CSR?

April 12, 2023 17:21 - 3 minutes - 3.53 MB

Given that there is dedicated backend with API's which needs to be consumed in a dashboard written in React, why should i choose SSR over CSR if I am not worried about SEO or JS payload (as I can use code splitting to keep the JS to minimum) How Remix fits 6 different web apps When/why should I choose SSR over CSR?

Side income

April 11, 2023 19:02 - 6 minutes - 5.85 MB

What are some side income options for software engineers? 🚨 Big Announcement: I'm a full-time educator! 👨‍🏫 2010s Decade in Review Side income

How Remix fits 6 different web apps

April 05, 2023 16:13 - 14 minutes - 12.9 MB

As there are so many different kinds of apps that we can build for browsers, how does Remix fit those different cases? Is Remix a great fit for one but maybe not for another? Can all be built with Remix? Remix VS Next How Remix fits 6 different web apps

Is it really all about who knows you?

March 28, 2023 16:14 - 5 minutes - 4.64 MB

Kent, your tweet about 'It's not what you know, it's not who you know, it's who knows you' made me question my beliefs. I believe that building strong relationships and possessing knowledge are key to being well-connected. Could you elaborate on what led you to make this statement and how you believe it applies in personal or professional success? Is it really all about who knows you?

Tech to use for a video streaming site

March 17, 2023 18:51 - 2 minutes - 2.11 MB

Which technologies would you use to make a video streaming website. Tech to use for a video streaming site

Twitter Mentions

@tesseralis 1 Episode
@sarah_edo 1 Episode
@jsjoeio 1 Episode
@kettanaito 1 Episode
@adamwathan 1 Episode
@agazdecki 1 Episode
@juliankmazo 1 Episode
@steveschoger 1 Episode
@rovolutionary 1 Episode
@kentcdodds 1 Episode