Consume ➡️ Build ➡️ Teach

Rate this content
Bookmark

How do you level up? How do you jumpstart your learning when getting into something new? Nobody has more than 24 hours a day, so how do you maximize the impact of your limited time?


In this keynote, I'm going to tell you a bit of my own story, and some tips and tricks that I've learned so you can be as productive as you can be at learning new things and solidifying that knowledge so it's there when you need it.

This talk has been presented at React Summit 2020, check out the latest edition of this React Conference.

FAQ

The 'consume, build, teach' method is a learning strategy where one starts by consuming curated content to gather knowledge, then applies this knowledge by building projects, and finally solidifies understanding by teaching others about the learned concepts.

Early in his career, Kent C. Dodds created several projects including SpendMyCents.com, a web application for finding products on Amazon within a specific price range, and Infinite WPM, a fun typing tool that simulates extremely fast typing speeds.

Teaching helped Kent C. Dodds deepen his understanding of technologies and concepts he was working with. It also provided opportunities for recognition and career advancement, such as his involvement with Egghead.io after giving a talk that caught the attention of its co-founder.

Kent recommends resources such as Epicreact.dev and testingjavascript.com, along with engaging in community discussions on platforms like Discord, and participating in coding communities like Reactiflex.

The Genie.js project was significant as it was Kent's first open source library, created to handle an overflow of keyboard shortcuts by implementing an Alfred-like tool for web apps. This project impressed his colleagues and helped him secure his first full-time job at Domo.

Kent views teaching as a crucial step in the learning process. By teaching, individuals not only reinforce their own understanding but also expose gaps in their knowledge, which can lead to deeper insights and learning.

Kent C. Dodds advocates for a learning philosophy centered around the 'consume, build, teach' cycle. This approach emphasizes consuming information, building with the acquired knowledge, and teaching to solidify understanding and contribute to the community.

Kent C. Dodds
Kent C. Dodds
29 min
17 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
This video talk focuses on the 'consume, build, teach' method, a learning strategy that emphasizes consuming curated content, building projects, and teaching others to solidify understanding. Resources like Epicreact.dev and testingjavascript.com are recommended for learning JavaScript and React. The speaker highlights the importance of balancing learning and building, especially when exploring new technologies. Side projects like SpendMyCents.com and Infinite WPM are mentioned as practical examples of applying knowledge. Open source contributions, such as Genie.js, are also discussed as valuable learning experiences. The speaker encourages joining learning clubs and communities like Discord and Reactiflux for collaborative learning. Teaching is emphasized as a crucial step for deepening knowledge and identifying gaps in understanding.
Available in Español: Consume ➡️ Build ➡️ Teach

1. Introduction to Consume, Build, and Teach

Short description:

Hi everyone, my name is Kent C. Dodds and I'm so excited to talk with you about consume, build and teach. This is the way that I learn and from my observations in teaching other people about various topics, this is the best way that I've found to actually learn and solidify and be able to apply the things that you want to learn to upgrade yourself in your career. So this is some stuff about me. This is how I work for myself. I have testingjavascript.com and Epicreact.dev which you should absolutely take a look at. And you can find a link to my slides here. It's kcd.im slash cbt and that's consume, build, teach. And with that let's just go ahead and get started. This talk is my personal experiences, some things that I missed up, some things that I got right and how I recommend you focus your learning, how you structure your learning just kind of in a general way and also based on a previous talk that I gave called zero to 60 in software development, how to jumpstart your career. So I've taken out a couple of the career specific things and just focused totally on consume, build and teach which is a really important aspect for us upgrading ourselves in our career. So without any further ado, let's jump into it.

JavaScript for Web Design A course by Jonathan Atkinson A message by Christopher R. Mead ReactiveJS A course by Jonathan Atkinson A message by Christopher R. Mead A message by Jonathan Atkinson A message by Christopher R. Mead A course by Jonathan Atkinson A message by Christopher R. Mead A message by Jonathan Atkinson A message by Christopher R. Mead A message by Christopher R. Mead A message by Christopher R. Mead

Hi everyone, my name is Kent C. Dodds and I'm so excited to talk with you about consume, build and teach. This is the way that I learn and from my observations in teaching other people about various topics, this is the best way that I've found to actually learn and solidify and be able to apply the things that you want to learn to upgrade yourself in your career. So this is some stuff about me. This is how I work for myself. I have testingjavascript.com and Epicreact.dev which you should absolutely take a look at. And you can find a link to my slides here. It's kcd.im slash cbt and that's consume, build, teach. And with that let's just go ahead and get started. This talk is my personal experiences, some things that I missed up, some things that I got right and how I recommend you focus your learning, how you structure your learning just kind of in a general way and also based on a previous talk that I gave called zero to 60 in software development, how to jumpstart your career. So I've taken out a couple of the career specific things and just focused totally on consume, build and teach which is a really important aspect for us upgrading ourselves in our career. So without any further ado, let's jump into it.

Consume. So a little bit of a story from my past. When I was just getting started, I read a bunch of books. I actually worked at a company in San Antonio called USAA just as an intern for a summer. And I lived just south, I think south of the campus, and my office where my chair was was at the north side. The campus was a mile long, so it was a mile to campus and then a mile to the other side of the campus. And that whole time I was reading books. I would just grab a book from the library, maintainable JavaScript, this giant thick thing. At the time I was doing AngularJS, so I got an AngularJS book. Just tons of books as I was just getting into software development in general. I was still in school at the time.

2. Tips for Consuming Information and Learning

Short description:

Reading was a big help for me. Consume curated content from sources like epicreact.dev, testingjavascript.com, newsletters, podcasts, and more. Learn from others through water cooler chats, listening to engineers, open source projects, Stack Overflow, Twitter meetups, and conferences. Everyone learns differently, so apply different consumption methods based on your learning style. Once you've consumed enough information, start building.

And so I would read these books and fill my mind with tons of information. So this is one tip I actually don't read anymore, like at all, but this was really useful to me as I was just getting started into software development. And what it did for me was it exposed me to lots of different ideas that I never even considered, things that I didn't know, and it helped me get an idea of what was possible with this amazing thing that we call technology and writing software.

So reading was a big help for me. In general the idea is I want you to consume curated content. So things like epicreact.dev and testingjavascript.com, but also newsletters from Peter, awesome person, and ui.dev, that Bytes stuff, and then we've got React podcast. So podcasts, I've got my own newsletter, so I'll send you blog posts that I write. And then we've got Syntax FM. So really it's just consume as much information as you can. And what this does is it exposes you to what's possible, to the things that people are doing, to the opportunities and in particular with Epic React and testing JavaScript, I hope that it not only exposes you to what's possible, but also gives you the exercises and the tools that you need so that you can go beyond just consuming and actually building and even teaching. And I'll talk a little bit more about those aspects here in a little bit. But just in general, just fill your mind with what is happening in the ecosystem and what's possible with software.

So learn from others, water cooler chats, or during the pandemic, maybe Discord is a more appropriate place to just hang out and lurk a little bit, see what other people are talking about. When I was first getting into software, I worked at a company called Domo. I was actually still in school. And I would just listen to the other engineers in the building talking about the problems that they were facing. And I learned a huge amount of things from that. Maybe I didn't dive in deep, but I at least got an idea of what types of problems people are facing and what are the buzzwords that they're using that I can go and look up later. So yeah, pay attention to what other engineers are talking about, and then you can just have that kind of at the surface level of your mind so you can dive in deeper later. Open source is a huge opportunity for learning. So that's another area where you can just watch a repo and see how people solve different problems. You're not actually getting anything that you can maybe apply right away, but it's exposing you to different ways of thinking about problems. Even Stack Overflow, Twitter meetups, conferences, this is how we can learn from other people. George Evans once said, every student can learn, just not on the same day or the same way. So we have lots of different ways that we learn, and I would also suggest to you that you're not just a single-dimensional learner either. You learn from different mechanisms and different concepts, you learn in different ways. So maybe you think that you're a visual learner or you're a hands-on learner. No, you're actually both, and so you're going to want to apply the different consumption methods at different levels. You'll have your own recipe for consuming information and learning. So once you've consumed enough information, then you want to go out and build something.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Impact: Growing as an Engineer
React Summit 2022React Summit 2022
27 min
Impact: Growing as an Engineer
Top Content
This Talk explores the concepts of impact and growth in software engineering. It emphasizes the importance of finding ways to make the impossible possible and the role of mastery in expanding one's sphere of impact. The Talk also highlights the significance of understanding business problems and fostering a culture of collaboration and innovation. Effective communication, accountability, and decision-making are essential skills for engineers, and setting goals and finding sponsors can help drive career growth. Feedback, goal setting, and stepping outside of comfort zones are crucial for personal development and growth. Taking responsibility for one's own growth and finding opportunities for impact are key themes discussed in the Talk.
Fighting Technical Debt With Continuous Refactoring
React Day Berlin 2022React Day Berlin 2022
29 min
Fighting Technical Debt With Continuous Refactoring
Top Content
Watch video: Fighting Technical Debt With Continuous Refactoring
This Talk discusses the importance of refactoring in software development and engineering. It introduces a framework called the three pillars of refactoring: practices, inventory, and process. The Talk emphasizes the need for clear practices, understanding of technical debt, and a well-defined process for successful refactoring. It also highlights the importance of visibility, reward, and resilience in the refactoring process. The Talk concludes by discussing the role of ownership, management, and prioritization in managing technical debt and refactoring efforts.
AI and Web Development: Hype or Reality
JSNation 2023JSNation 2023
24 min
AI and Web Development: Hype or Reality
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
JavaScript Haikus: My Adventures in Tiny Coding
JS GameDev Summit 2023JS GameDev Summit 2023
27 min
JavaScript Haikus: My Adventures in Tiny Coding
This Talk is about writing super tiny JavaScript programs, known as tiny code. It explores the concept of code golf and the use of a live editor for instant feedback. The Talk discusses various ways to share tiny code, including Twitter.net. It also covers creating graphics, games, and sound in a small space. The speaker highlights inspiring tweets and showcases examples of tiny code, including asemic writing. The future of tiny code includes new techniques, better browser support, and AI-assisted programming.
Forget Bad Code, Focus on the System
React Summit US 2023React Summit US 2023
27 min
Forget Bad Code, Focus on the System
Top Content
Watch video: Forget Bad Code, Focus on the System
Setting up the system and separating concerns are important in software development. Modular construction and prefab units are a new trend that makes construction quicker and easier. Architectural complexity can lead to a drop in productivity and an increase in defects. Measuring architectural complexity can help identify natural modules in the code. Best practices for avoiding architectural complexity include organizing code by business domain and using prop drilling. Atomic design and organizing a monorepo are recommended approaches for managing architectural complexity.
Confessions from an Impostor
JSNation 2022JSNation 2022
46 min
Confessions from an Impostor
Top Content
The Talk discusses imposter syndrome and reframes it as being a professional imposter. It emphasizes the importance of sharing and starting, embracing imposterism, and building inclusively for the web. The speaker shares personal experiences of being an imposter in various technical disciplines and highlights the significance of accessibility. The Talk concludes with the idea of building a collective RPG game to remove excuses for not making things accessible.