
Chats with Kent C. Dodds
127 episodes — Page 3 of 3

S3 Ep 1Alex Anderson Creates Web-Based Spaceship Controls
Thorium is the software that space centers use for the computer controls and the flight director controls of simulated space ship experiences!The cool thing about Thorium is that it's entirely web-based. Alex is using React to build Thorium and a 3D universe. The 3D universe is being driven by react-three-fiber by Paul Henschel, which is a fantastic piece of software.Alex says that if you are privileged enough to have the time and the energy and the resources to be able to do side projects, that you should go for it. He believes side projects give you a lot of benefits outside of just the enjoyment of doing them.Work-life balance is essential, though. There was a time where Alex just completely stopped working on it for about a month and a half. And that was necessary for him to be able to recenter, refocus, and get in a good place where he could be motivated and energized about it again.HomeworkSet a timer for 10 minutes and write down one thing you would like to accomplish and break it down into small and simple actions that can be done over time.ResourcesThoriumTwitter ThreadWonder-driven Development: Using React to make a Spaceship | Alex AndersonGuest: Alex AndersonTwitter: @ralex1993GitHub: @alexanderson1993Website: ralexanderson.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 12Laurie Barth Chats With Kent About Growing Outside Of Your Comfort Zone
Laurie has a tough time saying no, and she ends up trying a lot of different things, but this isn't necessarily a bad thing. Attempting to learn something new gives you the fresh perspective of a beginner starting from nothing. We get comfortable and take for granted the pieces of knowledge we have on our skills.You have to find a balance, though. It's demotivating to feel dumb all of the time. You need to use the thing you learned for some time, so you advance beyond the beginner phase of the skill. If you jump from skill to skill too fast, you'll feel like you're going nowhere. Try to figure out everything that is contributing to your success that you don't have any experience in, and these are the areas where you'll probably want to dig deeper.HomeworkTry to do something outside of your comfort zone, and use that experience to help you learn how to empathize with those who are unfamiliar with the things that you already know.ResourcesKent C. Dodds - How to get experience as a software engineerGuest: Laurie BarthTwitter: @laurieontechGitHub: @laurieontechWebsite: laurieontech.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 11Eve Porcello Chats With Kent About Sustainably Expanding Skills
A lot of times, when people are learning something new, they feel, "Oh, I have to learn this fast and my manager's counting on me to learn this," and everything's super stressful. As software engineers, we continually have to learn new things, and carrying that stress is tough on our mental health, so we must learn how to mitigate it.Don't worry about being an expert. Try to be okay with being a beginner at something. You shouldn't expect more than that from yourself when you start learning something new.It's essential to break your goal down into multiple steps so that it's not this vast, daunting leap that you have to take. Smaller steps of minor discomfort are a lot easier to cope with.HomeworkThink of one goal you have and take 10 minutes to break it down into smaller chunksResourcesReact Rally 2018: Everything You Need to Know About GraphQL in 3 Components; Eve ProcelloMoon HighwayGuest: Eve PorcelloTwitter: @eveporcelloGitHub: @eveporcelloHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 10Ken Wheeler Chats With Kent About Going For Challenging Opportunities
Almost every demo Ken has done at a conference was wildly out of his league technologically. The deadline for the conference pushes him to grow rapidly. Conference-driven development. Elon Musk says, "If it's physically possible, then we can make it happen." Take stock of the situation and ask yourself what the reality of it is, is it possible? If so, then you can accomplish it.It's not possible to take the second step or even the last step unless you've taken that first step. Finding a simple way to take that first step and just going for it is critical to becoming the person that you want to be.Even to this day, Ken still is anxious to get on stage, but it's always awesome afterward. Some talks go well, and others don't, but even if it didn't go well, you still went up there and did it. The audience is rooting for you, and despite what you might think, the majority of them don't know the subject of your talk, and the few that do still want you to succeed.HomeworkWrite down three things that you've been holding back onChoose one of those things and write down the steps that you can take to accomplish that!ResourcesPrinciples in ActionGuest: Ken WheelerTwitter: @ken_wheelerGitHub: @kenwheelerWebsite: kenwheeler.github.ioSoundCloud: thekenwheelerHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 9Erik Rasmussen Chats With Kent About Maintaining Open-Source Libraries
Erik built the Redux Form library to help manage form states in Redux. He decided to open-source Redux Form, and it exploded and became very, very popular.People kept coming up to Erik with additional use cases, and the form library itself kept growing to the point where the bundle size got out of hand and saying yes to all the requests for features created a monster.So Erik came up with his second form library "final-form." This time he created a plugin architecture to reduce the maintenance and make the library more capable of handling unconsidered use cases.Erik talks about the key things that need to happen for a library to take off. First, it has to be documented well, and the motivation has to get explained clearly. Second, someone who has a following needs to love it and share it with people. Third, you've got to be there on the ground, ready to make quick fixes as people give them to you.HomeworkRelease some open-source software!ResourcesFinal FormRedux FormHow to Write an Open Source JavaScript LibraryHow to Contribute to an Open Source Project on GitHubOSCON 2014: How Instagram.com Works; Pete HuntGuest: Erik RasmussenTwitter: @erikrasGitHub: @erikrasKeybase: @erikrasHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 8Angie Jones Chats With Kent About Automated Visual Testing
Visual testing is like snapshot testing with images. So when your application is in the state that you want it to be in, you verify this as a human being, and then utilize tools to take a picture of your application in that state.Visual testing isn't a new concept, but the technology was previously flaky. But now, Applitools is using AI and machine learning to be able only to detect the things that we care about as human beings.Visual testing catches issues that your scripts won't detect, and Applitools is especially powerful at it. The processing gets offloaded onto the Applitools servers, and snapshots of your app are tested on multiple platforms so you can be confident that no visual bugs get created anywhere!HomeworkGo through Angie's Visual Testing Course: Automated Visual Testing: A Fast Path To Test Automation SuccessResourcesTest Automation UniversityAutomated Visual Testing: A Fast Path To Test Automation SuccessGuest: Angie JonesTwitter: @techgirl1908GitHub: @angiejonesWebsite: angiejones.techHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 7Nader Dabit Chats With Kent About Keeping An Optimistic Mindset
How do you stay optimistic when being bombarded with negativity every day? Nader reminds us that, statistically, we are living in the safest and most prosperous period in human history. Nader went through a lot of hardship growing up, and it caused him to assume the entire world was that way, but in reality, it wasn't. Try to maintain perspective, and remember that your experiences aren't reflective of the world as a whole.The voice in your head talks about yourself in a way that you'd never treat another person. Be mindful of yourself and treat yourself with kindness; the way you talk about yourself can make a significant impact on your happiness.Kent shares his experience with seeing a therapist for the last year and explains how therapy isn't something not just for people who are experiencing trauma or mental illness. Everyone can benefit from having a neutral third party that helps you talk through the problems you are experiencing in life, no matter how big or small.Reducing the amount of media you consume can improve your headspace as well. That doesn't mean to turn a blind eye to any negativity. Instead, you should learn about the bad things that are happening within your sphere of influence. It doesn't do the world any good to take on pain from something that you have no control over. Your energy is better spent taking an active part in improving the parts of the world that you can influence.HomeworkFor a week, take at least a minute or so daily and write one thing that you're optimistic about.ResourcesTools of TitansFactfulnessThe Better Angels of Our Nature: Why Violence Has DeclinedSelf-Compassion: The Proven Power of Being Kind to YourselfA Guide to the Good Life: The Ancient Art of Stoic JoyThe Obstacle Is the Way: The Timeless Art of Turning Trials into TriumphGuest: Nader DabitTwitter: @dabit3GitHub: @dabit3Website: naderdabit.meHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 6Kelly Vaughn Chats With Kent About Personal Finance
Kelly got into personal finance while she was struggling financially in grad school. Your very first step to getting your money under control should be to know where your money is going. Sit down and look at the last three months of your bank statements and categorize your purchases.Being able to visualize and measure where your money is going is a fantastic first step for people wanting to at least see if you could make some changes to the way that you're spending your money.After you figure out where your money is going, your second step is to make a budget. Kelly uses the envelope system. Each category of spending gets an "envelope" of money, and once there's no more money from the envelope, you can't spend any more on that category.HomeworkFigure out where your money has been going the last three monthsCreate a budget using an app like You Need A Budget, a notebook, or a spreadsheetResourcesRachel Richards - Money HoneyDave Ramsey - Total Money MakeoverYNAB - You Need A BudgetMintteelaunchPrintifyPrintfulGuest: Kelly VaughnTwitter: @kvllyGitHub: @kellyvaughnWebsite: kvlly.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 5Jen Luker Chats With Kent About Finding Inspiration From Anywhere
Jen puts knitting before the fact that she is a senior software engineer when she defines who she is; this doesn't make her a worse engineer than someone who eats, sleeps, and breathes code.With each new thing you learn, whether you're good or bad at it, you'll tend to discover something about it that teaches you something new. With everything Jen learns, she tries to bring it back into the ways she interacts with the world, whether that's through some art medium or programming.Technological progress has been an evolving process of standing on the shoulders of giants, one after another, learning how to take something they'd seen before and applied it to some new technology or new problem they were working on at the moment.The short version is that you can find inspiration virtually anywhere, and not to close off those points of inspiration just because you're focusing on a computing problem.HomeworkWatch at least one of the talks linked under resources!ResourcesTEDxBeaconStreet: Knitting is Coding; Lindiwe MatlaliTEDxRiga: Crocheting Hyperbolic Planes; Daina TaiminaTED: A delightful way to teach kids about computers; Linda LiukasGuest: Jen LukerTwitter: @knitcodemonkeyGitHub: @knitcodemonkeyWebsite: jenluker.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 4Henry Zhu Chats With Kent About The Responsibilities Of A Maintainer
Henry Zhu's transition from a programing role to a more managerial role as Babel's maintainer has been hard. As programmers, we tend to value our work based on the number of commits or pushing features. When you are a manager, you're not writing much code anymore.There's still an expectation that maintainers should be writing code. Still, maintainers also have to triage and merge things, release process, onboard, market, write documentation, test, make videos, and give talks. Because of all this, a maintainer's time is best spent figuring out how to get more people involved with a project.To get people interested, the maintainer has to do the job of showing people what's possible. You have to be involved in the community, and you have to like it. At a fundamental level, open-source is about service, serving other people in the community, giving back, and not expecting anything in return.HomeworkWithout writing code, do one thing to contribute to open source!ResourcesAll ContributorsSourceMaintainers AnonymousChesterton's fenceGuest: Henry ZhuTwitter: @left_padGitHub: @hzooHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 3Jenn Creighton Chats With Kent About Avoiding An "Apropcolypse"
Jenn has been working with React since 0.13. She has a background in creative writing, and it melded well with React.One of her big early mistakes with React was focusing too hard on making components reusable. When you try to make your component one-hundred percent reusable, you end up with a massive stack of props. In our effort to make things reusable, we end up making it harder for ourselves and others.Sometimes it even makes sense to duplicate the component, change its name, and add your changes to it instead of adding more props to the existing component. Too many props on your component not only makes it hard to refactor but also difficult to even use.One of Jenn's rules for her codebase is that new engineers should be able to come in and get up to speed quickly. It is an overall rule that has to do with keeping the codebase consistent. Jenn puts rules in place like, "We consistently use this state management library." So if a person comes in, they aren't finding multiple ways of doing the same thing.HomeworkDocument it before you write your next component!ResourcesKent C. Dodds - When to break up a component into multiple componentsuseReactNYC MeetupGuest: Jenn CreightonTwitter: @gurlcodeNotist: jenncreightonGithub: @jcreightonLinkedIn: @jennifercreightonHost: Kent C. DoddsWebsiteTwitterGithubYoutubeTesting JavaScriptEpicReact.dev

S2 Ep 2Bianca Gandolfo Chats With Kent About Lifestyle Design
We're all really busy but we are also ambitious and have goals, but a lot of the time those goals aren't defined so well.It's important that our goals are well defined and manageable, we're hard on ourselves when we aren't making progress towards them. You want to expend your energy on the things that are providing you with value, and when you expend your energy beating yourself up, it's worse than wasted energy because it's energy directed at making life worse for you.Bianca started Code and Coffee to take people through the process of refining and focussing their goals and breaking them down into achievable bite-sized chunks that they work on for 15 minutes a day during morning coffee. You can do this yourself too!HomeworkKeep a self-awareness journal for seven days. Every night, write down all of the feelings that you had that dayTake 15 minutes every day to work toward a goal. Try it for a week and see how you feelResourcesCode and Coffee with BiancaGuest: Bianca GandolfoTwitter: @biancagandoGitHub: @bgandoHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S2 Ep 1Lindsey Kopacz Chats With Kent About A11y
When Lindsey started, she didn't know what accessibility even meant. She would see that there was an "accessibility error" and fix it, but she didn't understand why she was fixing it. A11y clicked for her when she realized that the point of accessibility was to make the web usable for people with disabilities.Code, at its core, is about people, and it allows people to use and purchase products. Ultimately we code to make people's lives better, and if you aren't making your site accessible, then you are discriminating against the one in four people living with a disability. Accessibility is not an edge case.Doing the following will take you far!Make sure you have form labelsUse alt text in your imagesDon't leave buttons and links emptyUse buttons and links appropriatelyTest your site with a screenreaderNavigate your website with the tab keyHomeworkInstall and use the AXE Chrome extension!ResourcesWriting alternative text that mattersaxe on Google Chrome Extension storeGuest: Lindsey KopaczTwitter: @LittleKopeGitHub: @LittleKopeWebsite: a11ywithlindsey.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 14Lessons Learned From Four Major Projects with Shirley Wu
Shirley Wu has been freelancer since 2016, creating data visualizations for her clients. In this episode, Shirley talks about the four projects that had the most significant impact on her.In 2017 Shirley created an interactive visualization of the musical, Hamilton. It blew up on the internet. It was the first time a project of her's had a significant response. It made her realize that code could be beautiful, colorful, and inspiring. The audience might not remember the figures or the writeup, but they will remember the emotional response they had.Her next project was less fun and a lot more serious. She worked with The Guardian on an investigative journalism piece called Bussed Out. The project was meaningful to her. In the past, she shied away from more serious projects due to a fear of the backlash she'd receive if she didn't do it right. She got to work with a very talented team of journalists who taught her what she was capable of if she teamed up with the right people on important topics.On a less serious note, Shirley had the privilege of having a visualization be commissioned by the San Francisco Museum of Modern Art. The project was to do something with the data from Send Me SFMOMA. This project caused her to reconnect with making art for its own sake.The most recent influential project was Legends. It was a personal project on the fifty-one female Nobel Prize winners since 1901. With her other digital projects, she is lucky only to get a few minutes of someone's time, but she wanted more than that, she wanted people to linger and be present. So Shirley is now pushing herself to break the boundaries of digital and make moving her visualization into physical space a reality.ResourcesHamiltonThe Guardian - Bussed OutJournal - Send Me LoveLegendsGuest: Shirley WuTwitter: @sxywuGithub: @sxywuWebsite: sxywu.comTwitch: @sxywuHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 13Getting Started With Code Live-Streaming With Suz Hinton
Suz started streaming because she wanted to show people that hardware coding is just like regular everyday coding, it's just for smaller, dumber computers. It's been two and a half years since she started streaming and her reasons have changed since then. Suz has a community of fourteen thousand that gathers around her stream now. Despite her now much busier schedule these days this community motivates her to keep coming back and getting open source work done.Suz talks about how you need to be doing it for the right reasons if you want to actually stick with it. Don't expect to make a salary off of your live-coding stream. Make sure that you go into it with a sustainable schedule for you, don't try to push it only to burn out after a month or two. Don't invest a ton of money upfront either, it's okay to just have a headset and a webcam for your first streams while you are testing the waters.Most of the people who watch you are interested in what you are doing and want you to succeed. The people who'd tell you how much you suck aren't going to spend the time to watch your live stream. We tend to be our own biggest critics, don't let the fear of criticism keep you from streaming!ResourcesSuz's Streaming SetupFree Music ArchiveBandcampLoopbackChrome BlocksiteAzure MaskGuest: Suz HintonTwitter: @noopkatGithub: @noopkatWebsite: noopkat.comBlog: meow.noopkat.comTwitch: @noopkatHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 12You Can Learn A Lot For The Low Price Of Your Ego With Shawn Wang
You can learn in private, or you can learn in public. 99% of developers work and learn privately in the shadows, so why shouldn't you? Something magical happened when Shawn started creating resources and sharing what he learned in public. More advanced people began to help him by correcting him when he was wrong. By learning publically, he was able to both teach and learn at the same time!"You can learn so much on the internet for the low, low price of your ego." If you keep your identity small, you can remain open to new ideas. If you make what you know a part of your identity, being receptive to new ideas and accepting that you were wrong becomes challenging.Go beyond writing blog posts, they are educational, but their lifespan is limited. Write the resource that you wish existed while you are learning something. Write documentation, create cheat-sheets, these things not only provide immense value to people who are learning, but they also connect you to the authors of the technology who didn't have the time to create those resources. People start to perceive you as an authority on the subject when you make these things, which makes people also want to hire you for your expertise on the subject.If you want to learn from professionals, then make it worth their time! Kent talks about how he'd record "tech chats" with developers and upload them to Youtube. Having an audience opens up the doors for opportunities!ResourcesZero to 60 in Software Development: How to Jumpstart Your CareerReact events in depth w/ Kent C. Dodds, Ben Alpert, & Dan AbramovGuest: Shawn WangTwitter: @swyxGitHub: @sw-yxWebsite: swyx.ioHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 11Become Intentional With Your Time With Scott Hanselman
Getting involved in the world of open-source isn't trivial, especially when we are new to this industry and don't a lot of technical experience. Those of us with the privilege of knowledge and expertise should lend it to others. Lift others, and one day they may do the same.Scott Hanselman talks about how he isn't a "transactional networker," he doesn't keep score or expect something in return for helping others. Living this way is freeing and fulfilling, even if at times you get burned by someone.It's hard to find fulfillment when we are always taking life as it comes and when you are always dealing with putting out the next fire. We play Tetris all week long trying to fit in time for meetings, catching up on email, spending time with family, and so on. Spend an hour to figure out your direction and figure out what needs to be fixed and let go of the things that can't be. Be intentional with your time.The key takeaway of this episode is to be intentional with your time. Understand your boundaries. If you don't want to spend all your free-time on open source, or if you want to lurk on twitter without posting, then acknowledge it. Being left in undecided territory puts weight on yourself.So you've intentionally decided what you want to do with your time, now what? The key is being consistent. Don't overreach with your goals, since it will just create a guilt system. Instead, schedule a small chunk of time each week where you'll spend time working towards your goal. It's a marathon, not a sprint!Lastly, be kind to yourself. That voice in our head treats us in a way that we'd never treat others. If we aren't a total jerk to someone when they make a small mistake, then we shouldn't be one to ourself. We praise people when they do something good, even if it is small, so permit yourself to praise yourself!HomeworkSchedule a small chunk of time each work working toward a goalBe kind to yourselfResourcesGet Involved In TechGuest: Scott HanselmanTwitter: @shanselmanGitHub: @shanselmanWebsite: hanselman.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 10There Aren't Any Shortcuts To Expertise With Sara Vieira
When something is easy for us, it more than likely is just familiar to us. It's easy to forget how challenging it was to learn what we know. When we tell someone who is still learning that something is easy, it diminishes the accomplishment of learning something new.People who are good at things put in the time and the practice to get where they are, there isn't a shortcut to experience. We can gain experience by building things. But what do you build?In this episode, Sara Vieira talks about how to find ideas for your side projects, and what you can do to make them fun and sustainable.ResourcesIs There Uber In?Public APIsGuest: Sara VieiraTwitter: @NikkitaFTWGitHub: @SaraVieiraWebsite: iamsaravieira.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 9A Few Excellent Reasons For Why Should Give GraphQL A Try With Peggy Rayzis
Peggy Rayzis is the engineering manager at Apollo, where she leads the developer experience team.Peggy talks about how Apollo touches every layer of development. There are a lot of ways that you can implement GraphQL in your application. It's incredibly flexible. You can even have GraphQL running entirely on the front-end! Peggy recommends that you implement it in your existing application by creating a GraphQL layer that sits between your front-end and underlying services.Why would it be worth all of the effort to refactor your application from a REST architecture to a GraphQL one? There are performance benefits from switching to GraphQL, but the main draw is the developer experience. GraphQL is much nicer to work with than REST, no more firing up Postman or console logging to get a peek at what's going on.To get started with GraphQL, Peggy recommends taking a single endpoint in your application and beginning with a schema, then move on to writing your resolvers, get your server running, and then connect your front-end. If you want to learn on something that isn't your product, then Apollo has excellent documentation that is linked bellow.ResourcesApollo DocsGuest: Peggy RayzisTwitter: @peggyrayzisGitHub: @peggyrayzisHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 8The State Of WebAssembly With Lin Clark and Till Schneidereit
Lin Clark and Till Schneidereit from Mozilla discuss where WebAssembly came from and where it's going. WebAssembly was inspired by asm.js, a subset of JavaScript that could be compiled from a language such as C++. WebAssembly can take the idea further since it doesn't have the same limitations that JavaScript does.Lin and Till talk about why even a front-end developer would use WebAssembly, which leads to a discussion on one of the primary use cases of WebAssembly, performance optimization. They also get into the nitty-gritty of WASI, or the WebAssembly System Interface, which allows WebAssembly to be used outside of the browser.ResourcesLin Clark - Standardizing WASI: a system interface to run WebAssembly outside the webLin Clark - A cartoon intro to WebAssemblyRust and WebAssembly BookGuest: Lin ClarkGitHub: @linclarkTwitter: @linclarkWebsite: code-cartoons.comMozilla Hacks: @lclarkmozilla-comGuest: Till SchneidereitTwitter: @tschneidereitGithub: @tschneidereitHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 7Funding Open-Source Maintainers Using Ethical Advertising With Eric Berry
It's challenging to sustain open source projects, a lot of time and energy is poured in without any compensation in return. Eric Berry created CodeFund to give developers who are finding it difficult to justify putting their time into open source projects a means to get compensated.Open source today is not the same as it was five years ago. Ninety-six percent of all web apps are using open source. The web relies on it. Sixty-five percent of all projects have only one or two maintainers, and their work is providing value to a lot of companies and people. Maintainers having the option to be compensated benefits not only the maintainer but also everyone who relies on the project.Advertising is a scary word these days with big advertisers tracking people across the web and gathering their data. CodeFund doesn't use third-party trackers and doesn't collect data from the developer's audience. Advertising doesn't have to be evil, it can serve a good purpose if it's used correctly.ResourcesCodeFundGuest: Eric BerryTwitter: @coderberryGitHub: @coderberryHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 6Creating Successful Mentor Relationships With Emma Bostian
Emma Bostian launched codingcoach.io, a free, open-source project that connects mentees with mentors. Emma discusses how she launched Coding Coach before she had a real database. It's better to have your product out there than to sit on it until it's perfect, you can always iterate.Mentoring doesn't just help others, you improve your teaching skills, and it also just looks good to be a mentor.Mentees should respect a mentor's time since they are doing it for free. When asking someone to be your mentor briefly describe where you're currently at, and some tangible goals that you want to work towards.Mentorship doesn't strictly have to be a one-on-one relationship with someone. You can mentor people through content creation as well. Blogging, recording videos, writing books, and giving talks all teach people.Often people's goal with their mentor is to be ready for the technical interview. Many companies are wising up to the fact that someone's ability to write algorithms doesn't correlate with their expertise as a front-end developer. HomeworkKent advises to keep your HTML, CSS, and JavaScript skills sharp, learn the abstractions you are using so you can talk about them intelligently.ResourcesCoding CoachEmma Bostian - Decoding the Front-end Interview ProcessKent C. Dodds - Solidifying What You LearnHackerRankGuest: Emma BostianTwitter: @EmmaBostianWebsite: emmaBostianGitHub: @emmaBostianHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 5Make Your Apps Resilient UsingFinite State Machines With David Khourshid
In this episode, David Khourshid gives the rundown on how finite state machines can make your app more testable, more resilient to bugs, and easier to refactor.David's initial interest in finite state machines stemmed from his background in music. With music, there is a universal notation that crosses genre boundaries. David thought what if there could be music notation for logic? Well, it ends up people have been trying to figure this out for the last thirty years.A finite state machine can only be in exactly one state out of a limited number of possible states. The machine can transition to another state through explicitly defined events.David also chats with Kent about extended finite state machines, how state machines can be used to simplify integration testing, the differences between xstate and redux.HomeworkTake whatever feature you are working on and model it out in your head as a finite state machineResourcesWikipedia: Finite State MachinexstateGuest: David KhourshidTwitter: @davidkpianoGitHub: @davidkpianoHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 4A Rundown Of What's Next For React With Dan Abramov
What's next for React? In this second interview with Dan Abramov React's direction is discussed along with overviews of exciting new features.Dan gives a great rundown these incoming features. React suspense is going to provide a baked-in solution for the problems that async data fetching causes with component rendering, and concurrent mode is bringing non-blocking rendering. Further insight is provided into what problems sparked the need for these new features and why they were the chosen implementations.There's also discussion on React Fire modernizing React DOM, JSX v2, if React is a framework or a library, what React is intended for, and React's end-game.ResourcesReact Fire: Modernizing React DOMeslint-plugin-react-hooksSebastian MarkbågeGuest: Dan AbramovTwitter: @dan_abramovWebsite: overreacted.ioGitHub: @gaearonHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 3Realigning Your Model of React After Hooks With Dan Abramov
In this episode, Kent and Dan talk about the ways in which you'll have to reconstruct your mental model of how React works in order to get the hang of hooks, and how hooks more closely align with React's intended model.React has made multiple attempts at figuring out a way to share state between components. Mixins, higher-order components, render props, and now hooks. Dan Abramov walks through what went right and what went wrong with each of the implementations prior to hooks. None of these implementations lined up with React's model, they were too indirect, or too limiting.Classes didn't properly fit in with React's component model either. Components don't use inheritance, they aren't ever instantiated, you don't call methods off of them. Dan explains how Components are more like a stateful function, and how Hooks are a closer approximation of this mental model.ResourcesHow Are Function Components Different From Classes?Guest: Dan AbramovTwitter: @dan_abramovWebsite: overreacted.ioGitHub: @gaearonHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 2Establishing Your Personal Brand With Cassidy Williams
Cassidy Williams is an engineer at Codepen. In the last five years, Cassidy has worked for five companies. She had left each on her terms as she learned through experience what she wanted and didn't want. Figuring out what you like and what you don't like is critical for ending up somewhere that you're happy with, Cassidy calls this establishing your personal brand. The term "personal brand" has negative connotations to it, it seems unauthentic, but really what it means is figuring out who you are and making that public, it's as authentic as you make it.Kent challenges you to take five minutes and write down what you like and what you don't like. Afterward, reflect on that list and ask yourself if where you're at now lines up, if it doesn't dig deeper into figuring out how to make the necessary changes for your life to align more with your likes and dislikes.ResourcesBoundariesGuest: Cassidy WilliamsTwitter: @cassidooGithub: @cassidooWebsite: cassidoo.coHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S1 Ep 1Growing Your Skills And Career Through Teaching with Ali Spittel
In this episode, Ali Spittel, a software engineer and developer advocate at Dev.to, joins us to talk about how excellent teaching can be for not only the people who are learning from you but also for developing your skills and your career.Teaching is one of the best ways we can teach ourselves something. It requires you to build an understanding of the subject matter strong enough to explain the material to other people and answer questions. "At some point, you tell a computer what to do, and it does it. It's really predictable. If you tell it to do the right thing, it's going to do the right thing without failure." As you may know, giving instructions to humans doesn't end up being so straightforward, even if you explain something perfectly, mistakes can still be made. It's a challenge to understand the material from multiple angles to accommodate different people, but it's excellent for solidifying your understanding.Ali challenges you to write a blog post! It doesn't have to be long. Kent C. Dodds will write articles that are only a few paragraphs. Even if no one reads it, you still took the time to learn something and grow.ResourcesDev.toalispit.telGuest: Ali SpittelTwitter: @ASpittelGitHub: @aspittelCompany: Dev.toKent C. DoddsWebsiteTwitterGithubYoutubeTesting JavaScript