Chats with Kent C. Dodds

de Kent C. Dodds

Kent C. Dodds chats with developers.

Episodios

Tiger Abrodi Chats About Advancing Your Skills

por Kent C. Dodds

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.


Homework

  • Take 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 goals

Guest: Tiger Abrodi

Host: Kent C. Dodds

Jhey Tompkins Chats About Building Awesome Demos

por Kent C. Dodds

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.


Homework

  • Start keeping a list of every random idea that you have. Use the list for project inspiration

Resources

Guest: Jhey Tompkins

Host: Kent C. Dodds

Mark Dalgleish Chats About Vanilla Extract

por Kent C. Dodds

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!


Homework

Resources

Guest: Mark Dalgleish

Host: Kent C. Dodds

Scott Moss Chats About Time Management

por Kent C. Dodds

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!


Homework

  • Sit 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 Moss

Host: Kent C. Dodds

Josh Comeau Chats About Gaining a Reputation

por Kent C. Dodds

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.


Homework

  • Take an hour to draft a blog post in markdown without worrying about how you are going to build your website.

Resources

Guest: Josh Comeau

Host: Kent C. Dodds

Josh Comeau Chats About Effective Learning

por Kent C. Dodds

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!


Homework

  • After 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 it

Resources

Guest: Josh Comeau

Host: Kent C. Dodds

Stephan Meijer Chats About Side-Projects

por Kent C. Dodds

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.


Homework

  • Take 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 direction

Resources

Guest: Stephan Meijer

Host: Kent C. Dodds

Tracy Lee Chats About Positivity

por Kent C. Dodds

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.


Homework

  • Thing of a specific positive thing and share it with somebody!

Resources

Guest: Tracy Lee

Host: Kent C. Dodds

Sandrina Pereira Chats About Accessibility

por Kent C. Dodds

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.


Homework

  • Implement one of the following options in your app:
  • Disable all of the CSS and see if your app still makes sense visually
  • Use your app in direct sunlight. Spot any contrast issues
  • Navigate your app with only a keyboard
  • Blindfold yourself and try using your app with a screen-reader

Resources

Guest: Sandrina Pereira

Host: Kent C. Dodds

Ian Sutherland Chats About Improving Developer Experience

por Kent C. Dodds

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.


Homework

  • Automate a tedious task that you have to do often

Resources

Guest: Ian Sutherland

Host: Kent C. Dodds

Ian Sutherland Chats About Getting Involved In Open-Source

por Kent C. Dodds

"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.


Homework

  • Next time you are hesitant to try something new, try starting smaller!

Resources

Guest: Ian Sutherland

Host: Kent C. Dodds

Vlad Magdalin Chats About The No-Code Movement

por Kent C. Dodds

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.


Homework

  • Teach a non-coder one coding related topic without using code

Resources

Guest: Vlad Magdalin

Host: Kent C. Dodds

Taylor Bell Chats About Effective Teaching

por Kent C. Dodds

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!


Homework

  • Think of something that you could teach to somebody else, and try to frame it in the three stages of UBD. Email Taylor your homework - taylor@egghead.io

Resources

Guest: Taylor Bell

Host: Kent C. Dodds

Daria Caraway Chats About Having a Generalist Skillset

por Kent C. Dodds

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.


Homework

  • Take 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 direction
  • Talk to your manager about your career goals

Guest: Daria Caraway

Host: Kent C. Dodds

Daria Caraway Chats About TypeScript

por Kent C. Dodds

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!


Homework

  • TypeScript 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 Caraway

Host: Kent C. Dodds

Michael Jackson Chats About Remix

por Kent C. Dodds

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.


Homework

Resources

Guest: Michael Jackson

Host: Kent C. Dodds

Lydia Hallie and Evan Bacon Chat About Leveling Up Your JS

por Kent C. Dodds

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.


Homework

  • Take 30 minutes to dive deeper and try to understand how a tool you use works under the hood.

Resources

Guest: Lydia Hallie

Guest: Evan Bacon

Host: Kent C. Dodds

Titus Wormer Chats About Natural Language Processing Tools

por Kent C. Dodds

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!


Homework

Resources

Guest: Titus Wormer

Host: Kent C. Dodds

Titus Wormer Chats About ECMAScript Modules

por Kent C. Dodds

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.


Homework

Resources

Guest: Titus Wormer

Host: Kent C. Dodds

Will Johnson Chats About Landing a Job in Tech

por Kent C. Dodds

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.


Homework

  • Find 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.

Resources

Guest: Will Johnson

Host: Kent C. Dodds

Ryan Florence Chats About Remix

por Kent C. Dodds

Modern 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 page

As 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.


Homework

Resources

Guest: Ryan Florence

Host: Kent C. Dodds

Cher Scarlett Chats About The Consequences of Modern Software

por Kent C. Dodds

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.


Homework

Guest: Cher Scarlett

Host: Kent C. Dodds

Joel Hooks Chats About Standout Developer Portfolios

por Kent C. Dodds

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 portfolio


Homework

  • Spend 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.

Resources

Guest: Joel Hooks

Host: Kent C. Dodds

Maggie Appleton Chats About Creating Effective Visual Metaphors

por Kent C. Dodds

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!


Homework

  • Spend 10 minutes brainstorming metaphors for a website that you want to build or something else that you're building right now.

Guest: Maggie Appleton

Host: Kent C. Dodds

Michael asks Kent about his site rewrite

por Kent C. Dodds

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!


Homework

  • Stay Curious
  • Checkout remix

Guest: Michael Chan

Host: Kent C. Dodds

Tanner Linsley Separates UI State And Server State

por Kent C. Dodds

CTA: Take inventory of your state. What is UI state and what is 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.


Resources

Tanner Linsley

Kent C. Dodds

Serene Yew Provides Mentorship

por Kent C. Dodds

CTA: Reach out to a local college and ask about mentorship programs or attend a meetup and find a mentee.

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.


Serene Yew

Kent C. Dodds

Saron Yitbarek's Path Into Tech

por Kent C. Dodds

CTA:

  • Start 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.

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.


Resources

Saron Yitbarek

Kent C. Dodds

Preethi Kasireddy Reinvents Herself

por Kent C. Dodds

CTA: Go back and think about dreams you had as a child and re-evaluate those dreams now.

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.


Preethi Kasireddy

Kent C. Dodds

Michael Chan Encapsulates State

por Kent C. Dodds

CTA: Take one of your small css-in-js components and use regular css to back it up.

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.


Michael Chan

Kent C. Dodds

Michael Chan Teaches You How To Break Into The Industry

por Kent C. Dodds

CTA: Sit 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.

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.

Resources

Michael Chan

Kent C. Dodds

Justin McMurdie Breaks Apps Into Micro-Services

por Kent C. Dodds

CTA: Watch the single-spa intro video

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.


Resources

Justin McMurdie

Kent C. Dodds

Talia Nassi on Testing in Production

por Kent C. Dodds

CTA: Watch Talia's talk and read her blog post

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.

Resources

Talia Nassi

Kent C. Dodds

Dr. Michaela Greiler Makes Code Reviews Your Team's Superpower

por Kent C. Dodds

CTA: Watch 10 Tips for Respectful and Constructive Code Review Feedback then take a previous code review you gave and critique your own review.

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 review. 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 this 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"


Resources

Michaela Greiler

Kent C. Dodds

Courtney McCleve On Developing Empathy

por Kent C. Dodds

CTA: Attend an event (like a meetup) where you're a little outside of your comfort zone. Or when you're at a meetup, talk with people who you don't typically talk with.

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.


Resources

Courtney McCleve

Kent C. Dodds

Amelia Wattenberger Breaks The UX Mold

por Kent C. Dodds

CTA: Do something unconventional.

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.

Resources

Amelia Wattenberger

Kent C. Dodds

Alex Anderson Creates Web-Based Spaceship Controls

por Kent C. Dodds

CTA: Set a timer for 10 minutes and write down what thing you would like to accomplish which you can do in small and simple actions over time.

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.


Resources

Alex Anderson

Kent C. Dodds

Laurie Barth Chats With Kent About Growing Outside Of Your Comfort Zone

por Kent C. Dodds

Homework: Try 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.

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.

Transcript

"Laurie Barth Chats With Kent About Growing Outside Of Your Comfort Zone" Transcript

Resources

Laurie Barth

Kent C. Dodds

Eve Porcello Chats With Kent About Sustainably Expanding Skills

por Kent C. Dodds

Homework: Think of one goal you have and take 10 minutes to break it down into smaller chunks!

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.


Transcript

"Eve Porcello Chats With Kent About Sustainably Expanding Skills" Transcript

Resources

Eve Porcello

Kent C. Dodds

Ken Wheeler Chats With Kent About Going For Challenging Opportunities

por Kent C. Dodds

Homework: Write down three things that you've been holding back on. Choose one of those things and write down the steps that you can take to accomplish that!

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.


Transcript

"Ken Wheeler Chats With Kent About Going For Challenging Opportunities" Transcript

Resources

Ken Wheeler

Kent C. Dodds

Erik Rasmussen Chats With Kent About Maintaining Open-Source Libraries

por Kent C. Dodds

Homework: Release some open-source software!

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 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.


Transcript

"Erik Rasmussen Chats With Kent About Maintaining Open-Source Libraries" Transcript

Resources

Erik Rasmussen

Kent C. Dodds

Angie Jones Chats With Kent About Automated Visual Testing

por Kent C. Dodds

Homework: Go through Angie's Visual Testing Course: Automated Visual Testing: A Fast Path To Test Automation Success

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!


Transcript

"Angie Jones Chats With Kent About Automated Visual Testing" Transcript

Resources

Angie Jones

Kent C. Dodds

Nader Dabit Chats With Kent About Keeping An Optimistic Mindset

por Kent C. Dodds

Homework: Take at least a minute or two every single day for a week and write one thing that you're optimistic about.

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.


Transcript

"Nader Dabit Chats With Kent About Keeping An Optimistic Mindset" Transcript

Resources

Nader Dabit

Kent C. Dodds

Kelly Vaughn Chats With Kent About Personal Finance

por Kent C. Dodds

Homework: Figure out where your money has been going the last three months and then create a budget using an app like You Need A Budget, a notebook, or a spreadsheet!

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.


Transcript

"Kelly Vaughn Chats With Kent About Personal Finance" Transcript

Books

Budget Services

Print and Ship

Kelly Vaughn

Kent C. Dodds

Jen Luker Chats With Kent About Finding Inspiration From Anywhere

por Kent C. Dodds

Homework: Watch at least one of the talks linked below!

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.


Transcript

"Jen Luker Chats With Kent About Finding Inspiration From Anywhere" Transcript

Resources

TEDxBeaconStreet: Knitting is Coding; Lindiwe Matlali
TEDxRiga: Crocheting Hyperbolic Planes; Daina Taimina
TED: A delightful way to teach kids about computers; Linda Liukas

Jen Luker

Twitter
Github
Website
Strongish Fiber
LinkedIn

Kent C. Dodds

Website
Twitter
Github
Youtube
Testing JavaScript

Henry Zhu Chats With Kent About The Responsibilities Of A Maintainer

por Kent C. Dodds

Homework: Find a way to do one thing to contribute to open source without writing any code!

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.


Transcript

"Henry Zhu Chats With Kent About The Responsibilities Of A Maintainer" Transcript

Resources

Henry Zhu

Kent C. Dodds

Jenn Creighton Chats With Kent About Avoiding An "Apropcolypse"

por Kent C. Dodds

Homework: Document it before you write your next component!

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.

Transcript

"Jenn Creighton Chats With Kent About Avoiding An 'Apropcolypse'" Transcript

Resources

Jenn Creighton

Kent C. Dodds

Bianca Gandolfo Chats With Kent About Lifestyle Design

por Kent C. Dodds

Homework 1: The first is relevant to what we just wrapped up talking about and that is to keep a self-awareness journal for seven days. Every night, write down the feelings that you had that day, stress, anxiety, depression, happiness, excitement or the feelings that you had.

Homework 2: Take 15 minutes every day to work toward a goal and just try it for a week and see how you feel about that.

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 managable, 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 acheivable bite sized chunks that they work on for 15 minutes a day during morning coffee. You can do this yourself too!


Transcript

"Bianca Gandolfo Chats With Kent About Lifestyle Design" Transcript

Resources

Bianca Gandolfo

Kent C. Dodds

Lindsey Kopacz Chats With Kent About A11y

por Kent C. Dodds

Homework: Install and use the AXE Chrome extension!

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 labels
  • Use alt text in your images
  • Don't leave buttons and links empty
  • Use buttons and links appropriately
  • Test your site with a screenreader
  • Navigate your website with the tab key

Transcript

"Lindsey Kopacz Chats With Kent About A11y" Transcript

Resources

Lindsey Kopacz

Kent C. Dodds

Lessons Learned From Four Major Projects with Shirley Wu

por Kent C. Dodds

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.


Resources

Shirley Wu

Kent C. Dodds

Getting Started With Code Live-Streaming With Suz Hinton

por Kent C. Dodds

Suz started streaming because she wanted to show pepole 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 up front 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!


Resources

Suz Hinton

Kent C. Dodds

You Can Learn A Lot For The Low Price Of Your Ego With Shawn Wang

por Kent C. Dodds

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!


Resources

Shawn Wang

Kent C. Dodds

Become Intentional With Your Time With Scott Hanselman

por Kent C. Dodds

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!


Resources

Scott Hanselman

Kent C. Dodds

There Aren't Any Shortcuts To Expertise With Sara Vieira

por Kent C. Dodds

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.


Resources

Sara Vieira

Kent C. Dodds

A Few Excellent Reasons For Why Should Give GraphQL A Try With Peggy Rayzis

por Kent C. Dodds

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.


Resources

Peggy Rayzis

Kent C. Dodds

The State Of WebAssembly With Lin Clark and Till Schneidereit

por Kent C. Dodds

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.


Resources

Lin Clark

Till Schneidereit

Kent C. Dodds

Funding Open-Source Maintainers Using Ethical Advertising With Eric Berry

por Kent C. Dodds

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.


Resources

Eric Berry

Kent C. Dodds

Creating Successful Mentor Relationships With Emma Bostian

por Kent C. Dodds

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. Kent advises to keep your HTML, CSS, and JavaScript skills sharp, learn the abstractions you are using so you can talk about them intelligently, and remember that you are interviewing the company as well!

Resources

Emma Bostian

Kent C. Dodds

Make Your Apps Resilient UsingFinite State Machines With David Khourshid

por Kent C. Dodds

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.

This episode's call to action is to take whatever feature you are working on and model it out in your head as a finite state machine, this can help you find potential bugs and also could lead you to implement a finite state machine style solution to avoid those bugs.


Resources

David Khourshid

Kent C. Dodds

A Rundown Of What's Next For React With Dan Abramov

por Kent C. Dodds

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.


Resources

Dan Abramov

Kent C. Dodds

Realigning Your Model of React After Hooks With Dan Abramov

por Kent C. Dodds

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 aproximation of this mental model.


Resources

Dan Abramov

Kent C. Dodds

Establishing Your Personal Brand With Cassidy Williams

por Kent C. Dodds

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.


Resources

Cassidy Williams

Kent C. Dodds

Growing Your Skills And Career Through Teaching with Ali Spittel

por Kent C. Dodds

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.


Resources

Ali Spittel

Kent C. Dodds