Defining egghead Lesson Style
What's an egghead lesson?
A great lesson requires two things:
- a desire to share knowledge
- the patience to learn the process
We aren't looking for new/novel/exciting ways to present and teach.
egghead.io style is to record your screen and walk a colleague through a concept or feature. We don't use fancy video editing tricks or transitions beyond simply cutting out empty space, mistakes, and excessive "ummm"s and making sure the audio gain is at a consistent level. You can think about an egghead lesson like calling a coworker over to your desk to show them something cool that you just learned. Would you make a slide deck for them? Would you use star-dissolve transitions? Probably not!
We aren't looking for that either. We want to see concise efficient knowledge transfer that respects your time, and the time of the student as well. Nothing fancy. We don't want fancy, we want badass. That's you. Teach us what you know.
You are the expert. Instruct.
Instructors are here to instruct. People come to egghead lessons and courses ready to be told what they need to do. We aren't making a sales pitch trying to convince them that we are correct and the technology is right for them. We are instructing them on how to do something, how to accomplish a task.
We are going to demonstrate how to use a feature or concept by showing instead of telling.
Being concise often means adjusting how we approach the language we use. An egghead.io lesson attempts to be concise. This often means that we want to favor an active vs passive voice in how we deliver instruction.
Hello, before we get started using Webpack you are going to need to install node. We are going to visit this URL and find the link to install it. Now we press "download" and we should get a file. We can now open that file and extract it's contents. Now that node is installed we can use npm to install webpack globally. Great, now that webpack is installed globally we can use it! Open up Sublime or your favorite editor to start working on the config.
We've got node already installed. Use npm to install webpack. Now run init and open the config to edit it.
We don't have to explain or justify the each step in the instruction. We can assume that we are delivering content to smart, capable humans that can fill in some blanks.
How short should my lessons be?
When we talk about "bite-sized" lessons, we don't mean strictly length. Some topics require some extra time to clearly explain. We aren't aiming for a specific duration target.
The goal with an egghead lesson is to clearly present a concept.
Be concise. Viciously remove cruft.
Create single purpose lessons with minimal distractions.
We've found that most things can be explained in under 10 minutes.
"10 minutes?!? Monads will take me days to explain!"
Complex topics are generally composed of many smaller solutions/concepts. We break a thing down into small atoms of information, combining them to create something more than the sum of its parts.
For some topics, it is hard to explain them without the context of a course. We will talk about that later, as it is vital and important. We combine bite-sized lessons together to make bite-sized courses. Some egghead courses are only 10 minutes long, but convey a ton of information.
If you're recording a stand-alone lesson, find the core concept and stick to it.
The “Show Your Work” Challenge
As you’re putting a lesson together, a million different ideas will enter your mind. You might be afraid of leaving anything out because you don’t want to disappoint your audience.
But here’s the problem…
Too many ideas into a single lesson inevitably means that you’re glossing over concepts. If you simply mention “condition X could crash your app” because you want to “cover your bases”, but you don’t take any time to show the concept, all you’ve actually done is scared the poop out of the audience without giving them any solution.
And here’s the solution…
Show your work! You’ve probably heard this from high school when your math teacher forced you to write out the steps to the solution to get full credit for the answer. The simple act of typing something out, highlighting a block with your mouse, or logging something in the console makes concepts infinitely more approachable. If a user sees you walk through the steps, then they gain confidence that they can do it too. If they only hear you talking about concepts, you quickly lose their attention.
Turn off your audio and watch your lesson without sound. It should be obvious from the visuals what you’re teaching. You may notice periods of 5+ seconds where nothing is happening. “Nothing” usually means you’re getting off-topic and thought it would be tough to “show” what you’re talking about. When you catch a section of “nothing”, write down the topic you weren’t showing and save it for another lesson! Separating lessons like this brings a natural focus and flow to each lesson. You’ll surprise yourself how quickly that one lesson with a lot of tangents turns into a coherent course as a series of focused lessons.
Three Pillars of egghead
Respect the audience
Developers are busy people. We bet that you are a busy person, with lots going on personally and professionally. We have limited time to learn and teach, and often we learn because of an impending deadline. We don't have time to waste, and when a developer is watching an egghead video, they expect it to be concise, on target, and useful for their current situation.
We want to deliver a well titled lesson that contains what the viewer will expect without a lot of surprise. A lesson called "creating routes in Express" shouldn't diverge and discuss a whiz-bang D3.js pie chart that also happens to be in the example.
Have you ever been to a conference or user group talk, and left slightly confused when the talk was over and wasn't what you were expecting? Was the title misleading? Maybe it was "link bait"? We don't want to surprise people that way. Your title and description for lessons will inform the viewer what to expect. Stick to that!
We also don't need to spend time with formalities like greetings or personal introductions. It seems like a good idea, but most users are watching several videos. Do you say "hello my name is Kim" every 3 minutes when talking to a co-worker? 😳
Probably not. We can drop the "hello" and the "good bye" entirely. It's not rude, we promise. Be sure to show your work. Show what you are doing. Use the mouse to guide the viewers eye around the screen as you explain the topic of the lesson. Make sure the code you are discussing is front and center. People code along to these, so consider that and make it easier for them to follow along.
You're the hero!
You're smart and know a lot of stuff. Did you always know all of the things? Nope. Can you remember any "aha!" moments in your own journey? Any particular author, blogger, or screen caster that has helped you? What was good about their content, and how can you pass that gift of knowledge along?
Capture the "AHA!" moment by showing the moment leading up to and directly after that point in time.
Another example is when a tough Google search lands you on a Stack Overflow question that matches the problem you are having right now. That well-constructed answer that is thorough, thoughtful, and comprehensive. The author of the answer is a hero in that moment.
You can be that hero to somebody else with your thorough, honest answer!
Do the Work
The number one key to success in teaching people to code better via screencasts is simply hitting the f'n record button and explaining the thing. It can be uncomfortable at first. It can even feel a lot like stage fright, but the sooner you start recording, the sooner we will be pushing the "publish" button on your first egghead course.
Your first lesson will probably stink. It's a fact, and it is totally fine. Send it to your mentor for feedback, and they will get you on track.
Your time is valuable too. Don't waste it trying to figure everything out on your own. You've got your mentor, the egghead team, and dozens of fellow instructors willing and able to help you achieve success.
We are here to help, and happy to do it!
What does an artist recommend when staring at a blank page?
If you find yourself staring at the screen unsure of how to even start then open Screenflow, press record, and just start talking out loud about your lesson. Recording something, anything, will kickstart the process and help you relax and talking out loud ("rubber ducking" 🐥) often helps your brain leapfrog to the solution.