How to Propose a Talk

For general proposal calling information, see Call for Proposals.

First of all, thank you considering giving a talk in PyCon Taiwan 2017. The following will help you submit an successful proposal. In the following, we are going to provide you the tips to make your proposal strong and informative and get the best chance of acceptance.

Generally, you will have the following aspects to think through before your proposal:

  • What’s your topic?
  • Who is your target audience?
  • What will the audience gain after your talk?
  • How you organize your talk time?

You will ask to fill up the following fields for your proposal:

  • Title
  • Category
  • Duration
  • Language
  • Abstract
  • Python Level
  • Objectives
  • Detailed Description (optional)
  • Outline (optional)
  • Supplementary (optional)
  • Recording Policy
  • Slide Link (optional)

Looks like quite a lot of fields to fill in. Well, you can skip those optional fields and the rest of the form will only take you about 500 chars to type. But we encourage you to fill most of the fields to help reviewer understand your proposal.

Some of the fields are for reviewers only so no need to worry about spoilers:

  • Objectives
  • Outline
  • Supplementary

If you are a very experienced speaker, you can directly enter the DashBoard to propose!

Next we will give more detailed advice on each aspects.

Topics and General Advice

To pick a topic that suits PyCon Taiwan, you can first find out what accepted talks are about from the previous PyCons:

Good Ideas

  • The abstract or detail description should contain:
    • Who is the intended audience?
    • What should they know before the talk?
    • Is there any special domain knowledge required?
    • What will they get after my talk?
  • The abstract and the content are as close as possible to the title.
  • Content must be original. Should let the audience and reviewer understand which part is original content in your proposal.
  • Enumerate each of your talk section in outline with estimated time length.
  • If your topic is not that familiar to normal Pythonistas, make sure you provide sufficient information through links of blog posts, wiki, source codes, or materials that help the understanding of your content.

Bad Ideas

  • Avoid infomercials.
    • That is, try not to merely sell your products or how to use them in your talk. However, we do welcome talks about how your company solve the problem or your open source project that can benefit the general attendees.
  • Don’t assume everyone in the review committee knows you.Please always submit a full proposal.
  • Avoiding Plagiarism, welcome all forms of sharing, but it should be clear which sections are original and which are citation of previous work.

How to Choose the Python Level?

Choosing the Python level is important.

Your talk won’t be simply accepted because it is either super hard or deadly simple. The acceptance correlates with the specified Python level and your targeted audience.

If your talk is for Python first-timers and it is about your Python learning experience and how you solve some tricky issues you face. This is a proper proposal. If your talk is about inspecting the Python memory usage and coordinating two GC systems together with reusing pointers, and you specify your talk as being novice or intermediate, it is not a good idea.

For the extreme conditions (like topics above), it will be easy to decide. But topics lie somewhere in between are not. Therefore, we give more description below to help you find the proper level.


People who have little to none Python knowledge. One can expect them to have basic knowledge about Python syntax and control flow (e.g. if-else, for loops; functions), but the audience does not understand every modules in stdlib, nor the concepts of tricky variables visible scope and OOP (and MRO inheritance).

Sharing your experience learning Python, leading a community perfectly fits in this level. Generally a talk about non-builtin Python packages, say pandas and Django, is not a novice talk. Unless people can actually learn all the content you give right after your talk.


The possible applications are more diverse than novice talks. Intermediate talks are for those who just learned how Python works and wish to know more how it can be used in different tasks. The talk topic can be about setting up web frameworks, talking to databases, monitoring the web traffic, auto trading in the stock market and so on.

From previous submissions over the past few years, around a half of the talks should fall into this category. Note that we may contact you to adjust your talk to be novice or experienced based on your proposal.


People coming to experienced talks should have good proficiency of audience’s Python (or programming) skill.

The main difference between intermediate and experienced talks is that experienced talks assume more domain knowledge about the talk topic. For example, talks about optimization and tool’s internals should be at this level.