The document discusses diversity in Python and untapped resources. It argues that tapping into diverse, untapped resources like women and students will lead to more innovation and help Python flourish. It provides ideas for how to recruit these resources, such as participating in diversity events, lowering barriers to contribution, and making open source projects more inclusive.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Diversity in Python: Tapping Untapped Resources
1. Diversity in Python
it’s about untapped resources
Audrey Roy
twitter: @audreyr
Sunday, August 21, 11
2. About me
Python web developer by day
• MIT ’04, Electrical Engineering & Computer Science
• Python & Django developer for Cartwheel Web / RevSys
• I also like JS, CSS, HTML5, C, C++, Objective-C
Sunday, August 21, 11
3. About me
Open-source advocate and more by night
• President of PyLadies
• Co-creator and core dev of djangopackages.com & OpenComparison
• Resident artist at LA's Hive Gallery
• Fiancée of Daniel Greenfeld (pydanny)
Sunday, August 21, 11
4. Overview
I’m going to talk about:
• Diversity: untapped resources, and why we need to tap them
• What to do with extra developer bandwidth (my wish list)
• Recruiting diverse, new “untapped resources”
• PyLadies (Python Ladies)
Sunday, August 21, 11
5. Python diversity
why we need to tap our untapped resources
Sunday, August 21, 11
6. What is diversity?
Having lots of different kinds of people in the Python community:
• racial/ethnic variety
• young and old (0-122 years of age)
• men, women, and everything in between
• various sexual orientations
• hidden or visible disabilities
• all religions
• all corners of the world
Sunday, August 21, 11
7. What else is diversity?
Having Pythonistas of varied backgrounds:
• First-time coders
• Undergrad/grad students
• Graphic/CG artists, web designers, illustrators
• Writers, photographers, fine artists
• Free software activists
• Scientists, biologists, hardware engineers
• Game programmers, web entrepreneurs
Sunday, August 21, 11
8. What else is diversity?
Having Pythonistas with other types of expertise beyond Python:
• JavaScript gurus
• HTML5/CSS3 whiz-kids
• Perl hackers
• Ruby warriors
• C/C++ experts
• PHP pros
• Fortran ninjas
Sunday, August 21, 11
9. Do we want diversity?
Diversity will make Python better:
• Innovation requires new ideas
• Python needs constant pushing in new, thought-provoking directions
(Note: “Python” refers to the entire Python ecosphere of Python packages, not
just Python core)
Sunday, August 21, 11
10. Are we good enough as-is?
Don’t we have enough Pythonistas with good ideas?
• Most of us are pretty bright
• Do we really want new ideas? We barely have time to implement the
current ones
Sunday, August 21, 11
11. It’s not just about ideas
Innovation is:
• 10% ideas
• 90% Pythonista bandwidth to implement the ideas
The opposite of innovation is:
• Stability/leaving Python as-is
• Falling behind while the rest of the world moves forward
Sunday, August 21, 11
12. So, let’s tap our resources
Easy places to start:
• women (52% of the world!)
• shy men
• students looking for thesis projects
• non-Python user groups
Sunday, August 21, 11
13. Suppose we have resources
what in the world do we do with them?
Sunday, August 21, 11
14. How to put the untapped resources to work
Why not start with my personal Python wish list?
“What would Audrey do with unlimited
bandwidth from an army of smart Python
developers”
(Disclaimer: I’m about to speak broadly about a lot of topics that I might not
necessarily have in-depth knowledge about.)
Sunday, August 21, 11
15. Wish list: Image processing
PIL is great, but we could do more:
• better scaling algorithms
• better encoding/decoding
• easier installation
Untapped resources to recruit:
• Researchers: undergrads, grad students, postdocs
• Photographers (eye for detail)
• CG artist-nerds
• anyone who wants to be noticed by Weta/Pixar/Dreamworks/Disney
Sunday, August 21, 11
16. Wish list: Python in the browser
Why does it have to be JavaScript?
• It makes me sad
• Skulpt: was an interesting idea; lost momentum
• Pythonistas are so desperate for an alternative that they’ve settled for
CoffeeScript
Sunday, August 21, 11
17. Wish list: Python in the browser
In jQuery:
$(document).ready(function() {
// Initialization code goes here
});
In CoffeeScript:
$(document).ready ->
# Initialization code goes here
In PythonInTheBrowserScript:
jq(document).ready:
# Initialization code goes here
Sunday, August 21, 11
18. Wish list: Python in the browser
We need an active Python alternative.
Untapped resources to recruit:
• Students looking for a world-changing project
• Hackathon attendees who need an idea to work on
Sunday, August 21, 11
19. Wish list: Cross-platform Python for mobile
Mobile apps
• Look at what JS folks have done with PhoneGap
• Why not Python?
Mobile games
• Look at cocos2d, cocos2d-iphone, cocos2d-android
• Why not Python?
The future is mobile. We need to catch up.
• No time to do this? Recruit untapped resources!
• But we have to care
Sunday, August 21, 11
20. Wish list: More Python packages
There are 16237 packages on PyPI as of August 19, 2011.
How many Python devs exist? 50,000? 200,000?
• Doesn’t everyone have a Python snippet to contribute?
How can we get every PyCon AU attendee to release a package on PyPI?
• Every Python dev in Australia?
• Every Python dev in the world?
• We ourselves are untapped resources
Sunday, August 21, 11
21. Example
I have a friend in LA who is a linguistics expert.
The same month she learned Python, she wrote these functions:
• syllable_count()
• automated_readability_index()
How does my friend put her work on PyPI?
If you can write a function...
• Function -> Module -> Release to the Python ecosphere
Sunday, August 21, 11
22. Wish list: Lower packaging barrier to entry
Current docs are good but could use improvements
• Need to explain jump from Function -> Module -> PyPI package
• See http://jacobian.org/writing/great-documentation/
What else might help?
• Need cheat sheet
• Web form to generate setup.py?
• Packaging workshops at user groups?
Sunday, August 21, 11
23. Wish list: There’s more
This is just the tip of the iceberg. So many possibilities.
See my Kiwi PyCon 2011 talk:
“Python and the Web: Can We Keep Up?”
Sunday, August 21, 11
24. Summary so far
What we need to do:
• Recruit diverse new untapped resources to Python
• Lower the barrier of entry to contribution
• Provide ideas/help them get started
• Teach them how to package
If we do it, then Python will flourish.
Sunday, August 21, 11
26. How to recruit untapped resources
Does your open-source Python project need more developers?
• Volunteer for Python events. Or start them.
Does your open-source Python project need JavaScript experts?
• Volunteer to present/help with JS meetups. Or start them.
Does your open-source Python project need more women?
• Volunteer for Python women’s events. Or start them.
• Be friendly & helpful in IRC channel #pyladies
Sunday, August 21, 11
27. Recruiting in any context
Open source project recruiting is interchangeable with company recruiting.
The best Python devs are open source devs.
The best Python companies ACTIVELY support open source.
Sunday, August 21, 11
28. Case study: Mozilla
Leads women’s Python workshops (PyStar)
Sponsored women’s grants for DjangoCon US (PyLadies)
Regularly sponsors other Python open-source events & conferences
Several Mozilla devs actively participate in #pyladies on IRC
Contributes to open source
Result:
• Constant attention from open-source folks like me
• Top developers are flocking to work there
Sunday, August 21, 11
29. Case study: Cars.com
Brings mentors to LA PyLadies workshops and sponsors them
Hosts hackathons at their office
Sponsored women’s grants to DjangoCon US
Volunteers countless hours helping PloneConf, Pylonscon, Pyramidacon
Actively participates in IRC channels #pyladies, #pyramid, and others
Contributes to open source
Result:
• Has been filling their job vacancies faster than other LA companies
• Is one of the top LA Python companies to work for
Sunday, August 21, 11
30. Future case study: Your company
Don’t just host Python diversity events; actively participate in/run them.
Encourage your dev team to be active in the open-source Python community.
Sponsor Python advocacy initiatives.
Contribute to open source.
Result:
• The Python community will thank you 100x.
Sunday, August 21, 11
32. Patterned after sister groups
PyLadies / Python Ladies is along the DevChix
lines of: Systers
Ladies Learning Code
PHP Women
DrupalChix (apologies if I forgot to list a group -
LinuxChix/AussieChix there are so many!)
Ubuntu Women
Debian Women
Fedora Women
BSDChix
FOSSChix
Apache Women
GNOME Women
KDE Women
Women 2.0 (women tech
entrepreneurs)
CodeChix
Sunday, August 21, 11
33. Turning smart ladies into Python ladies
Run a women +1 workshop; use a free Python workshop curriculum.
PyStar
• Earn badges by doing Python tasks
• Designed to be customized (forks encouraged)
• Less well-tested, but easy to modify/contribute back
Learn Python the Hard Way
• Type out exercises exactly as written, like music lessons
• Designed to be used as-is
• Very well-tested examples; book is free online
Sunday, August 21, 11
34. Turning Python ladies into Python leaders
Not all Python ladies are beginners!
• Get non-beginner PyLadies to mentor at workshops
• Help Python ladies submit/revise/practice PyCon AU talks
• Help female friends package (more) code
• Host local Python ladies’ dinners
• Be encouraging on IRC, Twitter, blogs, etc.
• Get Python ladies you know to join Core Mentorship, Web SIG, etc.
Don’t forget, you can:
• Replace “ladies” with any other under-represented group.
Sunday, August 21, 11
35. Things are getting better
Stay positive! Focus on what you can do.
Encourage people to get out of their seats and help.
PyCon AU: 2 female keynote speakers, 3 female regular speakers (20%), 35
female attendees (11.6%) up from 10 last year (5%), women’s breakfast
Kiwi PyCon: 1 female keynote speaker, women’s breakfast, lots of PR about
being woman-friendly
DjangoCon US: 0 female keynote speakers, 5 female regular speakers (8
applied, up from 1)
Sunday, August 21, 11
44. Thank you
Find me if you want to:
• teach a diversity-oriented Python workshop
• form a local PyLadies (Python Ladies) chapter
• build an army of Python developers from untapped resources
• just talk Python :)
Audrey Roy
audreyr@pyladies.com
twitter: @audreyr
Sunday, August 21, 11