This week we welcome Carol Willing (@WillingCarol) as our PyDev of the Week. Let’s spend some time learning more about our fellow Pythonista!
Can you tell us a little about yourself (hobbies, education, etc):
I love Python! The language, the libraries, and the community. Iâ€™ve met so many talented, creative Pythonistas in my Python journey, and you inspire me.
I work as an independent consultant in San Diego, spend time teaching and creating as a Geek in Residence at Fab Lab San Diego, and contribute to open source software and hardware as a developer, writer, and teacher. My days are filled with writing lots of code, taking apart vintage electronics, and encouraging others to fabricate their ideas with code, Raspberry Pis, Arduinos, and wearable electronics. The Fab Lab is a special place, and Iâ€™ve been nurturing a Gentle Code Garden there. The Gentle Code Garden is a cross between a Python sprint, an inclusive hackerspace, and a community garden.Â
My hobbies, such as restoring musical instruments, playing guitar/ukulele, tidepooling, and succulent gardening, are strongly influenced by my education and interests. My formal education includes an Electrical Engineering degree from Duke and an MS in Management from MIT with a focus on econometrics and technical innovation. Iâ€™m a voracious nonfiction reader, music lover, and a friendly introvert who enjoys hearing the creative thoughts and ideas of others.
Why did you start using Python?
I started actively using Python a few years ago. I became involved with OpenHatch and its Open Source Comes to Campus program. OpenHatch has a Python/Django codebase, and Iâ€™ve enjoyed working on documentation, testing, and some back end development with them. Iâ€™ve also learned so much about creating welcoming and productive open source communities from their contributors and supportive friends.
About the same time, I stumbled across music21 and IPython notebooks. The notebookâ€™s interactivity and the ease of visualizing music hooked me. It brought back childhood joy of exploring code and the freedom to analyze music without coding getting in the way. I wish that numpy, scipy, pandas, and Jupyter notebooks were around when I was in high school and college. It would have been a blast to learn math, visualize new science concepts, and share notebooks with my friends and study buddies.
While these projects got me started using Python, the San Diego Python User Group and PyLadies San Diego group inspired me to focus on Python for outreach and education. If you visit San Diego, please stop by our meetups and say hello to some great folks.
What other programming languages do you know and which is your favorite?
Iâ€™m a self taught programmer. I started programming in 6th grade by making Adventure-like games on a Bell Labs mainframe and in 7th grade recreating the Atari Breakout game on an early Apple II (amazing color graphics for the time). If you like retro games, check out this Adventure game from Brandon Rhodes or this cool Nethack and Python presentation by PyMntos member, Greg Moselle.
Over the years, Iâ€™ve had a chance to use and play around with many languages: Basic, Pascal, Fortran, SQL, C, TSP, Scheme, Smalltalk, Lisp, C++, Java, Ruby, ObjectiveC, Extempore, and Python. My favorite languages are C and Python, and my favorite programming tool is a huge whiteboard with tons of colored markers.
What projects are you working on now?
Iâ€™m working on a Django project for Systers as a Google Summer of Code mentor. At the Fab Lab, Iâ€™m working on creations and ideas using Raspberry Pi and writing notebooks using Jupyter. Iâ€™ve also been working on the Python Developerâ€™s Guide and understanding the CPython development workflow and processes. Iâ€™m also working on organizing an OpenHatch workshop for Open Source Day at Grace Hopper.
Which Python libraries are your favorite (core or 3rd party)?
Itâ€™s tough to pick out my favorite libraries and projects. I really like requests and github3py for the helpful maintainers, good design, and ease of use. Pandas, sympy, pydy, music21, and jupyter are also favorites. Cookiecutter, which is maintained by the very talented Audrey Roy, is also a favorite â€œgo toâ€ for me. There are many more that I love, and I could do a whole interview series on them.
Where do you see Python going as a programming language?
Iâ€™ve seen big strides in the past year to improve Pythonâ€™s packaging and making it more user friendly, and I thank those contributors that are working on this. In fact, a big thanks to all of you that contribute to the Python community and ecosystem.
Iâ€™ve also seen a steady shift, especially at the user groups, toward recommending Python 3 for new projects. Good work continues to be done by library maintainers to support Python 3, and weâ€™re starting to reap the benefits of this work.
Migrating Python 2.7 legacy projects will move more slowly especially if the project is mission critical for a companyâ€™s business infrastructure. This caution makes economic sense for these companies, and itâ€™s reasonable to expect that migration tools that minimize the cost and risk of moving to Python 3 will be key for these companies to build a strong business case and invest in future migration.
So for now, I see some simplified rules of thumb to promote healthy Python growth are:
- Encourage use of Python 3 for new projects.
- Continue helping library maintainers increase Python 3 support.
- Respect security and stability needs of Python 2.7 when used by businesses with established codebases.
- Continue educating users and provide high quality tools and resources to onboard new developers, as well as build skills of current Python developers
Is there anything else youâ€™d like to say?
If I could grant one future wish for Python, I would love for developers, problem solvers, and users across the world to hear the word Python and think â€œPython — the Peopleâ€™s Programming Languageâ€. I find Python to be an elegant and fun language, handy for prototyping, and inspiring for students of all ages to believe that they can build their dreams.
So if you wish to help grant my wish for Python, thank you! Encourage a friend or two to try â€œPython — the Peopleâ€™s Programming Languageâ€.
The Last 10 PyDevs of the Week