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

S5 Ep 14Sparking Positive Energy in Tech and Beyond with Mark Techson
In this episode, Kent and Mark Techson, from Google's Angular team, traverse the expansive terrain of web development, drawing parallels between coding and music. Mark, blending his industry wisdom with musical passion, provides an intriguing perspective on the structural similarities between the two. He also explores the vital role of an MC in enriching event experiences and fostering engagement. Throughout the conversation, Mark’s candidness about his personal journey as a developer and parent adds a relatable dimension, painting a rich, holistic picture of life in tech. Watch this episode. Meet Mark at Epic Web Conf. Guest: Mark Techson Twitter: @marktechson GitHub: @marktechson Website: marktechson.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 13Journey of Web Development with Jacob Paris
Developer and freelancer Jacob Paris delves into his personal evolution from game to web development, noting the core similarities like database interactions that tie different development fields together. He spotlights the efficacy of Remix in streamlining web development, particularly in UI and database interactivity, which he will explore further at Epic WebConf. Paris reflects on the critical nature of understanding the historical context of technology choices and advocates for well-justified selections in tech stacks. His upcoming conference presentation will dissect CRUD operations for effective application development, underlining the necessity of anticipating application demands for a more deliberate architectural approach. Paris looks forward to Epic WebConf both as a platform for sharing knowledge and fostering valuable community connections within the Remix sphere. Watch this episode. Meet Jacob at Epic Web Conf. Guest: Jacob Paris Twitter: @jacobmparis GitHub: @JacobParis Website: jacobparis.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 12Building Community and Innovation in Web Development with Kent C. Dodds
In this enlightening conversation, Kent C. Dodds shares his transition from a full-stack web developer to a renowned educator and community influencer within the web development sphere. He recounts his initial steps into public speaking, his experiences with rejection and eventual success in the conference circuit, and the pivotal role these platforms have played in his career. Kent also delves into his work on creating and promoting quality web development education through platforms like testingjavascript.com, epicreact.dev, and his involvement with the Remix community. The discussion further touches on his anticipation for the upcoming Epic Web Comp, his thoughts on the evolution of web technologies like React server components, and his commitment to fostering a supportive and collaborative community through in-person events. Kent's story is not just about technical achievements but also about the power of community engagement and the impact of sharing knowledge and opportunities within the tech ecosystem. Watch this episode. Meet Kent at Epic Web Conf. Guest: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev Host: Shaundai Person Twitter: @shaundai GitHub: @shaundai

S5 Ep 11Balancing Tech Careers and Personal Life with Michelle Bakels
In the podcast, Michelle Bakels, a seasoned software developer and the Program Director for Developer Health at G2i, joins Kent to explore the necessity of balancing a tech career with personal life to ensure overall well-being. Drawing on her experience with health challenges stemming from work stress, Michelle underscores the importance of the Developer Health Operating System initiative, which aims to promote healthier working habits in the tech world. They discuss the pitfalls of self-imposed stress, the need for effective resource management, and the role of communication in navigating the ever-evolving realm of software development, with a particular nod to the complexities of React. The session wraps up with a commitment to further discuss the crucial topic of developer health in future talks. Watch this episode. Meet Michelle at Epic Web Conf. Guest: Michelle Bakels Twitter: @MichelleBakels GitHub: @MichelleBakels Website: michellebakels.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 10Harnessing the Power of AI in Web Development with Barry McGee
In a thought-provoking podcast with Kent, Barry McGee from Shopify shares insights on the integration of AI in web development and the evolving landscape of remote work. Having transitioned to remote working in 2016, Barry brings a wealth of experience from significant tech companies and discusses the future of web performance, AI's role in enhancing user experiences like the context-aware search in Shopify's Shop App, and the strategies for maintaining application performance at scale, including the importance of caching. As web development continues to evolve, Barry's perspectives offer a glimpse into the symbiotic relationship between AI advancements and efficient remote work practices. Watch this episode. Meet Barry at Epic Web Conf. Guest: Barry McGee Twitter: @barrymcgee GitHub: @barrymcgee Website: barrymcgee.co.uk Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 9AI in Web Development with Scott Hanselman
In this illuminating episode, Scott Hanselman, with over 30 years in the tech industry, including a significant tenure at Microsoft, delves into the impact of AI on web development. He reflects on his technological journey from the early days of the internet and explores AI's potential in automating routine development tasks. Scott advises on the ethical use of AI and stresses the importance of understanding technology's fundamentals for mastery. He also touches on the personal side of tech work, advocating for empowerment, authenticity, and emotional health in the field. The podcast wraps with a call to highlight positive narratives that contribute to a supportive tech community. Watch this episode. Meet Scott at Epic Web Conf. Guest: Scott Hanselman Twitter: @shanselman GitHub: @shanselman Website: hanselman.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 8Developer Empowerment with Saron Yitbarek
In the podcast, Saron Yitbarek, the founder of Code Newbie, shares insights into empowering developers through enhanced learning resources, financial opportunities, and community building. With Code Newbie evolving into a comprehensive media company and her successful venture into designing The Story Graph, Saron highlights the importance of newsletters for personal engagement and the benefits of fostering a learning-centric community. Additionally, she underlines her commitment to financial empowerment for developers via the "Big Cash Money" community, paving the way for broader discussions at the Epic Web Dev conference. Watch this episode. Meet Saron at Epic Web Conf. Guest: Saron Yitbarek Twitter: @saronyitbarek GitHub: @sarony Website: bigcashmoney.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 7Journey into Web Development and Remix with Lina Mahrouch
Lina Mahrouch, a software engineer, recounts her transition from professional gaming to web development and her subsequent mastery of Remix for full-stack applications. The podcast highlights Remix's strengths in data handling, caching, and SEO, while also pointing out common pitfalls in its use. Kent and Lina stress the importance of networking in career advancement, particularly through conferences like the upcoming Epic WebConf. Discussions also touch on the exciting potential of AI in web development and the enduring value of personal interactions in the tech industry. Watch this episode. Meet at Lina Epic Web Conf. Guest: Lina Mahrouch Twitter: @lina_mahrouch GitHub: @LinaMahrouch Twitch: @elina_cs Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 6Demystifying DivOps with Ben Ilegbodu
Kent C. Dodds welcomes Ben Ilegbodu to discuss his work with front-end platforms and the coined term "DivOps," focusing on non-UI aspects like configurations and optimizations that enhance app performance and developer workflows. Ben shares insights into why JavaScript's ecosystem fosters a unique need for DivOps, emphasizing its role as a legitimate discipline crucial for app optimization and improved user experiences. The conversation also touches on the diverse challenges and solutions within DivOps, expectations for the Epic WebConf in Utah, and the value of community and knowledge sharing in advancing the field. Additionally, Ben's personal goal to visit every NBA arena adds a personal touch to the discussion, illustrating the blend of professional and personal interests that enrich the tech community. Watch this episode. Meet Ben at Epic Web Conf. Guest: Ben Ilegbodu Twitter: @benmvp GitHub: @benmvp Website: benmvp.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 5Lifelong Learning in Web Development with Mandy Hartman
Mandy Hartman, a front-end developer at Jenzabar, shares her insights on the importance of continuous learning in web development, drawing on her own transition from academia to tech. She discusses her hands-on learning experiences, including participation in the "#100DaysOfCode" challenge and creating personal projects for skill demonstration in job interviews. Hartman's readiness to utilize online communities for support, her application development inspired by her time in museums and archives all underscore her dedication to constant skill refinement and knowledge-sharing. Her story is a testament to the benefits of lifelong learning for both aspiring developers and those shifting careers. Come to Epic Web Conf. NOTE: Due to personal conflicts, Mandy will not be able to attend Epic Web Conf after all. Maybe next year! Guest: Mandy Hartman Twitter: @hartmandyyy GitHub: @hartmandy Website: mandywebdev.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 4Reinventing API Design, Testing, and Mocking: An Interview with Artem Zakharchenko
In the podcast, Artem Zakharchenko, a software engineer specializing in APIs, delves into his journey shifting from his job to focus on open-source contributions, notably the Mock Service Worker library. He emphasizes the importance of efficient testing in software development and his commitment to enhancing his knowledge and the tools he develops, such as adding WebSocket support to MSW. His upcoming workshop at the Epic Web Conference will cover the essentials of automated testing and writing assertions, encouraging developer participation in a discussion on testing challenges to foster a collaborative learning environment. Watch this episode. Meet Artem at Epic Web Conf. Guest: Artem Zakharchenko Twitter: @kettanaito GitHub: @kettanaito Website: kettanaito.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 3Local First Architecture and Side Projects with Alex Anderson
Web developer Alex Anderson speaks with Kent about his side project, Thorium, an open-source spaceship bridge simulator game designed for science education, which also encapsulates the principles of Local First architecture. Anderson elaborates on the advantages of Local First design in ensuring direct data access and enhancing web syncing, all while balancing privacy with user experience. A specific focus is given to integrating Local First architecture with a Remix app to enable seamless online and offline app functionality. Additionally, the conversation touches on the personal joys and communal aspects of baking, showcasing the human side of tech experts engaged in pioneering web development and community-driven projects. Watch this episode. Meet Alex at Epic Web Conf. Guest: Alex Anderson Twitter: @ralex1993 GitHub: @alexanderson1993 Website: ralexanderson.com Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 2Exploring the Power of CSS Custom Properties with Adam Argyle
In this insightful conversation with Kent, Chrome team's CSS and UI expert Adam Argyle delves into the transformative power of CSS custom properties in web development. Likening them to a basil leaf that elevates a meal, Adam teases his upcoming talk at Epic WebConf, promising to elaborate further on the subject. He spotlights current innovations in Chrome and CSS that include color variants, automated designer interactions, and dynamic features such as view transitions and scroll-driven animations. These developments not only enrich web design but also advocate for progressive enhancement to ensure a captivating and interactive user experience. Adam's expertise offers a valuable resource for staying abreast of the evolving landscape of CSS and web design. Watch this episode. Meet Adam at Epic Web Conf. Guest: Adam Argyle Twitter: @argyleink GitHub: @argyleink Website: nerdy.dev Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S5 Ep 1Introducing Season 5 of Chats with Kent
Kent C. Dodds introduces Season 5 of "Chats with Kent," highlighting its unique focus on the speakers of the upcoming Epic WebConf 2024 on April 11th. This season aims to familiarize listeners with the conference speakers through 10-15 minute intros, offering insights into their backgrounds and what they'll be discussing. Kent encourages both attending the conference in person for a richer experience and utilizing the available live stream for those unable to attend. This season serves as a platform for listeners to engage with the content and speakers, whether they plan to participate in-person or online. Meet at Epic Web Conf. Guest: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds Host: Kent C. Dodds Website: kentcdodds.com Twitter: @kentcdodds GitHub: @kentcdodds YouTube: Kent C. Dodds Epic Web: epicweb.dev

S4 Ep 25Tiger Abrodi Chats About Advancing Your Skills
The path of teaching yourself to code isn't for the faint of heart. It takes consistency, discipline, and the ability to recognize you're actually making progress. Tutorials are an excellent tool, but they are also a trap. If all you do are tutorials, retaining the skills you learn is going to be extremely difficult. Without applying those skills they aren't going to become ingrained, and you aren't going to see how they're used in context. You also won't make progress if you aren't being consistent. Without consistency, your skills will fade and when you start coding again you'll have to relearn things instead of advancing on to more advanced topics. In this episode, Tiger Abrodi chats about how he uses projects, habits, and self-assessment to consistently advance his skills as a programmer. HomeworkTake 20 minutes to do a little self-evaluation and assess how well your professional growth as a developer is going.Write down some specific habits that you want to develop to help you with your goalsGuest: Tiger AbrodiTwitter: @TAbrodiGitHub: @tigerabrodiWebsite: tigerabrodi.techHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 24Jhey Tompkins Chats About Building Awesome Demos
It's easy to become entrenched in what you already know how to do. You might have a fun project idea that requires creating really awesome CSS animations, and it might seem out of reach if you haven't done anything like that before. But getting through that mental block is an extremely rewarding experience. You gain technical skills and improve your general problem-solving abilities. If you've ever struggled with side-projects, check out this episode where you'll learn how Jhey Tompkins never seems to run out of things to build and get his expert advice on how he problem solves. HomeworkStart keeping a list of every random idea that you have. Use the list for project inspirationResources@beesandbombs - cool animationsGuest: Jhey TompkinsTwitter: @jh3yyGitHub: @jh3yWebsite: jhey.devHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 23Scott Moss Chats About Time Management
Scott Moss is a retired Navy Veteran who made the career change into software engineering after becoming a father. His journey wasn't an easy one, and as a dad, he had to learn many lessons in work-life balance. For us developers who have kids, his struggle is one that almost all of us can relate to. This industry has an extremely high ceiling, and there is a culture of grinding every day after work in order to make it big. It's easy to fall into the trap of thinking "this is what is best for my family", you have to ask yourself is it worth the sacrifice of losing that time with your kids, and are you doing it for them or are you doing it for yourself? Though it doesn't have to be all or nothing in either direction. There are strategies you can put into place that will allow you to reach your goals in both your work and family life. But it's going to require self-awareness, emotional availability, and good time management. So check out this episode If you want to hear more about Scott's story and get advice on making family life work while still succeeding in your career!HomeworkSit down and record every single minute of your day for the next week. At the end of the week review and see the time that you wasted on things that add no value to the goals.Guest: Scott MossTwitter: @scotupsGitHub: @HendrixerHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 22Mark Dalgleish Chats About Vanilla Extract
There is a diverse range of philosophies when it comes to CSS. Settling on something that fits the needs of your team and application can be a real challenge. Mark Dalgleish, the co-creator of CSS Modules, has been working on an option that might make that choice less of a challenge!Vanilla Extract is kind of like "CSS-modules in TypeScript", allowing you to write CSS in your TypeScript, with locally scoped variables, and generate static CSS files on runtime. If you're interested in getting a deeper look, as well hear more about design systems, CSS in JS, and CSS Modules, check out this episode!HomeworkFollow along with this blog post - Use CSS Variables instead of React ContextCheck out Vanilla ExtractResourcesVanilla ExtractPlayroomBraidA Unified Styling LanguageGuest: Mark DalgleishTwitter: @markdalgleishGitHub: @markdalgleishHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 21Josh Comeau Chats About Gaining a Reputation
Whether you know it or not, we all have a "personal brand". It's the summary of the part of yourself that you present to the public. And while there are negative connotations to the term, it doesn't have to be that way. Building a personal brand for yourself is a very useful tool for cultivating a community of like-minded people. But it's not a quick process, and it's not something that you can hack if you want the real thing. In this episode, Josh Comeau chats about how he grew a community and reputation around CSS, and how the lessons he learned can apply to you.HomeworkTake an hour to draft a blog post in markdown without worrying about how you are going to build your website.ResourcesHow I am so productive001 jsAir - Learning and Developing JavaScript with Ashley G. Williams and Kyle SimpsonGuest: Josh ComeauTwitter: @JoshWComeauGitHub: @joshwcomeauWebsite: joshwcomeau.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 20Josh Comeau Chats About Effective Learning
Constantly learning is something that we all have to do as developers. If you're a JavaScript developer then chances are CSS is something that hasn't been easy to learn for you. It doesn't have the error messages JS does and when things go wrong you can have no idea what's even happening.Well in this episode Josh Comeau gives us some effective strategies to not only learn CSS, but to learn any library, language, framework, etc that you might want to know!HomeworkAfter solving a problem you were stuck on, take about 10 minutes to dive in deeper to understand why it worked the way it did and why your solution fixed itResourcesCSS for JavaScript DevelopersJosh's BlogHow To Learn Stuff QuicklyWhat the heck, z-index??Guest: Josh ComeauTwitter: @JoshWComeauGitHub: @joshwcomeauWebsite: joshwcomeau.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 19Stephan Meijer Chats About Side-Projects
Side projects are important in our line of work. They sharpen our skills and sometimes they can even take off and lead our career in a new direction. But seeing people create these amazing projects over a weekend can be demotivating as a junior developer. "How can they do that when I'm five days deep into a todo app? What do they have that I'm missing?"The answer might be a disappointment to some, but often it is because they have 10+ years more experience than you do. But don't let this demotivate you! You don't lack intelligence, you just have more experience. If you want more advice on side projects and dealing with the influence of others, then listen to this episode where Stephan Meijer chats about how he switched from an architecture career into tech, side projects, and how to be true to yourself and your goals. HomeworkTake 10 minutes to think about how the advice that you've given to somebody recently may have influenced the direction that they're going in their life.Take 10 minutes to think about how the advice that other people have given you has influenced your own direction and consider whether you're happy with that directionResourcesMy Career and Lessons Learned in a NutshellGuest: Stephan MeijerTwitter: @meijer_sGitHub: @smeijerWebsite: meijer.wsHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 18Tracy Lee Chats About Positivity
We have to remember that we are all human beings with social and emotional needs. Our career suffers when we fall into a pit of negativity or when we put up mental barriers that prevent us from interacting with people we might've wanted to talk to. In this episode, Tracy Lee chats about the importance of remembering that everyone, even the awesome people speaking at the conference are all human. When we idolize people it's easy to fall into the trap of thinking they're "better" than we are. We might miss out on opportunities to speak with them out of self-consciousness. Tracy also addresses how general negativity can impact our careers. She cautions against doom scrolling on Twitter and gives us some great strategies on how to surround ourselves with positivity, without burying our heads in the sand to the problems in our world. HomeworkThing of a specific positive thing and share it with somebody!ResourcesThis Dot Labs is hiringThis Dot Labs meetupsThe Power Of BadGuest: Tracy LeeTwitter: @ladyleetGitHub: @ladyleetWebsite: thisdot.coHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 17Sandrina Pereira Chats About Accessibility
Building our apps to be accessible is absolutely necessary, but building a great a11y friendly experience is extremely challenging when we ourselves aren't in a situation that requires the use of a screenreader is keyboard-only navigation.We can't fully rely on tools to audit the a11y score of our apps. With the challenge being distinctly human, computers aren't able to get a complete picture.That's why it's necessary for you to use these alternative methods for web navigation yourself. Try navigating your app's pages blindfolded while using a screen reader, or trying to just use the keyboard. If you find your website is unusable, consider it a bug. Accessibility is not an enhancement.So if you're curious about what you can do to make your apps more accessible, check out this episode where Sandrina chats about methods that you can start using today.HomeworkImplement one of the following options in your app:Disable all of the CSS and see if your app still makes sense visuallyUse your app in direct sunlight. Spot any contrast issuesNavigate your app with only a keyboardBlindfold yourself and try using your app with a screen-readerResourcesWeb Content Accessibility Guidlines (WCAG)a11ysupport.ioContrast CheckerGuest: Sandrina PereiraTwitter: @a_sandrina_pGitHub: @sandrina-pWebsite: sandrina-p.netHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 16Ian Sutherland Chats About Improving Developer Experience
Everything that developers do is DX (Developer Experience). But, it can be hard to know when it is appropriate to spend the time to improve the DX at your workplace. You also might be curious about what you can do to enhance the DX. Repetitive tasks are an easy one to look out for. If you find yourself doing something again and again it's probably worth automating. This could come in the form of tests, scripts, generators, and snippets! For example, if you find yourself having to test some state that takes multiple steps to reach on your website, try using Cypress to automate reaching that state!If improving your DX sounds interesting to you, check out this episode where Ian Sutherland chats about a variety of practical things you could be doing to enhance it.HomeworkAutomate a tedious task that you have to do oftenResourcesXKCD Automation ChartGuest: Ian SutherlandTwitter: @iansuGitHub: @iansuWebsite: iansutherland.caHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 15Ian Sutherland Chats About Getting Involved In Open-Source
"I should really get more involved in open-source" is something that's always on the back of our minds. You are fully aware of how rewarding it could be but that perfect opportunity to contribute never comes up. Ian Sutherland, a maintainer of Create React App and contributor to NodeJS, used to be in that position. He had always struggled with getting into open source, he wanted to do something substantial but nothing ever came up. One day, he noticed a tiny bug in create react app. Ian quickly fixed it and put in a PR. Once he was past the first PR barrier, making additional ones was so much easier. Fear is a big barrier to entry. People are maybe afraid they're going to do something silly, make a silly mistake and look foolish, but you really have to get over that as well. To get over it try to start small. When you start small, what was once a mountain to climb is now a hill. The stakes are much lower and success is still extremely rewarding!Sometimes, getting involved can happen organically through opportunities from people you meet. Ian got involved with Node randomly at the Vancouver Node Interactive Conference during a collaborator summit. And an open-source raid group was formed in Kent's discord where they collaborate on helping out with various open-source projects. So remember that you don't have to do it alone, and look out for opportunities with others.HomeworkNext time you are hesitant to try something new, try starting smaller!ResourcesHow to get experience as a software engineerNodeJS Tooling GroupKCD DiscordGuest: Ian SutherlandTwitter: @iansuGitHub: @iansuWebsite: iansutherland.caHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 14Vlad Magdalin Chats About The No-Code Movement
Vlad Magdalin is the founder of Webflow, a powerful visual development tool that enables people to create professional websites without writing code. Webflow is on a much lower level of abstraction than something like Squarespace, and users still need to understand the core fundamentals of web development. You might think that tools like these are going to take jobs away from developers, but it actually does the opposite! When innovative technologies allow more people to do work that was once restricted to experts, it benefits everybody. That's what the no-code movement is about. Removing barriers, and giving development power to non-experts. As developers, we'll be able to collaborate better with designers and other team members. And with the increased output of surface-level webpages, there will be more demand for developers with a deeper skillset.HomeworkTeach a non-coder one coding related topic without using codeResourceswebflowGuest: Vlad MagdalinTwitter: @callmevladGitHub: @callmevladHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 13Taylor Bell Chats About Effective Teaching
Teaching what you know is a great way to give back to your community, grow your reputation as an expert, and to even make some extra income. But, just because you're an expert doesn't automatically mean you'll be able to effectively transfer your knowledge and skills to others.Taylor Bell works for egghead, and one of his main focuses is helping instructors plan courses through an academic discipline known as "instructional design". Specifically, the "Understanding by Design" methodology is used. This process ensures that instructors are able to effectively teach what they know and be confident in learners retaining the knowledge. From a high level, it's a three stage process of determining the desired results, determining the evidence that proves the learner is achieving those results, and developing a plan that results in the learner being able to apply what they've learned to other scenarios. So if you're interested in writing better instructional blog posts, recording better videos, and just becoming a more effective teacher in general, check out this episode!HomeworkThink of something that you could teach to somebody else, and try to frame it in the three stages of UBD. Email Taylor your homework - [email protected] by DesignMake It StickGuest: Taylor BellTwitter: @taylorbellGitHub: @tayiorbeiiWebsite: taylorbell.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 11Daria Caraway Chats About Having a Generalist Skillset
Software development has always been a fast-paced sector. New and better technologies are constantly coming out and if companies don't keep up they'll soon be out of date. Daria has experience with multiple teams who were upgrading their stack, and through that has discovered joy in being a generalist who is capable of working with a variety of technologies and able to see the big picture.She has found having a generalist skillset both keeps her interested and gives her the ability to communicate with the front and backend teams in ways they both understand. With her ability to understand the different levels and keep everyone on the same page she is on the path to becoming an effective engineering manager in the coming years. "Generalist" doesn't just mean full-stack developer, there are many more skill areas than front and back end. Maybe you could work on the CI pipeline, or maybe automated testing. There is a lot of value in choosing this path instead of building the deep knowledge of a specialist. They can't work in isolation, someone has to be able to coordinate and "be the glue" between the different parts of the stack. HomeworkTake five minutes to think about whether you want to be a generalist or a specialist, and then write down the three things you can do to get your career to go in that directionTalk to your manager about your career goalsGuest: Daria CarawayTwitter: @dariacarawayGitHub: @darcar31Website: dariacaraway.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 12Daria Caraway Chats About TypeScript
TypeScript has been taking over, and for good reason. Have you ever had good end-to-end or integration tests that ended up being invaluable during some refactoring? You can think of TypeScript in the same way. It's amazing when it's done well, but when done poorly it's misleading and a huge headache. Because of this, migrating to TypeScript is not a magic bullet. When converting large pieces of code from JavaScript to TypeScript you need to be cautious about typing things correctly, don't be afraid of using unknown and moving on if you're unsure. In this episode, you'll learn more about these realities of working with TypeScript and why it's all totally worth it! HomeworkTypeScript Users: Take a look at five interfaces you wrote recently and see if you can refactor them to make them easier to read for the next person.Non-TypeScript Users: Think about the last complex code that you had to interface with and whether it would have been easier to interface with if it had types.Guest: Daria CarawayTwitter: @dariacarawayGitHub: @darcar31Website: dariacaraway.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 10Michael Jackson Chats About Remix
Twitter and Instagram had a problem that would ordinarily be simple on smaller scales. They needed to be able to generate IDs on the order of millions per second. Twitter used a brute force method of having a triple-redundant service that generates the IDs. However, Instagram had the elegant solution of inserting a little script that could generate thousands of IDs per second but was sharded across 256 nodes. This illustrates that with the right abstraction for the job, you'll be saved a ton of time and resources. This has been Remix's philosophy. There was a lot of stuff that we have built in the current generation of web frameworks where the browser actually has a really good primitive already for that solution. In the same way that the spirit of React is "just use JavaScript", the spirit of Remix is just use the web. And in the process of using Remix, you are going to learn more about the web.So give Remix a try! And see for yourself the power that the browser gives you. HomeworkGo through this Remix tutorial - Super Simple Start to RemixResourcesunpkg: An open source CDN for npmremix.runDon't Solve Problems, Eliminate ThemGuest: Michael JacksonTwitter: @mjacksonGitHub: @mjacksonWebsite: mjackson.meHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 9Lydia Hallie and Evan Bacon Chat About Leveling Up Your JS
The JavaScript ecosystem is vast and solves a wide array of problems. Because of this, it is key that you have a foundational understanding of JavaScript if you want to be able to work across the JS spectrum. It is also helpful to know the layers of abstraction that are going on. Become familiar with what comes with the browser like the navigator API and what comes with Node like file system or assert. If you can understand these parts then it becomes easier to know how to use JavaScript in whatever context you are in. Inspiration is the most important thing when learning to code. Do what excites you. Without that fire, you are going to burn out when things get difficult. Try to build whatever sounds fun to you, and see how you can incorporate what you're trying to learn into that. Afterward, you can learn a lot by trying to optimize your project!Always strive to gain a deeper understanding of your tools beyond their applications. When you read specs and source code you'll become more familiar and be able to write much better code. HomeworkTake 30 minutes to dive deeper and try to understand how a tool you use works under the hood.ResourcesAdvice From A 19 Year Old Girl & Software DeveloperGuest: Lydia HallieTwitter: @lydiahallieGitHub: @lydiahallieWebsite: lydiahallie.ioGuest: Evan BaconTwitter: @BaconbrixGitHub: @EvanBaconWebsite: evanbacon.devHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 8Titus Wormer Chats About ECMAScript Modules
It's time to embrace ESM (ECMAScript Module). NodeJS is providing support for ESM out of the box. With ESM modules coming out of the experimental stage we're going to see a lot of packages begin to embrace it. ESM provides superior organization of your code by allowing you to more easily create smaller, reusable chunks of code. ESM gives you a "module scope" where not only are functions and variables available to each other in the same module but also allows you to explicitly make them available to other modules. There is also the Loader API that is currently in its experimental stages.In this episode, you'll also learn about more differences between ESM and CommonJS, and some of the challenges and potential problems of using native ESM today. HomeworkFollow along with one of the following blog posts:Super Simple Start to ESModules in Node.jsSuper Simple Start to ESModules in the BrowserResourcesMisunderstanding ES6 Modules, Upgrading Babel, Tears, and a SolutionGet Ready For ESMGuest: Titus WormerTwitter: @wooormGitHub: @wooormWebsite: wooorm.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 7Titus Wormer Chats About Natural Language Processing Tools
Titus Wormer does a lot of work with natural language processing. He is the creator of Retext, Remark, and many many more open-source projects. In this episode Titus chats about his extensive open-source work, and goes a bit deeper into his ecosystem of natural language processing tools and plugins. You'll also learn about abstract state trees and their practical applications!HomeworkPlay around on astexplorer.netFollow along with Kent's blog post - Write Your Own Code Transform for fun and profitResourcesSponser Titus on GithubGuest: Titus WormerTwitter: @wooormGitHub: @wooormWebsite: wooorm.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 6Will Johnson Chats About Landing a Job in Tech
Will Johnson used to work for call centers and factories, but he managed to make the daunting career change into tech. This especially isn't easy when you're clocking in 12 hour days. To make time to grow Will was waking up early, staying up late, and doing stuff on weekends."It was very, very time consuming, but it was one of those things where like I knew if I got that one chance that all of this would be worth it."In addition to building up technical skills, networking is absolutely critical for landing a roll."I knew that I had to network and meet people in the industry to advocate for me, because I knew that my resume wasn't going to have anyone beating out the door saying, 'Let's hire him.' Right? But as far as the process of building relationships was completely organic. There's not any strategy or networking books I've read. I just knew that taking people's advice, sharing things with them that they might find interesting, and following up with them was a good way to nurture a relationship with someone.""Growth hacking" style networking is disingenuous and suboptimal. It's about building genuine trust and relationships with people. When you have real trust, there won't be fear when they take the risk of referring or hiring you. To build those relationships just help people out without an expectation of something in return. Chances are you might be the person they think of when they need a podcast guest, a role needs filling at their work, etc.HomeworkFind somebody who has a need, and try to fill that need, whether it's on Discord or Twitter or wherever, without any expectation of reciprocation.ResourcesHow I Switched Careers Into Tech With No Degree In My Mid 30'sGuest: Will JohnsonTwitter: @willjohnsonioGitHub: @wjohnson85Website: williamjohnson.devHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 4Cher Scarlett Chats About The Consequences of Modern Software
Web development isn't as simple as it used to be. We can't view the source of any webpage and be able to recreate it anymore, it's all bundled and obfuscated. That increased complexity comes from the increasingly larger role that the internet is taking on in our society and the need for our websites to do more than display static information.The growing role of software in our society has had its consequences. Addictive design, and biases being built into software waste people's time at best, but also have the devastating ability to ruin lives. In this episode, Cher Scarlett brings awareness to these issues and recommends some books that you can read to educate yourself further.HomeworkRead one or more of the following booksRace After TechnologyTechnically WrongAlgorithms of OppressionHello World: Being Human in the Age of AlgorithmsGuest: Cher ScarlettTwitter: @cherthedevGitHub: @cherscarlettWebsite: cher.devHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 5Ryan Florence Chats About Remix
EModern web development has given us a cornucopia of powerful abstractions. But as we've moved to higher levels of abstraction Ryan has noticed that we are reinventing the wheel in places, especially with what the browser provides by default. Remix aims to solve this problem. Remix is trying today's benefits of a highly dynamic page, but still have that same feeling of simplicity that we had with PHP. The whole point of Remix is to emulate what the browser does so that you don't need those full page reloads, but programmers get to just develop with the same mental model as if there was no JavaScript on the pageAs you use Remix what ends up happening is that you accidentally become a better web developer as become a lot more familiar with the browser's abilities.HomeworkSpend an hour or two reading the MDN docs on HTTPResourcesRyan Florence: Embularactymerbone JSConf2014Guest: Ryan FlorenceTwitter: @ryanflorenceGitHub: @ryanflorenceWebsite: ryanflorence.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 3Joel Hooks Chats About Standout Developer Portfolios
Landing your first developer job isn't easy. Companies don't want to take the risk of hiring a junior, they have no idea how competent you are. A traditional resume doesn't adequately prove your abilities.Why would they just take your word for it? In order to standout you need to show those hard-earned skills off! You need to publicly showcase your work. That doesn't just mean spinning up a fancy blog or linking your Github full of tutorial projects you followed along with. Tutorials are excellent for personal growth but they don't prove that you're capable of applying that knowledge elsewhere. It's all about proving your skills are valuable to a business. This doesn't mean that your site has to be boring though! Showcasing your practical skills might be the most important thing but you should still make your site your own. You are more than the sum of your skills and you are also communicating your interests and personality through your website and portfolioHomeworkSpend 30 minutes to assess your own portfolio. Figure out what it's communicating about you and ask yourself if aligns with what you want to communicate. Try to see if there is anything missing from it.ResourcesJosh Comeau: Building an Effective Dev Portfolio eBookMax Stoiber's Siteegghead.io's showcase of great portfoliosGuest: Joel HooksTwitter: @jhooksGitHub: @joelhooksWebsite: joelhooks.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 2Maggie Appleton Chats About Creating Effective Visual Metaphors
Almost everything we experience in the world we experience through metaphor. Even when we talk about abstract things that don't have physical form, we talk about them in terms of directionality and bodies. Stock markets go up, our moods are low, and past years are behind us. So what makes this useful to us on the internet? Strong visual metaphor is really key for people understanding things. Capturing someone's attention is critical, and you want people to immediately understand what you're trying to tell them before you lose their attention.If communicating to your users more effectively is something you're interested in, in this episode, you'll also learn about Maggie's process for creating, illustrating, and effectively using visual metaphors on the web! HomeworkSpend 10 minutes brainstorming metaphors for a website that you want to build or something else that you're building right now.Guest: Maggie AppletonTwitter: @mappletonsWebsite: maggieappleton.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S4 Ep 1Michael asks Kent about his site rewrite
Kent's spent the last several months completely focused on rewriting his website, recording new episodes for Chats with Kent, and creating an all new podcast called the Call Kent Podcast.Michael Chan joins Kent to ask him about the motivation to rewrite kentcdodds.com with Remix. Kent explains what technology he used to create the unique experience on the site and why Gatsby falls short of the needs of most apps. Michael also asks about the new teams feature of kentcdodds.com and how it helps you get more out of the content.Kent also introduces the new Call Kent Podcast where people like you "call" in right in your browser and record a ~2 minute question or discussion topic. Then your recording and Kent's response is turned into a podcast episode. It's a fun new way to engage and participate in the greater KCD community.Lots of exciting stuff to unpack in this first episode of Season 4 of Chats with Kent!HomeworkStay CuriousCheckout remixGuest: Michael ChanTwitter: @chantasticWebsite: chan.devHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 12Tanner Linsley Separates UI State And Server State
Tanner Linsley is the creator of react-table, react-charts, and react-query. Tanner also has a startup called nozzle.io where they track rankings in Google and do cool things around technical SEO.A lot of Tanner's libraries were born out of necessity at nozzle. We often reach for abstractions that were built to solve problems that we don't have and that ends up creating awkward problems for us. We wind up with poor performance or a bigger bundle size than we need, so having a custom made solution can be a good thing.Your UI state is not the same as your server state and they should be separate things. By keeping these types of state separated from each other you can simplify your app. Server state is different enough in structure, persistence strategy, consumption, and lifecycle to be managed in smarter systems that are configurable to an apps needs of data freshness.HomeworkTake inventory of your state. What is UI state and what is Server state?Resourcesreact-queryGuest: Tanner LinsleyTwitter: @tannerlinsleyGithub: @tannerlinsleyHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 11Serene Yew Provides Mentorship
Serene Yew runs Pixeltree, a software consultancy that focuses on sourcing junior talent and providing them with the mentorship that they need so they can bridge the experience gap and get a job.What better way to incite change than to be that change? You can have a huge influence on someone by taking on a mentorship role. And, not only does mentorship benefit who you're mentoring, but it also benefits you. Serene finds that every single person that she's mentored has changed her in some way for the better. They all taught her something that she didn't even know she needed to learn.A good mentor is going to listen to you, understand who you are as a person. They're going to guide but, more importantly, they're going to listen. A mentor is compassionate, empathetic, and personally invested in their mentee's success. They're humble and they recognize that they also have more to learn in this ever-changing world. Mentors are to be the cheerleader in the mentee's corner to support them and maybe provide a network connection or even just a good book recommendation.HomeworkReach out to a local college and ask about mentorship programs or attend a meetup and find a mentee.Guest: Serene YewTwitter: @s0sereneGithub: @sereneHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 10Saron Yitbarek's Path Into Tech
Saron Yitbarek started a company called Code Newbie, which started as a Twitter community and grew into a couple of podcasts and a conference.Saron first became interested in technology after she read the Steve Jobs book, it was the first time she got introduced to technology in a way that she could relate to, where tech was talked about through the eyes of design, art, and storytelling. So, she started calling CEOs of startups until she got an internship, which led to a job. Saron wanted to get into development, though, so she quit her job, started to learn to code, and joined a code boot camp.Saron's path wasn't always financially secure. She realized that she needed to save and create a safety net. These days to help her budget, she uses a tool called You Need A Budget. The tool enables you to be more critical about where your money is going. Think of it as a digital envelope system.What if you wanted to get into tech but don't know where to start? Saron's one piece of advice for you is go look up your dream job. What is the dream job you have, the dream company you want to work for? Write down five options for yourself. If you could have any job right now at the best company you could think of, what are those jobs? Find those job postings. Put them in a spreadsheet. Figure out the keywords and what the required skills are for each job. See what each job has in common, and then that's your list, that's your curriculum. That's the stuff that you need to learn. Out of that list, pick one technology, one tool, one language that you recognize that has been repeated across these job postings and start learning that one thing.HomeworkStart a gratitude journal (write 5 things you're grateful for every day).Search for 5 dream jobs and figure out what they have in common and learn one of those things.ResourcesCodeNewbieSaron Yitbarek, Founder & CEO of CodeNewbie & Host of Command Line Heroes Podcast; Building A Supportive Community for People Learning to Code: Women In Tech New YorkYNABPunch Your Feelings In The Face (slides)An Antidote to DissatisfactionGuest: Saron YitbarekTwitter: @saronyitbarekWebsite: saron.ioLinkedIn: @saronyitbarekGitHub: @saronyHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYoutube: Kent C. Dodds

S3 Ep 9Preethi Kasireddy Reinvents Herself
Software development isn't limited to "nerds." During her time at Andreessen Horowitz, Preethi met thousands of entrepreneurs. What she realized was that software engineering is what these entrepreneurs use to change the world. They're able to code the future they believe in using software engineering.A lot of people were surprised that Preethi gave up a promising career in venture capital to become a developer. But, Preethi says that the greatest artists reinvented themselves often. There's something unique and special about the periods in our lives where we are working on improving ourselves. We kind of lose that after going through everyday life. And so we must continue to find new hobbies and interests that we enjoy and grow with.The world is driven by logic and what is objectively measurable is what ends up being valued. The hedge fund manager making millions a year is doing something objectively measurable while the artist isn't. But, beyond a certain point, money doesn't make you happier. You have to look out for your happiness. Your happiness is your incentive for choosing to pursue your passion over choosing the option that makes you more money.HomeworkGo back and think about dreams you had as a child and re-evaluate those dreams now.Guest: Preethi KasireddyTwitter: @iam_preethiGithub: @iam-peekayHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 8Michael Chan Encapsulates State
One of the things Michael loves about React is that it's a lot easier to make a black box of abstraction with iron-clad React components that don't leak.Something that concerns Michael deeply about any technology is when we put too much inside of it. We saw this pretty early on in React, where everyone was taking all manner of state and putting it into Redux. We have to think about the principle of co-location and the fact that the closer you put related things together, the easier it will be to maintain in the longterm.In React, we've got this excellent encapsulation model that allows us to do this thing for the first time. But, you have to be very strict about what you let in there. The encapsulation model is only as good as you are at encapsulating a single piece of information.HomeworkTake one of your small css-in-js components and use regular css to back it up.Guest: Michael ChanTwitter: @chantasticGithub: @chantasticHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 7Michael Chan Teaches You How To Break Into The Industry
It was around 2008-2010 when Michael's family's business went under due to the recession. From that point, Michael spent every spare second he had reading whatever he could. He'd be reading Ruby and JavaScript documentation while he pushed his son on the swing.In this episode, Michael talks about what it takes to break into the tech industry. He explains how interviews are a hackable skill and the importance of building relationships in the industry.HomeworkSit down for 5 minutes and think about what you really want to do with your life and figure out how you can sell that. Get one customer.ResourcesHow to get experience as a software engineerGuest: Michael ChanTwitter: @chantasticGithub: @chantasticHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 6Justin McMurdie Breaks Apps Into Micro-Services
Most applications on the backend and the front end get built as a monolith, but you could improve your developer experience and performance if you broke your applications out into microservices.The pros and cons are the same for monorepos and microservices. Microservices is a different paradigm. And so, there's a lot of training that goes involved for different people to understand the various deployment processes. The microservices system is slightly more complex in some ways, but on the pro side, you gain some performance benefits where you can scale up services by themselves.A part of the improved developer experience is you get a better context of what you're working on. So say you need to fix a bug in the e-mail service. You don't have to dig through a mountain of code to find it. It's in the e-mail service.HomeworkWatch this single-spa intro videoResourcessingle-spa intro videosingle-spaBuilding Microservices: Designing Fine-Grained SystemsGuest: Justin McMurdieTwitter: @justinmcmurdieGithub: @TheMcMurderHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 5Talia Nassi on Testing in Production
What does it mean to test in production? Simply put, testing in production means testing your features in the environment where your features will live. So what if a feature works in staging, that's great, but you should care if the feature works in production, that's what matters.An excellent tool for testing in production is feature flagging. Feature flagging allows you to separate your code deployment from your feature release. So, when you use a tool like future flagging, you're able to target specific users to see your feature, and you can test your feature and make sure it works and fix any bugs.HomeworkWatch Talia's talk and read her blog postNordic.js 2019 • Talia Nassi - Testing in ProductionSet Up Feature Flags with React in 10 MinutesResourcesSplit Feature FlagsLaunch DarklyRobot FrameworkGuest: Talia NassiTwitter: @talia_nassiGithub: @talianassi921Host: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 4Dr. Michaela Greiler Makes Code Reviews Your Team's Superpower
Dr. Michaela Greiler is focused on helping teams make code reviews their superpower!During Dr. Michaela's time at Microsoft, they found that developers were spending six hours a week doing code reviews. You have to ask yourself if that time is really being well spent.How do you ensure that code reviews are worth the time? There is a huge variety of experiences with code review. It can be really good, and it can be really, really horrible as well. There is not a lot of formal training around it.Formal training would improve the consistency and value of code reviews, and it would be especially helpful for Junior Developers. It would give them such a self-esteem and confidence boost if they would know, "This is what we're actually looking for, this is how we give code review feedback"HomeworkWatch 10 Tips for Respectful and Constructive Code Review Feedback then take a previous code review you gave and critique your own review.*ResourcesCode Review WorkshopsGuest: Dr. Michaela GreilerTwitter: @mgreilerGithub: @mgreilerWebsite: michaelagreiler.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 3Courtney McCleve On Developing Empathy
The internet is one of those resources that we have available to us, and it's fantastic at what it does. However, there's a lot of content that isn't super curated and isn't in a format that makes it digestible. Courtney is interested in making the web accessible not only in the way we typically think of accessibility for people with disabilities who need screen readers and other assistive technologies but also for people with mental disabilities or difficulty learning.We can help by improving the way we present the information, make it more accessible, and use words and phrases that are more inclusive. It enhances the experience for everybody, not just those who have learning disabilities.Courtney is starting a Salt Lake City chapter for Devs with Disabilities. They are creating a support system for people with disabilities wanting to get into development and using the community around to assist those people.HomeworkAttend an event (like a meetup) where you're a little outside of your comfort zone. If you already go to meetups, talk with people who you don't typically talk with.ResourcesJohnny BellDevs with Disabilities websiteGuest: Courtney McCleveTwitter: @courtneyyenGitHub: @courtyennHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev

S3 Ep 2Amelia Wattenberger Breaks The UX Mold
In her free time, Amelia Wattenberger enjoys creating "code sketches." On the surface, they might just look like silly examples, but she's learned concepts or ways of doing things through these tiny code examples. You can learn a lot by playing with something in isolation and then trying to see how you can apply it to a production application later.Amelia then goes on to share her process of creating a blog post. Step one is thinking of the main idea she wants to communicate. Step two is asking herself who she is trying to communicate with and what context are they in. Step three is sketching out her ideas.People remember things better when they're flashier and more novel. We kind of ended up just porting newspapers into web format. But, the web is so much more powerful than it used to be, which gives us this fantastic opportunity to create unique experiences for people when communicating our ideas.HomeworkDo something unconventionalResourcesFullstack D3 and Data VisualizationWebsite GitHub repoGuest: Amelia WattenbergerTwitter: @WattenbergerGitHub: @WattenbergerWebsite: wattenberger.comHost: Kent C. DoddsWebsite: kentcdodds.comTwitter: @kentcdoddsGitHub: @kentcdoddsYouTube: Kent C. DoddsEpic React: epicreact.dev