How to egghead

What should you teach?

Quick! Come up with an idea! Unfortunately, it doesn’t work that way.

As with writing or drawing, instructing about anything can be daunting. Anything is too big a concept to wrap your head around. That’s why we need prompts.

Tell someone with writer’s block, “Describe your favorite food.” An hour later they’ll have an essay on cheeseburgers. Tell an artist, “Draw a cheeseburger,” and they’ll draw you a cheeseburger good enough to eat (and write about).


The same goes for egghead lessons. Give yourself a prompt. Make it small and specific.

Finding ideas

You’re surrounded by inspiring ideas for your next lesson. A few places to look:

slack_icon #egghead-lesson-ideas. The egghead Slack is a great resource when you’re stuck. This channel was specifically created to help get you out of a creative jam. Hop in and see if anyone has ideas to spare—@joel usually comes through.

os_icon Open-source projects. If you work on an open-source project, contribute to one, or even just have a favorite open-source tool, you can often find great themes for a lesson in the work being done.

trello_icon Trello cards and dev Slack channels. What particular problems are other developers solving, and how? There’s a lesson.

stackoverflow_icon Stack Overflow. This is a trove of pain from which to develop useful examples. A quick search reveals questions and answers that would make excellent lesson topics.

Problems you’ve solved. What web development challenge did you recently figure out? Tell learners how you did it.

notes_icon Your own education. Are you learning something cool right now? The best way to solidify what you learn is to teach it.

Plain old Googling is helpful, too. Type something like “Laravel how do I” and Google will autofill with popular search items. Lesson idea gold!

Be super-specific

How do I think of good lesson ideas?

You just answered your own question. Use the phrase “How do I” to zero in on a specific topic to cover.

“How do I...debug angular applications with Chrome DevTools”


“How do i...update ref attributes in React components”

Two lessons ready to record!

But beware—this trick could lead to some overly ambitious ideas, like:

“How do I build an app with Ruby”

You’ll need a few days to cover that one. Think much smaller, and dive into a topic you can thoroughly cover in a few minutes, like:

“How do I create a component with React on Rails?” That can be a lesson. In fact, it is a lesson.

Write it and code it

Think you have your lesson topic? Great! Now you need to stress test your topic to see if it’s focused enough.

[Image: Something like detailing a car...showing very precise work.]

Create these three supporting materials:

  • Your lesson title. Use that “How do I” trick. Does it work for your topic? Does your title cover one thing clearly—and can you cover that thing in a short amount of time? Then you’re good.
  • Your lesson summary. If it’s too long or requires a lot of detail to summarize, you might need to reduce the lesson’s scope.
  • The code example you’ll use to demonstrate the lesson concept. It should be easy to run with very few simple steps. If it requires several steps and screens—and if you anticipate needing to give a lot of background and contextual information to explain those steps—tighten your scope.

Think of these items as the outline you’d create before writing a school essay. If that outline gets too long and ambitious, you need to reel in the scope a bit.

That lesson already exists? Do it anyway!

We have zero qualms about repeating topics. Actually, we encourage it. No one knows exactly what you know or phrases things in your particular way. What’s your take? Tell us! Tell everybody.

Slack us!

Truly stuck? #ask us for a jumpstart, or come up with some ideas and we’ll pare them down.

Remember: Think small. Don’t explain how to build the internet. Just a small corner of it.