egghead Lessons Have Context
An egghead lesson is a precise discussion of a single topic. It stands alone. It has no side effects. It is like a pure function.
We want the student to walk away with a better understanding of concept the lesson is focused on. We want to increase their vocabulary and show them a solid high quality example. We put together this playlist of lessons that fit the bill. They are all different, but great in their own right. We aren't here to cramp your style, but we want to collaborate and present your style and your knowledge in the egghead way.
The Lesson Context
Teaching anything can be challenging.
Where do we start? What can we assume the student knows?
We can't teach everything.
Watch this video, as it represents the core of what an egghead lesson is:
This video doesn't explain "why?" you might need a Cheesecake-Stuffed Cookie Cake. It jumps right in and shows us step one. There are infinite varieties of reasons we might need a Cheesecake-Stuffed Cookie Cake. Maybe we have a party to attend. Maybe it's for dessert after dinner. Maybe we are sad and are prepping a Breaking Bad binge watching session and need a little something to snack on. Who knows? The less assumptions the video makes, the better.
It also doesn't tell you why you need cream cheese, sugar, cookie dough, a mixer, a bowl, a pie plate, an oven... We can assume that the instructions are accurate, because there is a certain amount of trust.
We definitely need to have a basic understanding of what these ingredients are, but imagine a world where YouTube videos explained first principles of every ingredient. That would suck. If the video is over our heads - "wait, what is that spinning device that is agitating all of the ingredients?!?!" - it's on the student to take a pause and do a bit of research.
The text description is also an excellent location to provide additional context and references. Links to purchase ingredients, tools, or to learn prerequisites such as measuring and using an electric mixer.
Right now you're reading a document that describes in some detail how you should create egghead.io lessons. It's a style guide, and consistent style is important.
Your voice is more important.
This style guide is not intended to stifle your voice. We want you to be you! What this means in a practical sense is that you can consider your egghead lessons to be a conversation with a co-worker at your desk or over a screenshare. We just want that tightened up, like we've got all the pleasantries out of the way and let's get to the point of the conversation.
Why are we here?
Who knows! We know that the student wants to learn. We want to teach. They likely have a specific problem they are trying to solve. They are probably using multiple resources to build knowledge, and if we've done our job with solid titles and descriptions we can have a good idea of what it is they want to learn about.
Context can dig into the "why?" of what we are doing. The problem with the question "why?" is that it is ultimately a philosophical question, and requires a pile of unknowns to be answered before you can really get to the heart of "why?"
Often as instructors we will try to build up context in the form of an example. We might avoid "boring" examples like TodoMVC or other simple understood examples in favor of a more complex "real-world" example. Complex examples can be interesting. Deconstructing a "full production boilerplate" is always an interesting and informative exercise. The struggle with the complex example is the instructor now has the burden of explaining the context of the example. Throughout the lesson or course, the person learning has the additional cognitive weight of understanding the example and how everything functions together to meet the requirements of the example.
This is why the TodoMVC project is so popular. We don't need to think about the example domain, just how all of the parts are wired together. It makes for an awesome tool for exploring libraries, frameworks, and languages because it implements the same requirements over and over again. We don't need to discuss what TodoMVC is, we can just learn.
Does this mean that all egghead lessons are TodoMVC? No, we aren't going to do that to you, but simple examples should be preferred. We aren't trying to be particularly clever with the examples. Less is more. Keep it simple. Focus on the concepts and make the example as small of a distraction as is possible.
It’s important to show, don't tell.
Which side of this picture looks like the more engaging way to really learn how to build a bird house? On the right you have what is arguably the better bird house. It's awesome. Look at those fillets! Amazing.
On the left you have a mentor. A friendly guide that shows you how to build a perfectly adequate birdhouse. One that is totally possible with your bird house construction skill levels (not much), and equally as awesome as the fancy birdhouse on the right. You built it with your own two hands, and learned a bunch of new skills!