Formerly an internal tools software engineer, Meggie Mahnken is now happy to be an instructor for Hackbright Academy’s 12-week software engineering fellowship for women. After much soul-searching years ago, she parted with studies in social cognition and feminist theory to become a software engineer. When she’s not computering, she enjoys modern dance, delis, and public speaking. Follow her on twitter @.
The Hackbright Fellowship Education Team had the pleasure of attending PyBay, the inaugural SF Bay Area Regional Python Conference. In planning this conference, the organizers (Simeon Franklin and Grace Law) hoped that it would be akin to the largest Python conference, PyCon, but specific to the Bay Area.
Walking into the conference on the first full day, I recognized some familiar faces: Hackbright alumna, fellow engineers I’ve seen/talked to at various Python meetups, and even some people I’d consider to be Python celebrities, such as Raymond Hettinger (core Python language contributor, but more importantly to me, answerer of many amazing Stack Overflow questions about the innards of Python).
Breaking it Down
There were roughly 38 talks, in addition to 20 five-minute lightning talks (one of which I gave!). In the closing statements, the organizers boasted that attendance was 25% women; this announcement was met with applause. The speakers at PyBay were 21% women, including the first keynote speaker. Comparatively, at PyCon 2016, 40% of talks were given by women. Talks were helpfully labelled in the program as either Data, Web, or Fundamentals and Performance.
For readers who haven’t attended a conference, I think it might be helpful to describe what a programmer– myself, in particular– hopes to get out of a tech conference. The promise of inspiration is what initially excites me about a whole weekend devoted to the primary language in which I code. When I attend a conference, I like to learn about a new library, code pattern, or an idea for a new side project. Other reasons I attend (in no particular order): to meet other Python programmers, to push myself to explore unfamiliar/advanced modules in the Python Standard Library, to get updates about how Python is currently growing and changing, and to critique other people’s explanations of things that I already understand. The last point is not meant to be arrogant or judgmental. When teaching Python to new engineers at Hackbright, it’s helpful to be thoughtful about which metaphors and examples work, and which don’t.
Flask and Familiarity
This was the first time the education staff was able to attend a Python conference together. We found that the types of things we teach at Hackbright are exactly the kinds of things Python programmers like to talk about at conferences– Python memory subtleties, HTTP protocol and cryptography, runtime and performance. Many of the talks reminded us of lectures we give at Hackbright while others helped us deepen our knowledge of the technologies we teach. For example, we attended a talk about Flask, the Python web framework we teach at Hackbright, given by one of the original authors of Flask, Armin Ronacher. It was delightful to see so many familiar code snippets up on the screen in a different context than our cozy lecture hall.
Personally, I wasn’t prepared for the extent to which educators are celebrated and even admired in the Python community. Some of the most popular and well-attended talks were not given by people who write mountains and mountains of code for big tech companies every day, but by people who teach Python for a living. Wesley Chun’s well-attended, lively, and informative talk on Python memory was reinforcing to me both in the sense that we are teaching relevant Python concepts at Hackbright, but also that teaching Python well is just as impressive and important to the community as writing code.
One of the talks that delivered particularly well (in the area of learning new libraries and new concepts) was Python Profiling & Performance: Elementary to Enterprise, given by Mahmoud Hashemi. Mahmoud took a Pythonic approach to understanding performance. Pythonistas (people who write Python) believe in practicality over purity. So, Mahmoud emphasized the importance of optimizations that actually matter, discouraging his audience from micro-optimizing their code. Improvements that you make to your code only matter in relation to the greater context. Can you make a small improvement to code that factors hugely in performance, versus a huge improvement to something that doesn’t play a huge part in determining the performance? It’s easy to waste time making meaningless improvements.
The Lightning Round
On the first day, I was pleased to hear that lightning talks slots were open to anyone wishing to give a 5-minute talk of their choosing. I seized the chance to present on a technical topic at a Python Conference, choosing to speak about a memory optimization technique for object-oriented Python programming. I signed up on the morning of the last day of the conference for a slot later that day. Throughout the day, something funny happened: though I lecture for 90 minutes at a time at Hackbright as many as 4 or 5 times a week, I immediately started feeling incredibly nervous about a minuscule five minute tech talk. I tried to distract myself throughout the day by trying to deploy my slide deck to my slightly ancient personal website, which helped a bit. Debugging old, crappy code that I wrote always calms me down. With the support and a couple of heroic code reviews from my coworkers, the talk went well. I was even able to show off one of the performance profiling tools I had learned about that morning, bringing the conference full circle for me.
Hackbright Academy is the leading engineering school for women in San Francisco dedicated to closing the gender gap in the tech industry. Learn more about our full-time software engineering fellowship, Intro to Programming night courses, volunteer mentor opportunities, and how to partner with us to hire female software engineers and #changetheratio of women in tech!