Skip to content

Mob recruitment and leading: Python development

He says they are ‘hiring’ … and it’s an ad hoc group of volunteers trying to make Python better. The problem is significant: how do you encourage and motivate volunteers to join in and add to, rather than detract from, a project such as Python. Hettinger has some rather harsh words about the need to respect others in describing a few cases where good intentions tromped on others’ work unnecessarily. He covers the need for understanding a project identity and philosophy and some of the other factors that bring people together on a big project to make it better.

Raymond Hettinger, “Being a Core Developer in Python”, PyBay2016

What I’ve learned from being a maintainer and core developer for the past 15 years. Thoughts on channeling Guido, stability, hyper-generalization, Sturgeon’s law and [n]egativity, evaluating submissions, inability to predict the future, user centric design, treating mature code differently, believing in or doubting your predecessors, lever arguments and completers, problems of too many choices, implementation details, how much to document, needs of the standard library versus the needs of users, code that is dead on arrival and how PyPI changed everything, orthogonality, importance of skill and expertise, consistency and foolish consistency, optimization and premature optimization, security tautologies, argument ordering, operator abuse, avoiding race to implementation (we can all write working code), the naming of parts, economy of force and complexity balance, feature creep, developing for others, over reliance on Guido, great minds don’t think alike, preference for compactness, and aversion to deprecations. What it means to be completely reliant on long term unpaid volunteers.


Raymond has been a prolific contributor to the CPython project for over a decade, having implemented and maintained many of Python’s great features. He has been instrumental in modules like bisect, collections, decimal, functools, itertools, math, random, with types like namedtuple, sets, dictionaries, and in many other places around the codebase. He has contributed to the modification of nearly 90,000 lines of code in the CPython repository, and has made over 160 changes in the PEP repository.

Raymond has also served as a director of the Python Software Foundation, and has mentored many people over the years on their contributions to the python-dev community. He’s also well known for his contributions to the Python Cookbook, and shares many pieces of Python wisdom on Twitter. He received the Distinguished Service Award at PyCon 2014 for his exceptional contributions to the python community.

The talk is a good lesson on volunteer management and leadership and provides insight into what makes FOSS projects that are built on the work of tens or hundreds or even thousands of volunteer contributors successful.