

Chats with Kent C. Dodds
Kent C. Dodds
Kent C. Dodds chats with developers.
Episodes
Mentioned books

Aug 5, 2019 • 32min
Become 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

Aug 5, 2019 • 30min
There 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

Aug 5, 2019 • 33min
A 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

Aug 5, 2019 • 36min
The 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

Aug 5, 2019 • 34min
Funding 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

Aug 5, 2019 • 31min
Creating 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

Aug 5, 2019 • 32min
Make 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

Aug 5, 2019 • 52min
A 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

Aug 5, 2019 • 45min
Realigning 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

Aug 5, 2019 • 34min
Establishing 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


