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.

29 min
17 Jun, 2021

Video Summary and Transcription

Kent C. Dodds discusses the consume, build, and teach approach to learning and upgrading oneself in a software development career. He emphasizes the importance of consuming curated content, learning from others, and applying different learning methods. Kent shares his experiences in creating personal projects, building projects to understand technologies, and learning through projects. He highlights the power of teaching, the benefits of learning clubs, and the importance of balancing personal life and learning. Kent also introduces Epic React, his workshop-focused approach to teaching React.

Available in Español

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.

3. Creating Personal Projects

Short description:

If you have a development job, it's easy to know what to build. But if you don't or want to try new technologies, coming up with ideas or using the information you've consumed is important. Stephen R. Covey said, to learn and not do is not to learn. So I'll share a couple of things I created early in my career. SpendMyCents.com was a school project where you could search for products on Amazon based on a specific amount. It taught me a lot about interacting with APIs and the challenges of maintaining a jQuery codebase. Infinite WPM is still running and allows you to type super fast.

If you have a job, a development job, then that's actually pretty easy to know what you're going to build. You're just going to do the job that you have given to you. If you don't, or maybe you want to try out new technologies that you can't really do on the job, then coming up with ideas or just go and use the things that you've been consuming information about, this step is super important.

Stephen R. Covey said, to learn and not to do is really not to learn. To know and not to do is really not to know. So if you don't do anything with all that information you've consumed, I mean, it's great, maybe you can have a pseudo-intelligent conversation about those things that you've consumed. But if you haven't actually know or you don't understand what it is that this thing is that you've consumed, you want to produce, you want to create something.

So I want to tell you a couple of things that I created early on in my career. SpendMyCents.com, this is actually a school project. It's not up and running anymore. I think that my API keys died or something like that. Something went wrong. So this isn't up and running anymore, it was an amount and then it will search Amazon for products that are in that amount. You could scope it down to categories and stuff too. It was actually kind of fun. So if you had a gift card that had $36.17 on it, then you could search that and find exactly the thing you could do to use up your gift card. It was never like a real thing. I never made any affiliate bucks on this thing. But it taught me a lot. This was my first real web project. It was 100% jQuery. It had a Node backend that interacted with the Amazon's API. I just learned a silly amount of stuff while I was building this about interacting with APIs. Also, I learned how painful it can be to maintain a codebase that is 100% jQuery madness. That was a very difficult lesson to learn. So spendmysense.com was a lot of fun. Infinite WPM. This actually is still running and in fact, this is an iframe so I can actually use the app. Here, all this did was you could type super fast.

4. Building Projects and Learning Technologies

Short description:

I'll show you Infinite WPM, a project I built using Firebase. It allows you to type super fast and choose from a list of code defaults or submit your own. Building different projects helped me understand the technologies I was consuming.

Here, I'll show you. I got my keyboard. I could just type super duper fast and pretend that I'm a hacker. So I've got infinite words per minute. I accidentally did fullscreen. There we go. Ah! Oh my goodness. Spoiler alert. There we go. So, there it is. And another really cool thing about this is you could choose from a list of code defaults and you could even submit your own. So, here I could submit my own thing. This is react-summit and react-summit-rocks and this... Let's see. Horns. The sign of the horns. Yeah. All right, add that and then we'll click on react-summit and now, boom, boom, boom, boom. We have minified react or something like that. So, that's actually using Firebase and it's amazing to me that this thing still works. But from Infinite WPM, I learned this was the first project that I ever used Firebase with and I was just playing around. I was like, I need to learn how to use Firebase because I've got this other school project that I'm doing. So, I'm just going to throw together this little app just for the fun of it. I actually did end up using this for reals in a project at work at USAA. And it was super kind of interesting and fun. And so, the projects that you can work on to solidify and get an understanding of the different things that you've consumed can actually be a huge amount of fun. I use Firebase for this and I pretty much just wanted to show this because it's stored on our secure servers, the hubris of me. This is also just a Firebase thing, this was just for some club stuff that I was doing at school. And I was able to interact with CSV data and parse that. And just building a lot of different little projects helped me get an understanding of these technologies that I was consuming in my mind.

5. Learning through Projects and Technologies

Short description:

This project allowed users to see auto-complete suggestions from Google and Bing using WebSockets and Socket.io. It involved interacting with fake APIs to understand how suggestions work. Building projects is a great way to learn and explore new technologies like Docker.

This is another one that's really cool. It's no longer working, but I asked you to type in some word in here and it would show you what Google or Bing would auto-complete that to. So why did Facebook or why did The Woodcheck and it'll show you what Google and Bing would auto-complete that to. This one was using WebSockets and this is where I learned how to use Socket.io. This is where I learned what WebSockets even were. I also interacted with APIs that weren't actually real APIs, just fake APIs that I kind of looked at the network and figured out how the suggestions work. Which is why I think it doesn't work anymore. This was a good time and really all I'm saying is you want to put projects together to learn about these different things that you consume. You're like, oh I heard about this thing called Docker and I want to learn what that thing is because it seems like a pretty hot thing. So I'm gonna go do something, build something and use Docker to do it.

6. Story of Genie.js and Building Side Projects

Short description:

Genie.js is the first open-source library I created years ago. It started because we ran out of keyboard shortcuts in our app at Domo. I made Alfred for the web, which is what Genie.js is all about. Integrating it into our app at Domo impressed the engineers and led to my first full-time job offer. Even side projects can get you noticed by the right people. I accidentally committed it directly to master, but as Grace Hopper said, 'If it's a good idea, it's much easier to apologize than it is to get permission.' So go out and build something without waiting for permission.

This one has a fun little story. Genie.js is actually used in Code Sandbox now. But this was the first open source library that I ever created years ago and I created it because we ran out of keyboard shortcuts in our app at Domo. And I thought, you know what? When I'm on my Mac, I don't use keyboard shortcuts. I use Alfred or it's like Spotlight. And I just type, you know, and I don't just have like a million keyboard shortcuts I mean, sure, there are those. But it gets pretty complicated when you get past, you know, a couple dozen of those like the keyboard shortcuts, stop making sense. And so I made Alfred for the web and that's what Genie.js is all about. And this is actually how I got my first full-time job. I integrated this into our app at Domo for a hack night and the engineers there were so impressed. Merrick Christensen is a good friend of mine. He was working with me. I owe him so much. And he brought the CEO over and said, hey, check out what this intern did. And that night I got my job offer, which is pretty legit. That was a good time. So, yeah, even these side projects can get you noticed by the right people if you're lucky. And that was a pretty cool experience. And I also accidentally committed that directly to master. So I included this quote from Grace Hopper. If it's a good idea, It's much easier to apologize than it is to get permission. Now maybe you don't just commit stuff to master. I actually did it on accident and I pushed it. It got deployed. We had Genie.js in our app without any peer reviews or anything. But pretty much all I'm saying is you don't have to get permission to go out and build something. Maybe you don't put it into your product at work without getting permission. But go build something. Do it. Just do it.

7. Persistence, Community, and Teaching

Short description:

Persistence offers no guarantees, but it gives luck a chance to operate. You may fail, but you'll learn a huge amount in the process. Communities like Discord and Reactiflex can help us be successful. Once you've consumed information and built something, teach what you've learned. I learned a lot more about AngularJS by teaching my classmates.

Another quote here. While persistence offers no guarantees, it does give luck a chance to operate. So do it and you're going to hit your head against the wall and you're going to fail. And it's not going to be fun, but you can make this work. And you just keep on working at it and eventually, luck will operate, hopefully, in your favor and you'll learn something. You may not succeed and build the next facebook.com or anything, but you'll learn a huge amount in the process.

And this quote needs to be followed by this next quote or by this future quote here. I've not failed. I've just found 10,000 ways that won't work, Thomas Edison. It takes a lot of persistence, but, don't spend time beating on the wall hoping to transform it into a door. Sometimes, you need to stop and just get some help from somebody. And that's where these communities like Discord, I have the KCD Discord, that is an awesome community. There is Reactiflex. These communities can help, are places where we can help each other to be successful in whatever it is that we're trying to build.

And that actually leads us into our next point, spoiler alert, which is about Teach. So, once you've consumed a bunch of information, now you've built something with that information, now you've got to teach the stuff that you learned in the process of building. Those who know, do. Those that understand, teach. From Aristotle. So, a couple of experiences from my own life. As I was learning AngularJS and started doing some stuff on the job, I decided I wanted to put together something for my classmates. I was still in school. I wanted to put something together for my classmates to teach them AngularJS. And so I did. I contacted Firebase, and I said hey, Firebase, I can tell a lot of my classmates about you if you just buy us some pizza. It was like $100 or something and Firebase was like, yeah, sure, we're a growing company, we're new. You may not recognize that logo, but that was Firebase's old logo. And they sent us stickers and hot sauce and stuff and even like earbuds and stuff. And I got a bunch of people over there to learn AngularJS with me. And I, in the process of creating and adapting some material to teach this, I learned a lot more about AngularJS than I ever would have if I just built my thing and then moved on to the next thing.

8. Getting into Egghead and the Power of Teaching

Short description:

I got into Egghead by giving a talk at a meetup and it transformed my life. Teaching is my secret to solidifying my understanding. When you teach, you'll realize the gaps in your understanding and learn new things. Teaching also allows you to create new things and gain more experience. Open source, writing blog posts, and learning clubs are great ways to teach and learn.

Also, how I got into Egghead, which totally transformed my life, was I gave a talk at a meetup called JSON Web Tokens, Not Your Grandma's Cookies. And this was recorded and put on YouTube and John Lindquist saw it and thought it was pretty cool and wanted to make a course out of it. And so that transitioned into him inviting me to make this course. And then I became an Egghead instructor and that like just made huge changes for me. So another situation where doing a little bit of extra work opened up a really awesome opportunity for me.

But aside from all that, I really solidify my understanding of something when I teach it. And this is like my big secret. My whole process of all of the teaching stuff that I've done is just my learning process. And that is hopefully something that you can take home from this talk is if you really wanna get something down, you really wanna nail it down, you wanna understand it, then don't just consume a bunch of information. Don't just build little apps. Actually teach the stuff that you're learning because that is how you're going to remember the stuff that you've learned. Ashley G. Williams said, teaching is nature's way of letting you know how sloppy your understanding is. This is so true, like you go in to teach something and somebody asks you a question, you're like, oh, I actually don't know that. Let me figure that out and I'll tell you later. Or as you're preparing the material, things end up not working the way that you thought they did. This happens to me all the time. I actually pretty frequently make an open source library based on something I'm teaching. I'm like, there are some details here that aren't relevant to what I'm trying to teach but I have to do all this stuff to get to the part that I'm trying to teach. So actually I'll just make this library that I can focus on the thing I'm teaching. Lots of my libraries came from that. Actually React Testing Library kind of came from that. So teaching is also a mechanism for creating new things which will give you even more experience. So a couple ideas for this. Open source, maintaining or co-maintaining an open source project is an opportunity for you to share some things with your fellow learners. Writing blog posts, screencasts, there are so many things you can do to teach the things you're learning. If one of these doesn't work super well for you, try another one. You do need to teach. Here's one other suggestion I make for learning. That is learning clubs.

9. The Power of Learning Clubs

Short description:

The idea of learning clubs is to have a group of people who want to learn the same stuff and come together to go through a curriculum, helping each other understand the material. It's a great way to teach as it requires re-evaluating and restating what you're learning. Check out the book 'Make It Stick' for more ideas. Visit kcd.im/clubs to learn more and join a learning club. Epic React is designed for this type of learning.

It's dangerous to go alone. Take these. These are friends. This is a learning... The idea of learning clubs is you have a group of people who want to learn the same stuff, and so they come together and they go through this curriculum, whatever that curriculum is, and then they help each other get an understanding of whatever it is that you're trying to learn. This is actually a really great way to teach because it requires that you re-evaluate or re-state the stuff that you're learning. Lots of ideas from a book called Make It Stick, which I strongly recommend you go and grab a copy of that book if you haven't read or listened to that already, super book, but lots of those ideas are just kind of embedded naturally in this idea of a learning club. If you want to learn more about this, go to kcd.im.clubs and I can facilitate getting you and a group of other people who want to learn the same thing together so that you can consume, build, and teach together. Stuff like Epic React is just totally catered and built to facilitate this type of learning which will really solidify the concepts for you.

10. Final Thoughts and Resources

Short description:

Don't be afraid to try. My father-in-law, John Jesse, believes it's more important to be a hard worker and nice. Focus on making the world a better place. Use your skills to make a difference. Take care of the planet and each other. Here are some resources for further learning.

I know I'm just about up on time so I just want to say the last couple of things. Don't be afraid to try. Just give it a shot. You'll always miss 100% of the shots you don't take. So give that a shot. Then one last thing here. My father-in-law, John Jesse, he likes to ask the question, hey Kent, is it more important to be smart or a hard worker? and he asserts that it's more important to be a hard worker. And then he says, is it more important to be a hard worker or to be nice? And he says that it's more important to be nice, and I agree with him. I think that it's just so critical that we focus our efforts on trying to make the world a better place. There are plenty of people in the world already who are just making it miserable for everybody else. We don't need any more of those types of people. We have the tools and the skills and the capabilities to make the world better than it would be if it weren't for us. And so it doesn't matter if you learn everything and if you consume and build and teach all of this stuff. If you're not using your skills to make the world a better place, I don't care. I think it's really important that we take care of our planet, take care of each other and work hard to make the world a better place. And I'm happy to participate in that with you. Thank you very much. Here are some resources, link to the slides, a bunch of other links to different things that you can learn about from me. And that's all I have for you. I hope you have a rock solid conference.

11. Introduction to Epic React

Short description:

Hi Ken! Oh my God! What is that that you're holding? This is a koala named Cody, my teacher's assistant on Epic React Dev. Epic React is my effort to make the world a better place by teaching people how to make quality software, specifically with React. It's a workshop-focused approach with eight workshops, like a semester-long class. One learning style that doesn't work for me is just consuming information through videos or tutorials. Epic React is exercise-challenge-focused to avoid tutorial purgatory. Fun question: Have you tried using your Autocomplete project to ask, 'Why is Kent C Dodds?'

Hi Ken! Oh my God! What is that that you're holding? So this is a koala. His name is Cody. Hi Cody! I'm my teacher's assistant on Epic React Dev. And that's actually the shirt I'm wearing. It's Epic React. So Cody is just in the code comments helping people go through Epic React. Anybody who's gone through Epic React will know Cody and love Cody very much.

That's amazing. Can you tell me a little bit more about Epic React? Yeah. So Epic React is my effort at trying to make the world a better place by teaching people how to make quality software. Specifically with React. And it's a totally different approach to teaching people React. It's very workshop-focused. It's a set of eight workshops. It's basically best compared to a semester long class. Like, a three credit course at a university. So it's really, really big. And people seem to like it.

Amazing. You talked a little bit in your talk about different learning styles and how you're more of a doer. Are there any learning styles that you know don't work for you? And how did you figure that out? Yeah, I think probably one of the most common learning styles that really just don't work is sitting in front of your computer or in front of your TV watching videos and just consuming that information or sitting at your computer reading tutorials all the time. I find a lot of people get into this tutorial purgatory thing where they're just constantly going through tutorials and never actually learning anything. And that's actually why Epic React is so workshop-focused and exercise-challenge-focused. You spend at least four more times working on exercises and stuff than you do actually watching videos there. That's awesome. This is a fun question. Have you ever tried using your Autocomplete project to ask, Why is Kent C Dodds? and see what comes up? I wish that it still worked because now I'm curious. I could just go to Google right now and find out what Google has to say about me. I don't know if we want to do that live, just in case. A question from the audience.

12. Balancing Personal Life and Learning

Short description:

Balancing learning, stuff, and teaching has always been a part of my job. Any manager that's worth their weight would absolutely want to have that knowledge sharing. You have to get your work done, but that's where you develop it. It's consumed, build, and teach.

How do you balance your personal life with work, learning and teaching? I think that learning is your job as a professional. Balancing learning, stuff and teaching has always been a part of my job. I haven't had a manager yet who wasn't super jazzed about me teaching this stuff that I'm learning to my fellow engineers. Any manager that's worth their weight would absolutely want to have that knowledge sharing. It never really was a balance. You have to get your work done. You can't just spend all of your time learning and teaching. But that's where you develop it. It's consumed, build, and teach. What you're teaching is based on the things that you build. You build something for the product, and then you go teach it.

13. Balancing Learning and Exploring Tech

Short description:

As someone newer in the industry, balancing learning for immediate work and exploring new tech can be overwhelming. Focusing on one technology, like JavaScript, can lead to success and opportunities. Don't underestimate the value of teaching, even as a beginner. Your unique perspective and skills are valuable. Join Kent in the Zoom room for more questions and find out the answer to the trivia question.

The audience also asked, as someone newer in industry with a little bit of imposter syndrome, what would be your advice about balancing learning the tech for your immediate work and career versus exploring new tech and training without feeling super overwhelmed? Yeah, I feel like I've blogged about this. I have a lot of blog posts, like 170 blog posts. So go check that out. But I think that one of the things that I decided to do early on was make a bet. And I bet on JavaScript. So I just totally focused 100 percent of my attention on JavaScript. When I found AngularJS, I just was like, okay, I do JavaScript, but I'm gonna focus even further on AngularJS. And then I switched over to React, and now I focus on React. And I know that there's a lot of benefit to being a polyglot programmer. You just know everything, you know surface level of everything. But I think that, for me, I just found a lot of success being the person that everybody thought of when they thought of AngularJS. When I was in school, I was teaching people how to use AngularJS. And so after we all graduated, I had a classmate who needed an Angular developer. And who do you think they thought of? They thought of me, because I was the Angular guy. And so it really ended up working out nicely for me to focus. And then another thing that I'll mention that's related here is, a lot of people, when they're just getting started, don't feel like they have a lot to offer by way of teaching. And I just want to tell you that's bunk. That is not true. You totally have stuff to offer. In fact, you have things to offer that I can't offer because I have the curse of knowledge. I've been doing this for long enough that I can't do the things that you can do. So we need your voice, and we need your teaching. So definitely don't feel like you're inexperienced and can't teach anybody anything because that's ridiculous.

Yeah, that's awesome and very inspiring. If you have more questions for Kent, he will also have a Zoom room right after this. The link is on the live. Just because we're running out of time here, but you can always go there. I also want us to find out the answer to the trivia question. Drumroll, please. Thank you so much, Kent, for all your inspiration and for your talk, and hopefully people can see you in the Zoom room. I'll see you all there.

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

React Summit 2022React Summit 2022
27 min
Impact: Growing as an Engineer
Top Content
Becoming a web engineer is not easy, but there are tons of resources out there to help you on your journey. But where do you go from there? What do you do to keep growing, and to keep expanding the value you bring to your company? In this talk we’ll look at the different kinds of impact you can have as a web engineer. We’ll walk through what it means to take on bigger, more complex projects, and how to scale yourself, and grow the community around you. By driving our own development we can all grow our impact, and in this talk, we’ll discuss how to go about this.
React Day Berlin 2022React Day Berlin 2022
29 min
Fighting Technical Debt With Continuous Refactoring
Top Content
Let’s face it: technical debt is inevitable and rewriting your code every 6 months is not an option. Refactoring is a complex topic that doesn't have a one-size-fits-all solution. Frontend applications are particularly sensitive because of frequent requirements and user flows changes. New abstractions, updated patterns and cleaning up those old functions - it all sounds great on paper, but it often fails in practice: todos accumulate, tickets end up rotting in the backlog and legacy code crops up in every corner of your codebase. So a process of continuous refactoring is the only weapon you have against tech debt. In the past three years, I’ve been exploring different strategies and processes for refactoring code. In this talk I will describe the key components of a framework for tackling refactoring and I will share some of the learnings accumulated along the way. Hopefully, this will help you in your quest of improving the code quality of your codebases.
JSNation 2023JSNation 2023
24 min
AI and Web Development: Hype or Reality
In this talk, we'll take a look at the growing intersection of AI and web development. There's a lot of buzz around the potential uses of AI in writing, understanding, and debugging code, and integrating it into our applications is becoming easier and more affordable. But there are also questions about the future of AI in app development, and whether it will make us more productive or take our jobs.
There's a lot of excitement, skepticism, and concern about the rise of AI in web development. We'll explore the real potential for AI in creating new web development frameworks, and separate fact from fiction.
So if you're interested in the future of web development and the role of AI in it, this talk is for you. Oh, and this talk abstract was written by AI after I gave it several of my unstructured thoughts.
JS GameDev Summit 2023JS GameDev Summit 2023
27 min
JavaScript Haikus: My Adventures in Tiny Coding
Discover the art of crafting extremely small JavaScript programs. In this talk you’ll learn principles and techniques behind crafting compact yet powerful scripts that are shorter than this description! Dive into the captivating world of minimalist coding, where we use these scripts to conjure art, games, tools, and a myriad of intriguing experiments.
JSNation 2022JSNation 2022
46 min
Confessions from an Impostor
Top Content
You know what impostor syndrome is, right!? Most all of us have felt that nagging feeling that we're faking it and that we're sure to be found out by all the experts around us at any moment.But before you go assuming this talk is the same ol' song and dance full of platitudes that encourage you to ignore that syndrome, let me clue you in on a little secret: there's no experts around you. Impostorism is not a syndrome at all, it's a pragmatic mindset and perspective, one we should all embrace and be proud of. In fact, it's vital to us getting our jobs done.
React Summit Remote Edition 2021React Summit Remote Edition 2021
34 min
Lessons To Outlive React
Top Content
There was a time before React, and there will be life after. If you tie yourself too closely to any technology, you might trap yourself and miss the next wave. Let's zoom out from the state management library du jour — what timeless lessons can we learn from React? In the talk I'll discuss lessons I've learned from studying React that I will take with me for the rest of my career.