Django Girls - Bangalore 2017

Earlier this month on 11th November I participated in Django Girls, Bangalore as a coach. Django Girls is a one day workshop aimed at encouraging more women to pick up programming as a career option by spending the entire day going through the basics of Python and Django and eventually building a minimal web app for themselves. I was the coach in the 2015 edition as well and had had an enjoyable experience. However, at the same time I thought I could have done a better job of being a mentor. The few key points that I had pledged to myself to improve upon next time were:

• I had showed up a little late at the event in 2015 and my team was already underway with another coach. I was introduced to my team when I arrived at the venue and we started with the workshop right away. This meant that I was unable to “break the ice” the way I prefer by telling my team that I was no different than them and I often got stuck with programming as well. As a result it is always okay to ask questions and as many times as it is necessary to understand a concept. Besides, if a participant is unable to grasp a concept after having explained it a few times then the problem surely lies in my teaching methods in not being able to use simple to understand instructions. And apart from that, one should always respect others time. I made ammends by ensuring that I showed up early at the event which not only meant that I was able to say hello to my team but also meet the other coaches. And we started right on time at 10 in the morning.

• I felt that I took longer than the other coaches to go through the Python basics at the workshop in 2015 and consequently felt a bit pressed for time towards the end of the workshop to cover all the concepts. I had also spent longer than what I intended on the CSS part of the workshop. This time knowing better, I informed my particpants that I would skip the CSS bits since I felt that the other core concepts about building a web app were more important and harder to pick up on their own. However I was unable to do much better than last time on the Python basics part of the workshop this time as well. But I’ve always felt that it is important to understand the basics of Python well before digging into Django. I had once tried teaching Python to someone while teaching Django at the same time and it did not go very well. While I do not have a better idea at the moment I am going think about this over time and try to come up with a better strategy.

Going through the basics of Python, understanding the concepts behind how the web works followed by those that power a web app and all in a single day is quite a tall order for anyone. I feel that (and I’m probably not alone) it might serve it’s purpose better if Django Girls could be split across two days, one for Python and the other for Django. But that also presents its own challenges like finding a venue and coaches who can spare that amount of time at a stretch. I will not go deeper into this as that is a topic for another blog post itself.

Another set of challenges that come with becoming an efficient coach are that:

• One should always be very patient and open to answering as many questions as required. There’s more on this in the Coaching manual. While reading, I was pleasantly surprised to find the social rules of the Recurse Center adopted into it. I attended the Recurse Center earlier this year and it is by far my favourite programming community and the best experience of my life.

• Not all the participants are on the same level. Some might have more programming experience than others and some might be already familiar with a few concepts being taught in the workshop. As a result, being a coach it is important to ask everyone about their programming background instead of assuming that they must know a particular concept already. One strategy that works best is to describe all the concepts from a beginner’s perspective. The ones who do not know about it get to learn, while it works as a refresher for the ones already familiar with it.

• A participant on my team showed up late on each of the 2015 and 2017 events, which is probably my penance for showing up late myself at the 2015 event. It is always easier if everyone is on the same page but with a participant showing up late I felt like I was juggling tumblers while standing on a football and trying to balance a stool with one leg at the same time. It was surely stressful for me but I felt that it also hampered the other participants’ progress who were already there on time. The strategy that I applied to manage this situation was to ask the person who showed up late to start reading a particular section from the tutorial with a very small and focussed topic. During the time that she was reading, I switched over to explaining other concepts to the remaining members of my team and once done asked them to work on a small and isolated task related to what I had just explained. I switched my attention back to the other participant who was already reading up on something else. My end goal was to get her upto speed with the others as soon as possible, which meant I had to ask her to skip a few parts in between. There were times when I found myself explaining critical concepts like what is an HTTP request and the difference between a GET request vs a POST request or how a database table maps over to a Django model. At such a juncture I would ask her to pause her work and listen along instead. I rinsed and I repeated.

At the end of the workshop I asked for the attention of all the particpants and told them to form groups within themselves to stay connected with each other. The reasoning being that it is easy to slack off after the workshop and if one does not follow up and build upon what they spent an entire day learning then the entire workshop is rendered useless. I told them that it is easier to continue working on this in a group rather than alone, since then they would be accountable to each other. This thought did not occur to me during the 2015 event and I see it as a lost opportunity. Someone suggested to create a facebook group and add them or create a mailing list. However I insisted that they exchange contacts at the event itself because tomorrow never comes and it’s hard to regain the lost momentum later on.

Finally after the long day, I had dinner with the rest of the coaches and a few particpants. As a result of the workshop, I got to meet a few people whom I only knew by twitter handles and IRC nicknames. Organizing this event was no mean feat, and special thanks to the organizers for selflessly putting in their time. It was great to have been able to give back to the community and I look forward to another one soon!