ZimboPy Mentorship Week
ZimboPy is an organisation made up of Python Developers in Harare, Zimbabwe that empowers Zimbabwean women and advances the cause of women in tech. They introduce women to programming through partnerships and mentorship programmes meant to equip them with skills modern developers should have.
On August 13 – 14, ZimboPy held one of their mentorship workshops at Impact Hub. The goal of this workshop was to introduce the attendees to the Django Web Framework and to give career advice to those interested in pursuing careers in Development. I volunteered to work as one of five mentors during the event and this involved helping the students get unstuck, setup their dev environments and debug errors in their code.
Roughly 30 women from Harare Institute of Technology (H.I.T), University of Zimbabwe (UZ) and Harare High showed up for the event. Some women had coding experience with languages like Java and C++ but many of the students had not written any code before. I was concerned that the workshop was going to be too difficult for the students without prior coding experience to understand but it turned out that I had nothing to worry about. The students all had an enthusiastic attitude and seemed very eager to learn and understand all the material that was presented.
The first day of the workshop was dedicated to setting up dev environments and introducing Django to the students. Installing the tools required to run Django on different operating systems is challenging and time consuming so the ZimboPy team setup accounts and workspaces in advance on a site called Codenvy. Doing this cut the time required to create environments down to zero. Codenvy is a service that offers an online IDE, workspaces and production ready runtimes. To work effectively, the students were grouped into teams and each team had access to their own workspace on Codenvy.
Mike Place, ZimboPy’s Mentorship Program Director led the training sessions and did an excellent job of setting up environments for the students, teaching and answering any questions that came up. Mike is a Python developer based in the US and is also the Director of Engineering at the SaltStack project, one of the largest Python-based open-source projects in the world. On day one, Mike introduced himself to the students and explained the path he took to get into Tech. After this, Mike introduced concepts that would be necessary for the students to understand before writing any code. The students learned about what Web Frameworks are and how they simplify development.
After the introduction to Django, the students were introduced to dependency management tools and virtual environments. I would like to believe that this part of the workshop was the most challenging and confusing for many of the students who were new to programming in Python. We answered a lot of questions about why it was necessary to use virtual environments in general and Pipenv in particular for the project we were working on. Virtual Environments are a clever way of keeping your Python projects isolated and Pipenv solves a lot of problems associated with packaging Python code.
After setting up environments and being introduced to Django, the students built their first “Hello World” Django app. The hello world building session ended with lots of smiles on the faces of the students because they were proud to make their first web application in Python. To guide the learning, we used an excellent book on Django titled Django for Beginners: Learn Web Development with Django 2.0″ by William S. Vincent. Each team of students had a copy of this book. The books were graciously donated by XMission, an Internet Service Provider based in Utah, USA.
After building their first Hello World project, we helped the students to put their project under version control and deploy it to Heroku. After deploying their applications to the Internet, the students got a chance to network over light snacks and recap on the progress they had made. The second day of the workshop saw the girls making a more complex application and learned about Django’s Class Based Views and templates.
The highlight of the second day were the talks given by two guest speakers Tafadzwa Chaunzwa and Emily Freeman. Tafadzwa is a Harvard Medical School fellow who works in the artificial intelligence and medical imaging space. Emily a Software Engineer who specialises in DevOps and is also the Vice President of Developer Relations and Product Marketing at Kickbox.
Tafadzwa and Emily both shared with the girls the work they do, their personal experiences, the routes they took to get into tech and gave the girls tips on how to make it in the industry. The choice of speakers was interesting because the two speakers took two very different paths to get into tech but are both very successful. Tafadzwa studied Engineering and Medicine in University and Emily studied Software Development at a coding bootcamp. The two guest speakers gave a lot of tips to the girls and also took and answered many questions.
The event concluded after the talks and everyone got to take a group photo: