Notes from Pycon 2018
June 1, 2018A few weeks ago I was at PyCon, and just like last year1 it was an inspiring and motivating event. The sheer size of the conference, with its 3000+ attendees, paired with the ever expanding surface area of all the fields where Python is used, means that you’re constantly overwhelmed. The firehose spat out way more content than I could consume, and there were more interesting people walking around than I could realistically try to meet. Since all the talks are recorded, I focused on the latter, and tried to have conversations with a wide range of people, including a bunch of Twitter friends and acquaintances from previous conferences.
Below you’ll find a few highlights from the event, as well as links to further info on specific themes.
For a less technical view of my trip to PyCon, check out my other Cleveland post, which has a bunch of photos, too.
Open spaces
An aspect of PyCon which I find wonderful, and which I did not really take much advantage of last year, is the “open space,” also referred to as “the hallway track” or strangely “birds of a feather.” At the beginning of the conference, large boards are set out for anyone to suggest topics to discuss. People can write an idea on a sticky note and reserve a timeslot in a room, so that whoever is interested in the topic can come ask questions or share their knowledge. As you’d expect, the open spaces cover wide-ranging technical topics, from Modern SQL to financial engineering and ETL Pipelines, but also soft-skills like how to organize a local meetup, more philosophical discussions like society and technology, and even some completely unrelated social gatherings like the chocolate and juggling open spaces2. What’s fascinating about these is how they emerge on the spot, organically attracting people of different levels of experience and affiliations. An open space might have a beginner sitting next to the author of the most popular tool in the field. These impromptu meetings are a great way to network with people with shared interests who are solving similar problems but who are using completely different stacks. They quickly expose you to a bunch of different solutions.
Since each session is facilitated by different volunteers, the discussions are hit or miss, but some formats were particularly effective at channeling people’s thoughts for everyone to get the most out of the conversation. I’ll definitely try to use the lean coffee format in the future.
To a first-timer, it might seem that the talks with their structure and big name speakers are the better option, but after three conferences I am convinced that spending more time on the hallway track is the way to go. The open spaces are a great way to home in on the specific problems you’re dealing with, and they provide a great opportunity to network and keep the conversation going afterwards.
Inclusivity and community building
A point of pride for many Python programmers is that the project is run by one of the most inclusive communities in the software world. There were people from all over the world, and the organizers made a point of emphasizing how full price tickets pay for grants and scholarships for underrepresented populations.
One of the new experiments this year was the “Pycon Charlas” track: a set of talks in Spanish. I attended Maria Camila Remolina-Gutiérrez’s talk on astrophysics, and it put a smile on my face to see a woman from Colombia showcasing her technical work there. Representation is important, and this is one of the ways that the PSF recognizes that. I’m glad they are pushing in this direction. However, the Charlas were not recorded, which was an oversight. There are hundreds of thousands of hours of quality Python content in English that people can find easily online. While there’s some stuff available in Spanish and other languages, recording the Spanish track seems like a no brainer3. I hope the PSF doubles down on this great first step for next year, by making the material available to those who can’t make it to the conference. Adding live translation would also be a great addition.
The keynotes also did a good job of showing the ways in which Python is inclusive, and helps build communities, but more on that below.
The Apple Crowd
Before the conference started I sent out an email to one of the many Python users mailing lists at Apple and, not surprisingly, a lot of people whom I had never met before were also going to be there. We got together one night for dinner, and it was great to talk about how each of our teams use Python, and how we navigate the Python world at Apple. I was pleasantly surprised to hear from someone there that their team uses library that I wrote (as a side project over two years ago when I was in Maps!). One might move to new things, but code lives on!
I will make an effort to go against the grain of Apple’s culture and try to bring these people together more often. There really is no reason why we’d have to fly to Ohio to meet up4.
Reality Check
I have a bit of this every time I leave the San Francisco/Silicon Valley bubble, but it was especially poignant while talking to other software engineers who had come from all over the world, and who work on less glamourous but just as important software as the people who I usually hang out with and hear about here in SF. People from all sorts of backgrounds come to PyCon, and talking to them about their experiences reminded me of how lucky I am to be where I am. I ended up spending a lot of time with the Latin American crew, and it really put things in perspective for me. Most of the people who I met at the conference have the skills necessary to do my job, or could learn them in a reasonable amount of time5. I have been lucky to be at the right place, and at the right time, again, and again, and I recognize that.
If we met at PyCon (or even if we didn’t!) and you’d like to talk about this, drop me a note.
The talks
The keynotes were really good. None of them were too technical, but they all had deep messages to convey.
- Keynotes
- Dan Callahan discussed how JS has surged in popularity, not because it’s better designed, but because it targets the web. He talked about all sorts of wacky WebAssembly compilation experiments, and how we could use them to bring Python to the web, and empower a generation of programmers who might not have laptops nor desktops.
- Ying Li talked about security using children’s stories, and made a great analogy with having a healthy kid: You don’t know what the hell you’re doing, but you follow rules of thumb and check in periodically with an expert. During lunch, a woman at my table mentioned how much she appreciated Li speaking about giving birth and taking maternity leave on her keynote, a topic that is not usually discussed, and which I honestly had barely paid attention to until she mentioned it.
- Qumisha Goss gave the most inspiring talk I’ve been to in a while. She explained how she learned to code to teach kids at the Detroit public library. She pointed out that while there are issues with diversity in tech, there’s much more basic issues that are essentially invisible to the average techie - the kids in her classes are hungry, poor, and illiterate, but perhaps more importantly, they are ignored by most people who would attend an event like PyCon. Giving these kids access to technology starts with programs like Goss’s.
- Brett Cannon explained the human side of open source software, emphasizing that people on the core team that develops Python try to act in the best interest of the community, even if at times that means rejecting someone’s contribution. In his own words, sometimes, getting a pull request is like getting a puppy you didn’t want. That PR can be 10 years of pooping and feeding that the core dev team might not want to deal with.
- Catherine Devlin closed the conference arguing for small data, for incremental improvements to tooling, datasets, and APIs, and for empowering non-CS people to answer their own small problems with code. I especially liked this line of hers: “Amateurs are how the world stays in contact with what we’re doing. Amateurs tear down the curtain that separates professionals from everybody else. Without amateurs, we have mystery and alienation.” Let’s push for less mystery.
As mentioned earlier, I didn’t atend most of the talks, but a few highlights that I saw live were:
- Talks
- David Beazley’s Reinventing the Parser Generator, which was a total brain twister as expected, but sadly focused more on the what than the how.
- Ned Batchelder’s How Code Slows as Data Grows, which explained Big-O notation in simple terms and discussed why understanding high level ideas of time and space complexity is important.
- Lilly Ryan’s Wildman Whitehouse and the Great Failure of 1858, which told the crazy story of the first transatlantic communications cable, and compared the misguided project management decision from back then to today’s software engineering practices. Hint: we’re still making the same mistakes.
I’ll be posting thoughts on some other talks that I didn’t attend, but which I’ll watch on the PyCon 2018 YouTube channel later on, along with my usual links on technology and economics so if you’re interested, subscribe below.
Now its time to take some of the learnings from the conference back to my day to day work. That is the hard part. See you in 2019!
Photo: by me, also posted on Land of Cleves
Check out my Pycon 2017 retrospective for thoughts on last year’s conference. ↩
Yeah, I’m not kidding. Apparently some of these are recurring every year, too! ↩
This is the case for the audience, because of diminishing returns, as talks in Spanish are way more valuable at the margin with such constrained supply, but also for the speakers, who need the exposure much more than the average presenter from, say, Facebook. ↩
Seriously though, one of the people who I met there works on the same building and the same floor as me. We recognized each other’s faces, but had never talked to each other. We didn’t know what our teams worked on, or even that we worked with Python! ↩
Whether they’d want to be in my shoes is a totally different question - people have different goals and priorities. ↩
Want to see more articles like this? Sign up below: