Vote to promote Michael Droettboom

I would like to propose promoting ​​Michael Droettboom as a core developer.

Michael was initially nominated as a triager by Christian Heimes in 2022 and since then he has authored 65 Pull Requests in the Python organisation, and was involved in reviewing numerous PRs from contributors and core developers (see stats below).

Michael Droettboom is a Principal Software Engineering Manager at Microsoft on the CPython Performance Engineering Team. He has been contributing to open source for over 25 years. Some of his contributions include

  • Former lead maintainer of matplotlib
  • Major contributor to astropy
  • The original author of Pyodide
  • The original author of airspeed velocity.

His work has supported such diverse applications as optical sheet music recognition, the Hubble and James Webb Space Telescopes, infrared retinal imaging and the Firefox web browser.

Apart from his involvement in managing the CPython Performance Engineering Team, his focus has been related to measurement of the interpreter, whether that’s benchmarks, coverage or pystats (optional event counters within the interpreter). He has made numerous improvements in the CPython performance measurement ecosystem, including the pyperformance suite and the pyperf tools.

In my experience interacting with Michael, he has proven several times that he cares about maintenance and backwards compatibility as much as he cares about speed and he has always reacted very well to feedback in this regard. I have always had a fantastic experience working with him in pull requests, issues and live discussion. He is very easy to work with and he has proven that he can listen to feedback and act on it. He is also kind to contributors and knows how to give effective and actionable feedback.

Here are some selected links and sections to get an idea of ​​Michael skills and accomplishments:

Statistics

Major accomplishments in CPython

Benchmarks

​​Michael’s contributions have mainly been to related projects, not CPython directly, but all in the service of CPython.

Additionally, ​​Michael maintains the bench_runner project, which allows anyone to set up a Github repo to run pyperformance benchmarks on their own hardware (self-hosted runners).

The results from using bench_runner on Microsoft-owned machines are published on the faster-cpython/benchmarking-public. In the future, ​​Michael will explore making benchmarking runners more of a public resource and community project if the security issues can be resolved.

Pystats

Though they were started by Mark Shannon, ​​Michael is probably the de facto maintainer of all things related to pystats.

Coverage

Michael started an effort to improve C-level coverage in the CPython test suite that resulted in over 65 pull requests from multiple contributors.

I talked to ​​Michael about this potential new role and its responsibilities, and he is excited to become a member of the core dev team. I am confident of ​​Michael skills and attitude and his dedication to improving Python and I am sure that he will be a productive member of the team for years to come.

Post-promotion mentoring

As it was done in previous promotions I will continue to mentor him for one month after his promotion (if it’s accepted) to help him to deal with his new responsibilities, and as I have done with previous mentees, I plan to require him to ask me before merging anything until he will be used to the process (although he is more than ready in this regard in my oppinion).

Vote process

As a reminder from PEP 13 regarding voting rules:

It is granted by receiving at least two-thirds positive votes in a core team vote that is open for one week and with no veto by the steering council.

  • Promote Michael
  • Don’t promote Michael
0 voters
18 Likes

I know the vote’s almost over, but just wanted to share my experience working with Mike. He has been instrumental in enabling the infrastructure and team culture necessary for data-driven decision making around performance improvements.

Since he became involved in the Faster CPython project, the quality and quantity of the metrics that I use to assess every change I make have improved dramatically… it seems like just yesterday I was manually shelling into a benchmarking machine, hoping my laptop didn’t fall asleep and kill the benchmarks I was running, and locally generating a textual comparison for a few dozen results. Now we have all sorts of memory, speed, and profiling data presented in an at-a-glance visual format for over a hundred benchmarks on like five different platforms at the push of a button.

There are a lot of big things happening to Python right now, and we need people like Mike to keep us honest (and also to help us celebrate the victories). An enthusiastic +1 from me… and not just because he’s my boss. :wink:

10 Likes

Ok, the vote closed with:

  • 34 “Promote” votes (97%)
  • 1 “Don’t promote” votes (3%)

I will now follow the https://devguide.python.org/coredev/#gaining-commit-privileges process.

Congratulations @mdroettboom :tada:

6 Likes

Welcome on board, @mdroettboom! I provided you with the required privileges.

5 Likes

Thanks! Glad to be here.

10 Likes