$30 off During Our Annual Pro Sale. View Details »

What beginners teach us - New Relic FutureTalk

What beginners teach us - New Relic FutureTalk

This talk is about what I've learned from teaching adults how to program in Python for the first time. Mostly lessons learned from PyLadies workshops, with an additional section on how PostgreSQL does code review, and how I think this teaches the fundamental skill of code reading, a basic code literacy skill everyone needs to go from being a novice to an expert programmer.

Selena Deckelmann

May 12, 2014
Tweet

More Decks by Selena Deckelmann

Other Decks in Technology

Transcript

  1. What beginners teach us
    Selena Deckelmann
    @selenamarie
    Data Architect, Mozilla
    Tuesday, May 13, 14

    View Slide

  2. Tuesday, May 13, 14

    View Slide

  3. http://bit.ly/1fQEXeF
    Tuesday, May 13, 14

    View Slide

  4. http://github.com/mozilla/socorro
    Tuesday, May 13, 14

    View Slide

  5. Tuesday, May 13, 14

    View Slide

  6. Tuesday, May 13, 14

    View Slide

  7. Tuesday, May 13, 14

    View Slide

  8. Tuesday, May 13, 14

    View Slide

  9. Tuesday, May 13, 14

    View Slide

  10. Tons more at:
    http://lqbs.fr/suchcomments/
    Tuesday, May 13, 14

    View Slide

  11. http://bit.ly/1fOgBSB
    Tuesday, May 13, 14

    View Slide

  12. “In the beginner’s mind there
    are many possibilities, in the
    expert’s mind, there are few.”
    -Shunryu Suzuki
    Tuesday, May 13, 14

    View Slide

  13. I am a beginner teacher
    Tuesday, May 13, 14

    View Slide

  14. full of possibility
    Tuesday, May 13, 14

    View Slide

  15. the one thing...
    Next time you answer
    a beginner’s question
    Tuesday, May 13, 14

    View Slide

  16. take a moment and consider...
    How will the beginner feel
    when they hear your
    answer?
    Tuesday, May 13, 14

    View Slide

  17. I’ve been involved in FOSS
    Since 1995
    Tuesday, May 13, 14

    View Slide

  18. PyLadies
    Get women who code together
    In September 2012, I joined...
    Tuesday, May 13, 14

    View Slide

  19. our first project...
    A Coursera Class
    Tuesday, May 13, 14

    View Slide

  20. Walk away
    or
    Figure out how to teach?
    Tuesday, May 13, 14

    View Slide

  21. beginners:
    Open to possibility
    and overwhelmed
    by choice
    Tuesday, May 13, 14

    View Slide

  22. TMTOWTDI
    the best part of beginners mind
    adventure, possibility, inclusive
    Tuesday, May 13, 14

    View Slide

  23. or...
    Tuesday, May 13, 14

    View Slide

  24. Tuesday, May 13, 14

    View Slide

  25. Tuesday, May 13, 14

    View Slide

  26. our job as teacher is to answer...
    “What do I do next?”
    Tuesday, May 13, 14

    View Slide

  27. And to consider:
    How do people feel while
    they’re taking the next step?
    Tuesday, May 13, 14

    View Slide

  28. What does learning how
    to program feel like?
    Tuesday, May 13, 14

    View Slide

  29. Tuesday, May 13, 14

    View Slide

  30. When experience is a
    dead end
    Tuesday, May 13, 14

    View Slide

  31. Tuesday, May 13, 14

    View Slide

  32. Tuesday, May 13, 14

    View Slide

  33. Tuesday, May 13, 14

    View Slide

  34. When PyLadies
    succeeds
    Tuesday, May 13, 14

    View Slide

  35. OSDC.tw - April 19, 2013
    Tuesday, May 13, 14

    View Slide

  36. Tuesday, May 13, 14

    View Slide

  37. OSDC.tw - April 19, 2013
    Tuesday, May 13, 14

    View Slide

  38. Engineering
    experiences
    Tuesday, May 13, 14

    View Slide

  39. “The unwritten first chapter”
    Big goals
    Early wins
    In-person connections
    Cultivate a learning environment
    Tuesday, May 13, 14

    View Slide

  40. Tools for engineering
    great beginner
    experiences
    Tuesday, May 13, 14

    View Slide

  41. From Hacker School:
    No “Well, Actually...”
    No Feigning Surprise
    Tuesday, May 13, 14

    View Slide

  42. pairing
    best teachers are
    those that just learned
    Tuesday, May 13, 14

    View Slide

  43. 1:3 ratio
    instruction to doing
    Tuesday, May 13, 14

    View Slide

  44. listen carefully
    learn from how students rephrase
    and ask questions
    Tuesday, May 13, 14

    View Slide

  45. PyLadiesPDX
    250 women
    1-2 meetings per week
    Tuesday, May 13, 14

    View Slide

  46. • New skills
    • Peer support
    • Structure and routine
    • Confidence
    What PyLadies say they get:
    Tuesday, May 13, 14

    View Slide

  47. teaching people to
    review code
    the postgresql.org way
    Tuesday, May 13, 14

    View Slide

  48. PostgreSQL is
    intimidating.
    Tuesday, May 13, 14

    View Slide

  49. https://wiki.postgresql.org/
    wiki/Reviewing_a_Patch
    Tuesday, May 13, 14

    View Slide

  50. “You don't have to ask
    for permission...”
    commitfest.postgresql.org
    Tuesday, May 13, 14

    View Slide

  51. • Submission review
    (skills needed: patch, English comprehension)
    • Usability review
    (skills needed: test-fu, ability to find and read spec)
    • Feature test
    (skills needed: patch, configure, make, pipe errors
    to log)
    Tuesday, May 13, 14

    View Slide

  52. • Performance review
    (skills needed: ability to time performance)
    • Coding review
    (skills needed: guideline comparison, experience
    with portability issues, minor C-reading skills)
    • Architecture review
    (skills needed: experience with whole-PostgreSQL-
    project architecture)
    Tuesday, May 13, 14

    View Slide

  53. • Review review
    (skills needed: ability to follow the Review A Patch
    documentation)
    Tuesday, May 13, 14

    View Slide

  54. Key skill: code reading
    Tuesday, May 13, 14

    View Slide

  55. “[N]on-trivial change should be
    discussed (potentially before the
    code is even written) on the pgsql-
    hackers list before being
    submitted as a patch.”
    Tuesday, May 13, 14

    View Slide

  56. “Design your interface first.”
    Tuesday, May 13, 14

    View Slide

  57. “Follow the style of the
    adjacent code!”
    Tuesday, May 13, 14

    View Slide

  58. So, code reading.
    Tuesday, May 13, 14

    View Slide

  59. How have I benefited
    and what have I learned
    from teaching?
    Tuesday, May 13, 14

    View Slide

  60. write better code
    write better docs
    gain perspective
    Tuesday, May 13, 14

    View Slide

  61. recruit diverse
    members to your
    communities
    Tuesday, May 13, 14

    View Slide

  62. adainitiative.org
    openhatch.org
    pyladies.org
    Tuesday, May 13, 14

    View Slide

  63. and...
    Tuesday, May 13, 14

    View Slide

  64. an informed public
    Tuesday, May 13, 14

    View Slide

  65. Julie Horvath’s blog post
    http://julieannhorvath.com/2013/07/09/a-different-perspective.html
    Tuesday, May 13, 14

    View Slide

  66. “I didn’t grow up
    thinking I could do
    anything I wanted to.”
    Tuesday, May 13, 14

    View Slide

  67. I see this every day teaching adults.
    Tuesday, May 13, 14

    View Slide

  68. People don’t know
    what’s possible.
    Tuesday, May 13, 14

    View Slide

  69. make a better world!
    Tuesday, May 13, 14

    View Slide

  70. teach!
    <3
    Tuesday, May 13, 14

    View Slide

  71. What beginners teach us
    Selena Deckelmann
    @selenamarie
    Data Architect, Mozilla
    Tuesday, May 13, 14

    View Slide

  72. This work is licensed under the Creative Commons Attribution-
    ShareAlike 3.0 Unported License. To view a copy of this license,
    visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter
    to Creative Commons, 444 Castro Street, Suite 900, Mountain
    View, California, 94041, USA.
    All photos are © by owners.
    PyLadies photos shared with permission.
    Tuesday, May 13, 14

    View Slide