Python Programmers in Kampala
For my professional training I prefer to attend software developer conferences, and among these the EuroPython conference has grown close to my heart. What sets this conference apart is the fact that it is community-driven and therefore offers a range of presentations and events rarely seen at more commercial developer conferences. I remember a keynote from the EuroPython Conference 2017, in which the speaker from Nigeria talked about the lively Python developer scene in sub-Saharan countries. I learned from this keynote that Django Girls courses have been organized in several countries (Django is a Python-based web framework) and national Python conferences have been held in Zimbabwe, South Africa and Nigeria.
When I was planning my trip to Uganda (a seniority gift), I thought I would combine the useful with the pleasant. Why not take this trip and get an insight into the Python developer scene in Kampala, the Ugandan metropolis? With this vague idea in my head, I wrote an email to the speaker of this keynote and received her reply one week later, in which she referred me to a Ugandan software developer. Thus, the first contact was made and one resulted from the other and at the end I sat with about a dozen Python software developers on a hot Thursday evening in a tower block in Kampala and discussed the possibilities and problems of software development in this country.
App Economy and Quality of Life
When we hear the statement that the new technologies (Internet, smartphone and their applications) have changed our lives and have penetrated everyday life, we think of our lives in wealthy countries. Some may be surprised that this statement is even more true for people in less developed countries. The fact is that applications that make it possible to take out insurance or transfer money from one person to another are much more common in East Africa than they are here. Even if mobile communications has holes in these countries, it is still used intensively by the population. A recent NZZ article on “Safe Boda” in Kampala gives a good example how the App economy can improve the quality of life in developing countries.
Like most megacities in sub-Saharan Africa, Kampala is a juggernaut with an absolutely inadequate transport infrastructure. In concrete terms, this means hours of congestion for the inhabitants during peak hours. Those who want to arrive at a meeting point in Kampala on time and not lose too much time are dependent on Bodas for transportation. Bodas are motorbike taxis that wind their way through the congested streets in a breakneck manner. With the consequence that at times up to 70% of the emergency admissions in the hospitals were due to accidents with Bodas. “Safe Boda” is a company that offers safe transport with motorbike taxis. The company has been in business for three years. The company is characterized by the fact that all drivers have a driving license and adhere to the traffic rules. The drivers are characterized by orange helmets and an orange vest, also the customers are protected with a helmet. And very important: the drivers can be ordered to any point in the city with a corresponding app. While Uber is an inexpensive transport option for consumers, “Safe Boda” means time savings for customers coupled with a massive reduction in stress. “Safe Boda” thus brings a significant improvement in the quality of life for the residents of Kampala.
Python in Africa – More then a Snake
At the meeting with the Python programmers in Kampala we noticed that Python as an agile language would basically be good for the development of smartphone apps. However, the two dominant smartphone operating systems are designed for specific programming languages. For Android applications, for example, Google has provided an excellent development environment with Android Studio. However, this environment is specifically designed for the programming languages Java and Kotlin. This may be one reason why Python has not played a major role in app economics so far. This could change with the spread of progressive web applications (PWA).
As another topic we discussed Bitcoin and Blockchain. Uganda is quite poorly placed on the Transparency Index (rank 151 out of 180). Corruption and legal uncertainty complicate business activities between people who do not know each other and who, for this reason, have not yet been able to develop a relationship of trust. In such an environment, the Blockchain can facilitate business activity because the algorithm ensures rule-based behavior and thus solves the problem of lack of trust in the rule of law.
The participants were also interested in how to become a Python core contributor. Since I haven’t contributed to the Python core yet, I could only give an unsecured answer. In every open source project there are always quite different tasks. Not only the code has to be developed, the code includes a documentation which has to be written, translated and cleaned up. Especially in the area of documentation and its translations, there are good opportunities for interested people to gain a foothold in a community. In open source projects in general, the communities are very open and good contributions are quickly rewarded. If you have the interest and the time, you can quickly become an important contributor to the Python core, provided you have the necessary skills.
Finally, a participant asked me, referring to my PhD work on open source, what my findings were regarding the success of open source projects. Since my research really produced handy results in this respect, I am happy to present them here as well: Open source projects are successful if they can offer the participants a project vision. Those involved need to know what benefits the finished application will bring. Second, the project must offer the right challenges to the people involved. If the programmer can work between boredom and anxiety (i.e. he’s neither too much nor too less challenged), he is committed to the project in the long term and has a lot of fun with his work.
Benno Luthiger, Community Head “Software Development”