Jake Worth

How I Talk: Brainstorming

August 29, 2017

I’m writing a blog post series about preparing technical talks, here are the five parts:

  1. How I Talk
  2. Finding an idea
  3. Brainstorming
  4. Researching and preparing slides
  5. Practice and Delivery

Today, I’ll be covering the second part of my process: brainstorming.

Brainstorming is the most important part of the process, because it’s the foundation for everything that follows. For me it has two parts:

  1. Thinking about the subject in an open-minded way, paying attention to ideas that cross my mind, ideas in the world, and relevant ideas of my colleagues and friends.
  2. Recording everything.

Here’s a little more about each step.

Thinking

To prepare a good talk, I generate a lot of ideas.

Stephen King’s On Writing: A Memoir of the Craft contains a useful anecdote. As a young writer, King faced rejection after rejection. After much failure, one editor took the time to offer King some advice, writing on his manuscript “Get rid of 10%“. King removed 10% of the words from his manuscript, began submitting it again, and soon landed his first publication deal. Cutting 10%, sometimes again and again, became one of his most valuable tools.

For every idea that makes it into a talk, I’ve rejected five. This slaughter is possible because I think about a subject for hours in an open-minded way. Listening to technical news and blog posts and the people around me, reading code, and writing things down. With this mindset, I cultivate a long list of ideas which will help me fill out the time.

Leading up to a talk, I like to solicit ideas from my coworkers and the general programming. I had some great conversations and received many ideas through our company Slack. Borrowing ideas from others makes your talk stronger against the inevitable blind spots we all possess.

Here is my current brainstorm list for my talk next month. I check off an idea when I’ve researched it. Stuff that I want to pursue further gets marked [x], and the rest gets marked [-].

### Reactjs + Vim Talk Ideas

- [x] Build the talk from a blank virtual box
- [ ] Writing JS in Vim – Alex LaFroscia – Medium
- [ ] Investigate `.eshintrc` settings
- [ ] Go top to bottom through a JSX file and find optimizations
- [ ] Vim nnoremap: `\p — :! prettier %`
- [ ] Technologist often arrive at the same idea independently (PrettierJS)
- [ ] Linting solves needless churn and technical debating
- [ ] Ale plugin
- [ ] CLTab
- [ ] `CTRL X + CTRL L` - tab complete import statements
- [ ] Vim-surround plugin for JSX
- [ ] Who even use Vim?
- [ ] What is Vim?
- [ ] vim-react-snippets
- [ ] https://github.com/epilande/vim-react-snippets
- [ ] https://github.com/epilande/vim-es2015-snippets
- [ ] match-tag-always (vim plugin)
- [ ] Vim-projectionist projections
- [ ] Neoformat with javascript
- [ ] Neoformat fixes code
- [ ] Neoformat tells you when it’s poorly formatted
- [ ] Neoformat easier PRs to review, less churn
- [ ] Neoformat - Don’t save early
- [ ] Look at office vimrc.local's for inspiration

Most of these ideas aren’t good. But they give me options.

This is a brain exercise, so don’t be tired, distracted, or under any kind of pressure.

Record Everything

I use GTD for taking notes in a physical notebook. Whatever your method, be sure to capture every one of the great ideas you generate. Without a rigorous system of note-taking, I would lose a lot of the ideas to simple forgetfulness.

Conclusion

Thinking about a subject, while also being a sponge to the world, combined with an effective system of note-taking, is how I get from an idea to the first draft of my talks.

The next post in this series covers an important subject, researching and preparing slides.


Jake Worth

I'm Jake Worth, a developer at Hashrocket based in Chicago. Blog About Now