Sustaining a Fast-Growing Community
Lessons from PyConZA on culture, flexibility and growing communities.
"Emotions matter. You can tell people how to behave, but you can't tell people how to think and not everyone reacts the same way"
PyConZA took place on 6 and 7 October at the River Club in Observatory. For me, the most impressive talk, and one that had nothing to do with Python, was given by Flavio. His talk was clear and engaging throughout. I strongly recommend the talk (now available on YouTube), as I believe it will help any young person planning to join the industry to be well prepared, at least in outlook.
He began by defining three basic terms: system, culture and flexibility. Their meaning was not entirely clear to me until he explained them in simple terms. Flavio defined a system as a means of empowering people to be amazing; a culture as the way people do things (another suggestion from the audience was the set of rules that defines how a system works); and flexibility as the level of tolerance for variance in the system. Someone in the audience also defined flexibility as the ability to change the system and the culture. Flavio then explained what he meant by these three terms. In particular, he emphasised that tolerating variance within a community empowers people from any culture to be simply amazing. At the same time, a community creates processes, which in turn lead to governance, and governance is essential for growth. Since governance should, in principle, follow the community, it is important to know and understand our community.
He went on to describe attitudes and behaviours that matter in a growing community. Being a good listener is crucial, even though we cannot make everyone happy. Being humble and objective simplifies things enormously. A community usually sets its own expectations, and clear expectations are essential for objectivity. It is also good practice to set the bar at a reasonable level. Above all, communicating expectations is key, and it is sometimes better to over-communicate. Acknowledging our colleagues at work is another important factor, as the contribution of every individual leads to excellent results.
Unlike computers, people are subject to emotion, and different cultures bring different perspectives, so it is important that we all strive for diversity. Tribal thinking, by contrast, is harmful; it is crucial to build a community focused on action rather than complaint. It is also important to recognise that many people wear different hats. Someone might work for Facebook while also holding a research position in academia. This is common, so it is important to understand others' situations. On a related note, we should all be mindful of time zones: you may be based in Germany while a colleague is in Japan, and you will need to accommodate this.
Towards the end, Flavio also spoke about statistics, noting that metrics can be counterproductive: once a number becomes a target, people will work to increase it, whether or not that serves the community. As a community grows, its processes will evolve. However, no matter how complicated things become, "technology is social before it's technical" (Gilles Deleuze). Finally, saying thank you will always make colleagues feel valued and respected.