SlideShare a Scribd company logo
1 of 44
Download to read offline
Diversity in Python
       it’s about untapped resources




       Audrey Roy
       twitter: @audreyr


Sunday, August 21, 11
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
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
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
Python diversity


       why we need to tap our untapped resources




Sunday, August 21, 11
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
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
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
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
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
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
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
Suppose we have resources
       what in the world do we do with them?




Sunday, August 21, 11
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
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
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
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
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
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
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
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
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
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
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
Recruiting the untapped resources
       how do we get them to help us?




Sunday, August 21, 11
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
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
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
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
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
Python Ladies (“PyLadies”)
       the growing women’s Python movement




Sunday, August 21, 11
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
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
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
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
Need more convincing?
       Python advocacy is fun




Sunday, August 21, 11
Women’s Python workshops (taught by and/or for women)


Sunday, August 21, 11
All-day Python project events


Sunday, August 21, 11
Python ladies’ nights, social hours


Sunday, August 21, 11
Promoting diversity of web frameworks


Sunday, August 21, 11
Advanced testing talk


Sunday, August 21, 11
DC Python presentation on PyLadies


Sunday, August 21, 11
The future of Python


Sunday, August 21, 11
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

More Related Content

What's hot

JupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewJupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewCarol Willing
 
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and CommunityLearning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and CommunityCarol Willing
 
Python Ecosystem for Beginners - PyCon Uruguay 2013
Python Ecosystem for Beginners - PyCon Uruguay 2013Python Ecosystem for Beginners - PyCon Uruguay 2013
Python Ecosystem for Beginners - PyCon Uruguay 2013Hannes Hapke
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationCarol Willing
 
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J..."Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...Jeremy Jarvis
 
Open Source Craft at Twitter
Open Source Craft at TwitterOpen Source Craft at Twitter
Open Source Craft at TwitterChris Aniszczyk
 
STEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubSTEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubCarol Willing
 
Declare independence from your it department sysadmin skills for symfony dev...
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...Pablo Godel
 
PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)Peter Wang
 
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
Apcug 2011 07-17-intro_to_drupal_jeff_schulerApcug 2011 07-17-intro_to_drupal_jeff_schuler
Apcug 2011 07-17-intro_to_drupal_jeff_schulerhewie
 
Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?Craig Marvelley
 

What's hot (13)

JupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" OverviewJupyterHub - A "Thing Explainer" Overview
JupyterHub - A "Thing Explainer" Overview
 
Learning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and CommunityLearning Python: Tips from Cognitive Science, Jupyter, and Community
Learning Python: Tips from Cognitive Science, Jupyter, and Community
 
Doonish
DoonishDoonish
Doonish
 
Eclipse e4
Eclipse e4Eclipse e4
Eclipse e4
 
Python Ecosystem for Beginners - PyCon Uruguay 2013
Python Ecosystem for Beginners - PyCon Uruguay 2013Python Ecosystem for Beginners - PyCon Uruguay 2013
Python Ecosystem for Beginners - PyCon Uruguay 2013
 
JupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science CollaborationJupyterHub for Interactive Data Science Collaboration
JupyterHub for Interactive Data Science Collaboration
 
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J..."Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
"Building a Resilient Cloud Infrastructure. From Scratch." - Cloud East, 28 J...
 
Open Source Craft at Twitter
Open Source Craft at TwitterOpen Source Craft at Twitter
Open Source Craft at Twitter
 
STEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHubSTEAM Workshops with Binder and JupyterHub
STEAM Workshops with Binder and JupyterHub
 
Declare independence from your it department sysadmin skills for symfony dev...
Declare independence from your it department  sysadmin skills for symfony dev...Declare independence from your it department  sysadmin skills for symfony dev...
Declare independence from your it department sysadmin skills for symfony dev...
 
PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)PyData: Past, Present Future (PyData SV 2014 Keynote)
PyData: Past, Present Future (PyData SV 2014 Keynote)
 
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
Apcug 2011 07-17-intro_to_drupal_jeff_schulerApcug 2011 07-17-intro_to_drupal_jeff_schuler
Apcug 2011 07-17-intro_to_drupal_jeff_schuler
 
Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?
 

Similar to Diversity in Python: Tapping Untapped Resources

Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)Kendall
 
The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!Bruno Rocha
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versaNathan Shammah
 
SoC Python Discussion Group
SoC Python Discussion GroupSoC Python Discussion Group
SoC Python Discussion Groupkrishna_dubba
 
PyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PY
PyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PYPyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PY
PyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PYKir Chou
 
Pentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterPentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterFrancesco Corti
 
Open Source Software for Libraries
Open Source Software for LibrariesOpen Source Software for Libraries
Open Source Software for LibrariesNicole C. Engard
 
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discus...
Scientific Collaboration with Plone: Sharing Bibliographies,   Papers, Discus...Scientific Collaboration with Plone: Sharing Bibliographies,   Papers, Discus...
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discus...Jazkarta, Inc.
 
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, DiscussionsScientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, DiscussionsSally Kleinfeldt
 
Welcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology InitiativeWelcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology InitiativeBasil Bibi
 
Urbit Launch Event
Urbit Launch EventUrbit Launch Event
Urbit Launch EventTinaBregovi
 
Activists archiving digital content created through OWS - AMIA - 2012
Activists archiving digital content created through OWS - AMIA - 2012Activists archiving digital content created through OWS - AMIA - 2012
Activists archiving digital content created through OWS - AMIA - 2012Anna Perricci
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsUwe Korn
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 

Similar to Diversity in Python: Tapping Untapped Resources (20)

Python Meetup: The Origins
Python Meetup: The OriginsPython Meetup: The Origins
Python Meetup: The Origins
 
Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)Intro to Python Workshop San Diego, CA (January 19, 2013)
Intro to Python Workshop San Diego, CA (January 19, 2013)
 
The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!
 
'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa'Scikit-project': How open source is empowering open science – and vice versa
'Scikit-project': How open source is empowering open science – and vice versa
 
SoC Python Discussion Group
SoC Python Discussion GroupSoC Python Discussion Group
SoC Python Discussion Group
 
Welcome to Python
Welcome to PythonWelcome to Python
Welcome to Python
 
PyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PY
PyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PYPyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PY
PyCon TW 2017 - Why do projects fail? Let's talk about the story of Sinon.PY
 
Pentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterPentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matter
 
Open Source Software for Libraries
Open Source Software for LibrariesOpen Source Software for Libraries
Open Source Software for Libraries
 
Business of APIs
Business of APIsBusiness of APIs
Business of APIs
 
Intro slides
Intro slidesIntro slides
Intro slides
 
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discus...
Scientific Collaboration with Plone: Sharing Bibliographies,   Papers, Discus...Scientific Collaboration with Plone: Sharing Bibliographies,   Papers, Discus...
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discus...
 
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, DiscussionsScientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
Scientific Collaboration with Plone: Sharing Bibliographies, Papers, Discussions
 
Welcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology InitiativeWelcome to the Brixton Library Technology Initiative
Welcome to the Brixton Library Technology Initiative
 
Urbit Launch Event
Urbit Launch EventUrbit Launch Event
Urbit Launch Event
 
Activists archiving digital content created through OWS - AMIA - 2012
Activists archiving digital content created through OWS - AMIA - 2012Activists archiving digital content created through OWS - AMIA - 2012
Activists archiving digital content created through OWS - AMIA - 2012
 
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" EcosystemsPyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
PyData Frankfurt - (Efficient) Data Exchange with "Foreign" Ecosystems
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Open Source for Libraries
Open Source for LibrariesOpen Source for Libraries
Open Source for Libraries
 
gsoc
gsocgsoc
gsoc
 

Recently uploaded

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
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
  • 25. Recruiting the untapped resources how do we get them to help us? 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
  • 31. Python Ladies (“PyLadies”) the growing women’s Python movement 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
  • 36. Need more convincing? Python advocacy is fun Sunday, August 21, 11
  • 37. Women’s Python workshops (taught by and/or for women) Sunday, August 21, 11
  • 38. All-day Python project events Sunday, August 21, 11
  • 39. Python ladies’ nights, social hours Sunday, August 21, 11
  • 40. Promoting diversity of web frameworks Sunday, August 21, 11
  • 42. DC Python presentation on PyLadies Sunday, August 21, 11
  • 43. The future of Python 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