This document was originally created by Michelle Rowley (@pythonchelle) for the PDX Python User Group. If you want to discus these ideas further, she would love to hear from you.
Thanks for being willing to do a beginner talk! Here are some guidelines that you may find helpful as you prepare your talk. They’re not rules by any means, but intended to guide the framing of your message and presentation.
Giving a beginner talk at PDX Python is very different from giving an intermediate or advanced talk. The intended audience of an intermediate or advanced Python talk already knows quite a bit of Python. This allows them to feel like they belong in the room. Beginners who come to the presentation meetings are likely to feel extremely intimidated and uncomfortable (if we can get them to come at all). Tech meetups are a unique creature, unfamiliar to new programmers coming from non-CS backgrounds.
The most important goal of a beginner talk, therefore, is to make the newbies in the room feel like they are welcome. Unlike intermediate or advanced talks, in which the unique goal is to pass on chunks of knowledge, beginner talks pass on some information as a secondary goal. In these talks the sharing of information is the tool by which we make beginners feel comfortable.
Since the main goal is to welcome and encourage beginners, the tone of the talk will be different. Rather than striving to be as technical as possible, the content should be made very plain with real-world examples to clarify core concepts. In some cases, the content may not be code-related at all. For example, a great beginner talk could focus on the extremely basic fundamentals of the inner workings of a web application, showing exactly where in the process a web programmer would be writing code.
Be careful to think about the various pieces that a newbie might not know, including all the information necessary to understand the concepts. Assumptions of prior knowledge can leave beginners confused and disheartened. They’ll be much more encouraged if you tell them something they already know than if you skip pieces they don’t know!
Some things that are normally interesting during intermediate and advanced talks become inappropriate for beginner talks. Nothing alienates beginners more than terminology they haven’t heard or don’t understand. Questions may be posed by more experienced members that attempt to take the content to a deeper or more technical level. This shifts the focus of the talk to the old-hat audience, something that should be avoided at all cost. These questions should be politely deferred as they do not support the goal of the talk: to make beginners feel comfortable and welcome.
It’s very important when giving a beginner tech talk not to be condescending or seeming to “talk down” to the intended audience. Have the patience of a saint with any questions, no matter how simple they are. Take the time to explain and to check for understanding in a friendly way. If they don’t understand, we haven’t taught them well enough. Feel free to try explaining it again. There are no time constraints on beginner talks.
Beginners are precious resources with whom we’ve got to be careful and gentle. The appreciation you’ll get back from a well-treated newbie who gains understanding from what you share is an unbeatable reward. You’re also helping to diversify and grow the Python community, which will make it better for everyone. Good luck + have fun. :)