I’m self-nominating for re-election to the 2025 Python Steering Council.
As my second term on the Steering Council comes to a close, I’ve reflected (deeply) on the changes over the last two years, what we’ve accomplished as the SC and as a community, and what I think needs to be improved and addressed moving forward.
I’ll start by saying that my second term differed wildly from my first. 2023 rounded out with one of the most publicly-watched PEPs and the heaviest technical decision we’d had to make: accepting PEP 703. The SC talked for literal months before making a final decision, along with providing a years-long plan for how free-threading could become the default. 2024 has been far less controversial on the technical side (mostly) but led us into waters that were a bit uncharted for us: public and private scrutiny and the squishy people side of CoC violations.
To my fellow SC members, my appreciation runs deep for each of you. I can’t imagine the past year without each person’s empathy, open-mindedness, and brilliance. I’ll be voting for anyone who runs again (and I hope each of them do run), and I encourage you to as well. I don’t say lightly that trust and mutual respect are crucial for the SC to operate smoothly, and I’m grateful for yet another year of serving alongside a stellar group of people, especially in our more difficult moments.
Things We Did Well:
- Improved Council Communications: Though it took longer than anticipated, the SC hired a wonderful Communications Liaison, Velda Kiara, to assist with record-keeping and dissemination of meeting summaries. This has significantly improved our processes, allowing each SC member to fully engage in discussions instead of simultaneously taking notes. However, the SC still is a bottleneck for publishing notes that require our approval, which we can certainly improve upon.
- Delegation Empowerment: Generally, the delegations to working groups have run smoothly. The Typing WG has been particularly helpful with its recommendations regarding typing-related PEPs; I hope to see this continue for all councils and working groups, current and future.
- Developer-in-Residence Expansion: We added not one but two additional Developers-in-Residence due to available additional funding, which allowed us to hire our top two candidates. Funding for these roles is primarily handled by other stakeholders, both by PSF staff and representatives from the companies that provide said funding, and the future of these positions seems well-secured. If it were not, I would expect that the SC would assist in outreach to ensure these positions could remain for the foreseeable future.
- Mentorship Workshops: We hired a facilitator for workshop sessions and office hours aimed at “mentoring the mentors”, empowering our core team and growing contributors with better support structures. Based on our community feedback, I think this went well enough and was a good first step, but there’s absolutely more to be done here (see below).
Things I Want to Improve:
- Code of Conduct enforcement:
- I stated previously that I don’t think the SC should be involved in CoC enforcement. I still agree with this statement, but finding the right group to be responsible for this is not easy. As it stands, the SC broadly takes the CoC WG’s recommendations regarding suspensions. Offloading this to another group may not have the desired impact – I expect there to be significant discussion around how best to handle this. I do know that I would work to find an unbiased group of people who could react more quickly to incidents, as well as a more thorough and explicit process that included more direct warnings, shorter initial suspensions, and clear timelines and expectations for all involved. The SC hasn’t dealt with this enough (thankfully), but this past year has shown that the process needs more care and intentionality than it currently has. Ideally, this would come from a separate group of volunteers (the CoC WG) and some level of PSF-supported staff. I don’t know what the correct answer is here, but I do know that the status quo is harming our community and should be improved.
- Mentoring and fostering of underrepresented groups:
- Internally, the SC has discussed assisting with creating some sort of community-focused group responsible for ongoing mentoring and community assistance. As a related part of this, I think we need to be more intentional about the organization (or lack thereof) of community events such as the CPython Sprint at PyCon US and other major conferences.
- I want to be clear here: I think this is a significant area that requires time and dedication, which the SC likely does not have on its own. A new group that can be accountable to the SC and the wider community should be formed, but I’m not advocating for the SC to do this work directly; it is work that the SC can bring to light and help shepherd forward.
- Improved Council Communications and Transparency (again):
- I believe that the SC can and should be better about communicating the overall vision of how PEPs fit together and ensuring that initiatives that may be at odds with each other are unified with a future vision. We should also be more transparent about what is in our backlog and the expected response times when new PEPs or other issues are raised. As such, here are a few specific areas that I’d address:
- Continued Improvements to the PEP Process:
- We saw a few post-implementation PEPs hit this year, as well as PEPs that left folks wondering what the next steps were or how different implementations would work together (if at all). I think we need a reminder or a better process to determine what requires a PEP. I also very strongly want to see changes to how new modules can be validated with the wider community for PEPs that are approved but may need further testing before being locked into a release (we now have a PyPI org, so hopefully this can move forward soon!).
- Working Group Updates and Accountability:
- The WGs/councils/boards that the SC has delegated responsibility to primarily work independently and don’t require any assistance from the SC. This is great in theory, but I would like to see something like quarterly updates gathered and published together as an update on what each group has been working on.
- Management and Communications from Developers-in-Residence:
- The SC currently sits in an interesting position where DiRs are hired by the PSF and partially report to the SC. Currently, we meet with Łukasz every other week, but have limited communication with Petr and Serhiy. I’d like to see an improved comms structure to ensure that all DiRs have the support and direction that they need in their work.
- Financial Reporting:
- The SC has not historically published reports on our finances – I think this cadence could be improved upon and should be documented as a practice to continue. I would also recommend documenting this in PEP 13, as well as the role that the SC has over said budget.
- More Community Involvement and Feedback:
- I’ll keep this one short – but use the SC office hours! We want to hear from more folks when things are going well or when issues must be addressed. There’s often back-channeling or folks feeling unsure what can/should be brought up with the SC. When in doubt – book a slot to chat or just say hi!
All in all, I believe that the SC should do more to support the long-term vision of Python, both in its community and in its technical evolution. I by no means think that the SC should drive this, but the decisions that are made have wider-reaching impacts on this that we give credit to. Stamping an acceptance on a PEP without knowing how these things fit together is a disservice to the community that we serve. I hope to serve another year to see yet continued iterations on how the SC can best serve you.
Background Recap
- Python Core Developer since 2018
- Attended PyCon US Language Summits since 2017. Co-Chaired 2024’s summit.
- Participated in all but two Core Sprints since 2018
- PyCon US Co-Chair 2019, Chair 2020–2022
- PSF Fellow since 2021
- Co-Founder and Director of Engineering at Cuttlesoft (2014–present)
- Organized Python and JavaScript meetups pre-COVID
- Speaker and keynote presenter worldwide since 2018
- Implemented PEP 572 (Assignment Expressions)