Skip to content

Latest commit

 

History

History
577 lines (384 loc) · 28.7 KB

speak_day_guide_+_exercises.md

File metadata and controls

577 lines (384 loc) · 28.7 KB

Speak Day Guide + Exercises

Write/Speak Code 6/21/2013

Agenda

Time Topic
10:00am Why are you here?
10:20am Speaker Panel
11:05am Break
11:15pm Topic Generation
11:55am Writing a talk proposal
12:40pm Lunch
1:10pm Creating a great presentation
1:40pm Talk proposal feedback
2:20pm Conference Organizers Panel
3:05pm Presentation creation
4:30pm Present
5:40pm Closing

Section 1: Mining our experiences

Discussing challenges, generating topics, and learning about talk proposals

Speakers Panel

Frederica Stahl

Frederica Stahl is a data-analyst and self-taught RoR developer currently working on a novel medical information platform, Meddick. She is interested in flattening information hierarchies through technology, and has published papers on the the role of information and information sciences in medicine, which can be found at www.fredericastahl.com. Frederica has previously spoken at a variety of academic and policy conferences, and is very excited to be joining the conversation on women and technology as a panelist at Write/Speak/Code.

Anna Smith

Anna Smith is a data scientist at bitly in New York after being wooed away from a physics doctorate program at the University of Oregon. Her work varies from writing for the bitly blog on data questions to longer term projects to surface information for bitly products using machine learning algorithms. Recently, she has published in both Forbes and Publications of the Astronomical Society of Australia. In her spare time you can find her catching up on the latest celebrity gossip or creating her own GIFs.

Liz Crawford

Liz Crawford is the CTO at Birchbox the beauty subscription brand that is changing the way people discover products. She has published papers on topics ranging from Machine Learning and Natural Language Processing to Intelligent Tutoring Systems and Robotics. Liz has spoken at a variety of conferences, including Strata Conf, SXSW, and Northside Festival. Prior to Birchbox, Liz was the CTO at Aprizi. Liz has a PhD in Computer Science from Carnegie Mellon and is a co-organizer of CTO School.

Rushaine McBean

Rushaine McBean is a full stack developer at the Levo League. She primarily codes in JavaScript and turns to Ruby (Ruby on Rails or Sinatra) and Node.js frequently to power her web applications. Prior to Levo League, Rushaine earned her Computer Science degree at Hunter College and she spoke at her first conferences, BarCampNYC and LadiesWhoCode last year. She will be speaking at FluentConf on May 29th and jQuery Portland on June 14th.

Topic Generation Exercise

The goal of these next exercises is to find your expertise

  • You should have a worksheet (separate handout) with 3 pages of topic brainstorming idea.
  • You’ll have 2 minutes to look over everything.
  • Then you’ll have 3 minutes to write down as much as you can, in whatever boxes speak to you
  • After this exercise, you’ll be handing this to a partner, who will use this to ask questions to further find your expertise.
  • You don’t need to fill out everything ­­ just fill in the topics, projects, bugs, languages, etc that come to mind the easiest.
  • Star or circle anything you’d like to be asked about later.

Things to keep in mind when brainstorming for talk topics

  • Conferences are always looking for new perspectives
  • Many talks are aimed at novice or intermediate level
  • What interests you? (some of the best talks are “related” or “fringe” topics)
  • YOU are the expert on how YOU use a set of tools/frameworks

“Speak” Date

You’ve started thinking about topics to speak about, now you’ll find a pair, interview each other and explore the brainstorm ideas further:

  • For this next exercise, you’ll find a pair
  • You’ll have 15 minutes for the interview and discussion (~ 10 minutes for the interview and 5 minutes for discussion)
  • You’ll use your partner’s filled­ in worksheet to guide your interview
  • As an interviewer, your goal is to come up with 3 potential topics your partner could speak about

You need:

  • Notebook
  • Topic Generation Worksheet

Instructions:

  1. Exchange topic generation worksheets
  2. Partner #1 Interviews Partner #2
  3. Partner #1 suggests topics for Partner #2 and they discuss
  4. Partner #2 interviews Partner #1
  5. Partner #2 suggests topics for Partner #1 and they discuss

Sample interview questions:

  • Tell me about ... (one of the bubbles they filled out in the topic generation worksheet)
  • What project/feature/bug are you currently working on?
  • What was the best talk/screencast/video you’ve watched recently?
  • What do you want to learn?
  • What could you teach me about?

How to Write a Talk Proposal

Before working on your own talk proposals, let’s take a step back to look and review a few actual conference proposals

  • On the next few pages are sample proposals
  • You’ll have 5 minutes to go through them and write down your thoughts
  • Quickly pick one with your partner ­­ you can review the rest later
  • Then you’ll discuss with you pair from the “speak” date exercise above What you’ll be looking for while reviewing these proposals:
  • What is this talk about?
  • Does it have enough relevance to the conference attendees? (“What’s in it for me?”)
  • Will this talk fit in the allotted time frame?
  • Has this person thought through all the points they want to make?
  • Do you want to see this talk?

Instructions:

  1. Stay in your pairs
  2. Choose 1 talk proposal quickly
  3. Read proposal and write your thoughts
  4. Discuss proposal

What makes up a talk proposal:

  • Title
    • Get people interested and excited
    • Be vague enough that you have wiggle room when creating your presentation
    • Be specific enough that readers know what you’re talking about
  • Description
    • What’s the main idea? What are some sub­-topics? What’s the conclusion?
    • Some people include bullet points with a rough outline of the talk
    • Keep people interested
    • Be vague and specific :)
    • Show the reviewer that your talk has substance
  • Abstract (sometimes)
    • Extended description
  • Reviewers notes (sometimes)
    • Extended description with a focus on why you’re qualified to do this talk or why it’s particularly important
  • Bio
    • Tell the reviewer about yourself and why you’re qualified to give this talk
    • Being qualified can be “I’m learning too!”
  • Video (sometimes)
    • Can be a video of you presenting at a conference, meeting, or Meetup
    • Or can be a video of you doing a lightning talk to your webcam

Example Talk Proposals

Proposal #1

You Can't Miss What You Can't Measure

Description:

Adrift at sea, a GPS device will report your precise latitude and longitude, but if you don't know what those numbers mean, you're just as lost as before. Similarly, there are many tools that offer a wide variety of metrics about your code, but other than making you feel good, what are you supposed to do with this knowledge? Let's answer that question by exploring what the numbers mean, how static code analysis can add value to your development process, and how it can help us chart the unexplored seas of legacy code.

Reviewers Notes:

Lately, it seems like "code metrics" for many people means running their project through Code Climate and saying "awesome! A couple D's, but otherwise I rock!" and then moving on to the next project. I spend a lot of time working with legacy code /and/ doing freelance greenfield development, and have found code metrics to be a strong tool when made part of my iterative, TDD process. They can act as rumble strips along the highway, alerting us when our code starts to drift into oncoming traffic.. but you have to know what the numbers mean, which ones to pay attention to, and how to add them to your process with a minimum of ceremony or fuss.

Accepted: Yes

Type(s) of Conferences: Regional, Language­specific, Multiple

Categories: Technical, About a technique

Proposal #2

PiDoorbell - Instantaneous Video Notifications with Arduino and RaspberryPi

Description:

Arduino’s and RaspberryPi’s are the new frontier in enabling regular developers like you and me get access to an affordable and easy­-to-­program platform to build cool things. In this talk, I will present how to use Arduino’s, RaspberryPi’s and your smartphone to be notified of an event that you want to know about – whether you’re at home, work or a conference halfway across the world.

The talk will include a brief overview of Arduino, RaspberryPi and my setup (proximity sensor, camera and other hardware). I will then present how I built the initial gadget and then tied it into my smartphone that will notify me of an event happening along with a video snippet of activity at the front door.

Finally, I will wrap up with a live demo of the project and Q&A, if possible. In the interests of time, I could show a video of the project working in real life (2­3 min) instead.

Abstract:

Have you ever found yourself obsessively checking the UPS or FedEx tracking site to see if your package finally got delivered at your doorstep? Or wondered when your contractor/gardener showed up to do their job? Or if your neighbor came looking for you on an urgent matter while you were out? In this talk, I will show you how you can relax and rely on your handy­-dandy smartphone to let you know when these events happen along with video snippets of what happened and who showed up!

Accepted: Yes

Categories: Technical, Workshop, About a technology 

Proposal #3

The Second Step: HOWTO encourage open source work at for-profits

Description:

Even at pro­-FLOSS businesses, logistical obstacles and incentive problems get in the way of giving back. I'll show you how to fix that.

Abstract:

You might not even realize what obstacles are blocking your colleagues from efficiently collaborating with FLOSS projects. In this presentation, you’ll learn how to take the next step in encouraging employees to contribute to FLOSS, with specific recommendations for fixing these issues.

I’ll introduce tools you can use, such as:

  • tuned employee performance criteria and appraisals
  • FLOSS­-friendly project management strategies
  • sneaky-­yet-­sensible PR

I’ll mine my experience as lead project manager and personnel manager at Collabora for examples. And I want to hear your experience and suggestions, too — for example, can FLOSS leaders help with tactics like sensible copyright assignment policies?

Accepted: Yes

Type(s) of Conferences: National, Open source

Categories: Big Picture, Case Study, About a technique

Proposal #4

Sassy! Stylesheets with SCSS

Description:

If you’ve ever wished for more readable and maintainable CSS, SCSS (the current version of Sass) is the tool you’ve been waiting for. SCSS builds upon CSS3 to add features such as reusable variables and blocks, functions for manipulating colors and doing mathematical operations, selector nesting, and style inheritance. Before deploying, you simply compile your SCSS into ordinary CSS files in one easy (and easily automated) step. This session will present the core features of SCSS with helpful examples, and get you excited about writing CSS again.

Accepted: Yes

Type(s) of Conference: Regional, General

Categories: Technical, About a technology

Proposal #5

REST for Web Developers

Description:

REST is a term filled with hype and promise, but is it anything more than JSON and pretty URLs? This session tells you everything you need to know about working with REST and implementing it yourself, with a quick tour through verbs, headers, status codes and content types. There will be real examples of making requests using different verbs and data formats, and how to cope when things go wrong (it happens, even in REST!). Expect lots of examples and practical advice in this session that will help developers, architects and technical leads alike.

Accepted: Yes

Type(s) of Conference: Local User Group, National + Language­-specific, National + General

Categories: Technical

Proposal #6

Pains and Gains of PHP Upgrades

Description:

What version of PHP are you running? PHP 5.3? PHP 5.4? PHP 5.2? Most of us lag behind the "new shiny", but at some point you'll face both the pain of the upgrade migration and the joy of the new features and performance improvements. Whether it's your boss or your distro that holds you back, this session covers what to expect with each upgrade. You will find out about the excellent new features and how to use them, and also get practical, hands-­on information about performing a successful upgrade.

Accepted: Yes

Type(s) of Conference: National + Language­-specific, National + General

Categories: Technical

Proposal #7

Five Tools For Better PHP Development

Description:

We hear so much about the PHP code ­ but what about the tools that will help the speed and quality of the rest of the development process? This talk runs through five tools that will improve the way you develop, making life easier for you and your team, and letting you spend more time on the interesting bits of the projects. We'll look at deploying sites with phing, static analysis packages such as php code sniffer and phpdoc, and how to keep an eye on applications after they've gone live using monitoring systems and supervisord. If you have a place in directing the improvement of development processes in your team, then this session is for you.

Accepted: Yes

Type(s) of Conference: National + Language­specific, National + General

Categories: Technical

Proposal #8

A House of Cards - The Perils of Maintaining a 7-Year-Old Codebase

Description:

With ruby on rails, often the focus is on how easy it is to build an application from the ground up. But, there is a whole different set of challenges when working on a mature application.

This talk will discuss the issues discovered when working with a 7­-year-­old pile of code. In the beginning, the question isn’t “How do I build this,” but more like “Where does this go” or “Where is this bug coming from.” I will discuss the sometimes unintended consequences of introducing new features, tracking down and fixing ancient bugs, estimating the time a new feature will take given the many other peculiar surprises you will uncover, and finally how not to worry about the inevitable day when you will break everything.

The audience will hear from a developer who works with old code every day and a tips to make their future selves and successors less confused, more productive, and less unintentionally destructive.

Accepted: Yes

Type(s) of Conference: Regional + Language­-specific

Categories: Big Picture

Proposal #9

Taking Ruby Community in India to a new level

Description:

So you are here at the only ruby conference in India, and have the following questions running through your mind:

  • How come there aren't more events like this in India where I can meet fellow ruby enthusiasts across the nation on a more frequent basis?
  • In fact, why isn't there an active ruby community in my home town? Why can't someone organize regular meetings so that I can get an opportunity to meet other local ruby developers in person and learn from them on a regular basis?
  • How would it be if every major city in India have a size­-able ruby & rails community solving real­-world problems in the local community and creating job opportunities galore for the local developers?

Fear not!

This talk will address all that and more, while exploring the numerous ways in which you ­ yes, you who are reading this ­ can contribute towards making the Ruby community in India to scale new heights, irrespective of how long you have been programming in ruby.

Bring your community building hat, and explore with me the beautiful future we could create together for the Indian ruby community!

Accepted: Yes

Type(s) of Conference: National + Language-specific

Categories: Big Picture, Community building

Proposal #10

The JavaScript Interpreter, Interpreted

Description:

JavaScript is misunderstood. It looks like C, acts like Lisp, but deviates in important and confusing ways. It can mimic classical behavior but is built on prototypes. It has blocks but doesn’t provide block scope. Then, throw in the magical “this” keyword and we have a recipe for interpreted disaster.

Understanding how JavaScript creates and executes function objects is key to understanding JavaScript. In this talk we'll walk through the JavaScript interpreter in an easy-­to-­follow no­-confusing-­jargon manner. You'll leave with a better understanding of how vanilla JavaScript works from the inside out!

Abstract:

JavaScript differs from other languages in confusing and important ways. But, if you understand how the JS interpreter creates and executes function objects, you can understand JS in a deeper way. Join Martha to learn more about how vanilla JavaScript works from the inside out!

Accepted: Yes

Type(s) of Conference: Local User Group, National + Language­-specific, Region + General

Categories: Big Picture, Community building

Section 2: Ready, set... speak!

Write a talk proposal, create a talk, and present

Form Groups

You’ll be put in a group based on experience and expertise and given a general talk area.

Now that you’ve gotten a sense of what a talk proposal should look like, we will now start the second part of the day... Group Presentations!

For the Group Presentations, we’ve taken the info you gave us at sign­-up time, to put you into pre­-assigned groups.

Once you form into your presentation groups, you’ll go through all the steps of making a group lightning talk presentation:

  • creating a group talk proposal
  • creating group slides
  • presenting

What is a lightning talk?

  • this is a quick talk, anywhere from 5­-15 minutes
  • we’ve created the groups based on common languages, so the group size may vary, but we want each group to aim for 1­2 slides per speaker

Points:

  • the brainstorming exercises that we just did should help facilitate your group picking a topic to present, but if you’re feeling stuck, flag us down and we can help you think of a topic

Instructions:

  1. Find your Group Volunteer
  2. Get in your groups
  3. Discuss topics for a talk proposal
  4. Write a talk proposal

Presentation Groups

Room Group A Group B
Room #1 HTML/CSS Javascript
Room #2 Java PHP
Room #3 Ruby 1 Ruby 2
Room #4 Python Scientific/Technical Computing

Topic Suggestions

Feel free to completely ignore these!

  • General
    • Compare & contrast
    • What’s new in ... ?
    • Pros & Cons of...
    • How to do/use ...
    • Understanding X feature
    • Frameworks ­ intro, compare, what’s new
    • Server vs client ­ intro, how to, issues
    • Architecture, service­-oriented, modular, etc.
    • Building software better + the process of software development
    • Performance & Scaling
    • Security
    • Testing, Agile, Continuous deployment
    • Open Source, Enterprise, Start-­ups
  • HTML/CSS
    • Intro to HTML5
    • Intro to CSS3
    • What’s new in HTML5
    • What’s new in CSS3
    • Intro to CSS3 animations
  • Javascript
    • Object­-oriented Javascript
    • Intro to jQuery
    • Intro to MVC framework in javascript (compare & contrast or intro to one or many)
    • Intro to CoffeeScript
    • Understanding jQuery events
  • Java
    • Intro to Android Development
    • JVM Basics
    • Compare JVM languages to Java
    • Java Generics
    • JVM tuning
    • BDD with Java
  • PHP
    • Compare & contract MVC frameworks
    • Object­oriented PHP
    • Advanced WordPress
    • Creating a WordPress plugin
    • Testing, Caching, Scaling
  • Ruby
    • Intro to Ruby or Rails
    • Intro to Object­oriented programming in Ruby
    • Rails stumbling blocks
    • What’s new in Ruby 2? What’s new in Rails 4?
    • Presenter/decorator patterns
    • Concerns vs. Service Objects
    • Fat models, skinny controllers
    • Rails performance problems and solutions
  • Python
    • What’s coming in Python 3?
    • Intro to Django
    • Data analysis tools for Python
    • Writing Django Packages
    • Using Redis with Django
    • Django Caching Options
  • Scientific/Technical Computing
    • Compare and contrast languages
    • Performance Benchmarking
    • Using R
    • Intro to Julia
    • Typing in different languages
    • Intro to Machine Learning
    • Parallel Computing techniques
    • Real­time analysis
    • Big Data ­ MapReduce, Hadoop, Cassandra, etc
    • Predictive Models

Talk Proposal Brainstorm

How to create a great presentation!

Martha Denton

Martha Denton, The Founder of The Presentation School, is a communication strategist and practitioner, who focuses on: helping speakers understand their audiences, write their content, design their slides, and deliver the best presentations possible. She started doing this at McKinsey & Company, where she was for 11 years. With The Presentation School, she has worked with a wide range of individuals from start-ups to Fortune 500 companies to Olympic Gold Medalists. She has been proud to serve as Presentation Coach for Ignite NYC & TEDxHarlem, and has curated rapid fire segments for The Economist. She has also just signed up for CodeAcademy.

Talk Proposal Feedback

One member of your group will present your talk proposal to another group and a conference organizer.

Instructions:

  1. Choose 1 person to present your talk proposal
  2. Put any finishing touches on the proposal
  3. Group A presents
  4. Group B and conference organizer give feedback
  5. Group B presents
  6. Group A and conference organizer gives feedback

Talk proposal feedback guidelines:

  • What is this talk about?
  • Does it have enough relevance to conference attendees? (“What’s in it for me?”)
  • Will this talk fit in the allotted time frame?
  • Has the group thought through all the points they want to make?

Feedback Notes

Head back to the main room for the Conference Organizer Panel!

Conference Organizer Panel

Francis Hwang

Francis Hwang is a writer and software engineer. An active member of the Ruby community, he was the founder of NYC.rb, founding organizer of GoRuCo, and a four-time RubyConf speaker. He is currently enjoying his Brooklyn-based consulting lifestyle.

Gloria W

Gloria W is a Python developer and *NIX systems admin with 20+ years experience in embedded systems and app design and development. Most recently, Gloria is specializing in “from-scratch” software design and development for start-ups in the NYC area. Gloria is the organizer of PyGotham and the NYC Python Meetup.

Maria T Sciarrino

Maria T Sciarrino is a feminist, guitar enthusiast, radio host, and user experience strategist from Philadelphia, PA.

Rebecca Miller-Webster

Rebecca Miller-Webster is currently a Ruby and Javascript developer at How About We. She spent the last 10 years building software in a variety of languages for large corporations, non-profits, and start-ups, including as VP of Engineering for an early-stage start up in NYC. Rebecca founded Write/Speak/Code, co-organizes GORUCO and makes Patterned. She also makes music and jewelry and loves cupcakes, pizza, and crab rangoon. Rebecca lives in Sunnyside, Queens with her husband and black pug. And she changes her hair. A lot.

Create your slides!

For the next 45 minutes, you’ll return to your breakout rooms to make slides for your group presentation.

You need:

  • Phone or camera with video recording capabilities
  • Computers
  • Presentation software

Keep in mind:

  • Each person should speak for a few minutes, so make sure everyone has 1­2 slides each.
  • Group volunteers and speaker feedback panelists may come around to observe and help out
  • You may want to create an outline together first
  • You may want to either have individuals create slides based on the outline or create slides together and then decided who will present each slide afterwards
  • Everyone should speak for a similar amount of time.

Instructions:

  1. Create an outline of your talk together
  2. Decide what program you will use to create slides ­­ OpenOffice, PowerPoint, KeyNote, Google Docs, etc.
  3. Pick a color scheme
  4. Decide whose computer you will use for the presentation
  5. Create slides from the outline and decide who will talk about each slide (not necessarily in that order)

Resources:

Speaker Feedback Panelists

**Kimberly Campbell **

Kimberly Campbell is a communications professional whose experience spans a broad range of industries in the areas of business, philanthropy, and health and human services development. Kimberly has spoken extensively on successful communications strategies, corporate sustainability, and combating gender stereotypes in the workplace, with diverse audiences such as the American Association of University Women, UN Women, the Society of Human Resource Management, and the New York State DELTA Coalition.

Marianne Bellotti

Marianne Bellotti is the CTO of Exversion, a freelance developer evangelist and hackathon vet. She's won thousands of dollars in prizes hacking at events like Startup Bus, Photo Hack Day I & II, API Hack Day I & II, Hackday.tv, GDI Hackathon in the Hamptons for Humanity, Startup Weekend NYC, and Meetup's Battle of the Braces. She's also spoken at events like Ladies Who Code Conf, BACON, and ClojureNYC. She hacks in PHP, Python, and Clojure and is particularly interested in visualizations, data, and machine learning.

**Marisa Warren **

Marisa Warren is the founder of Cavalo Consulting LLC, and a highly awarded Global Channels Executive with 17 years experience working for companies such as SAP and Microsoft. She also currently serves as President for Australian Women in New York, and is an Advisory Board Member for the [GlamourGals Foundation](GlamourGals Foundation).

Rebecca Garcia

Rebecca Garcia is a self-taught developer, who enjoys tinkering for social good. She co-founded CoderDojo NYC, wanting to share her experience of attending and mentoring at a summer program at MIT. Previously she was CTO of Greatist a health and fitness media startup, and a developer at DoSomething.org a non-profit for youth and social change. She’s all about gender and equality in tech, and when not coding can be found baking pies and salsa dancing.

Present

Instructions:

  1. Exchange your phone/camera with someone in the other group
  2. Meet your speaker feedback panelist
  3. Group B sets up slides
  4. Group B presents while Group A records
  5. Group A gives and speaker feedback panelist gives feedback
  6. Group A sets up slides
  7. Group A presents while Group B records
  8. Group B and speaker feedback panelist gives feedback

Feedback Notes

Head back to the main room for the closing!

Closing

Write and Share

| Prompt | Your Response | | --------------------------------- | | | Your speaking goals | | | 3 next action steps | | | Your "A-ha!" moments or takeaways | |

Then pay it forward!

Who can you ask to speak and what about?