Django Girls @ EuroPython 2014 - Girl-power to geek-power
My Berlin adventures continued after the Open Knowledge Festival and the Write the Docs unconference, when I had the privilege and honor to participate in the first-ever Django Girls workshop as a part of EuroPython 2014.
Why does the tech industry need Django Girls?
Some of my closer friends and colleagues know that I try to avoid the public debate about gender-bias, discrimination, sexism, and the low number of women in the IT fields. The reason for that is quite simple; I prefer to spend my time and energy kicking ass in said IT fields, and lead by example rather than by manifesto.
One of the efforts in the tech fields that I am a very big supporter of is programming workshops for women. As a self-taught geek with no university degree (and who worked long enough with others just like me) I know that sometimes all we need is a gentle nudge in the right direction and our minds will carry us forward towards leveling-up in life.
There are already a number of projects and organizations that have taken it upon themselves to reach out to women who are interested in learning how to code but aren’t confident that they can do it, or don’t feel like they will be welcome in the communities.
Projects such as PyLadies, Rails Girls, and Women Who Code are already quite known in the industry, and more local groups are forming every week. Unlike its predecessors, though, Django Girls went beyond the basics of coding (in fact, we didn’t actually write much code) and leveraged the power of Django to build our very first website from scratch.
So what does this have to do with coding?
Actually, not as much as you’d think, but apparently that wasn’t the point.
Most of Web development work nowadays doesn’t involve writing lines and lines of code, because so many components are already out there, open-sourced and available for reuse. The bulk of the developer’s day is spent on the peripheral tasks, like setting up (and troubleshooting) their environment, managing the back-end infrastructure, and decorating the front end with CSS templates from Bootstrap.
The workshop wasn’t trying to turn us into hackers, but instead aimed to give us an overview of the Web development process from conception to deployment, and it did a wonderful job at it. Most of us never coded in any language (basic HTML skills notwithstanding) and some of the girls never even used a CMS before.
By the end of the workshop we were already familiar with basic Python syntax, common back-end/front-end components, and troubleshooting practices for our computers and the sites that we built (StackOverflow is your friend!)
Why did I need Django Girls?
Even though the workshop was organized under the flag of “learn how to work with Django so that you might become a Web developer”, I didn’t have such aspirations. Unlike what some folks assume, technical writing wasn’t my fallback in case I didn’t “make it” as a developer.
Shock horror: I love writing. I love technical subjects. I love describing technical subjects in a simple and (hopefully) easy to understand way. And I love the English language, as simplistic as it may be in technical documentation.
My personal mission was made up of a few main goals, and some derivative goals that sparked along the way but seemed to integrate beautifully with the work that I was doing before, during, and after the workshop.
Challenge accepted: Learn the technology, contribute to the documentation?
The Django and Python communities established themselves long ago as documentation-friendly projects that values quality content. As a documentarian, I wanted to learn more about the technology and the workflows so that I can loop back the good karma and support their efforts.
As a Red Hatter who writes customer documentation, keeping up with the FOSS communities and how they write their docs is an invaluable source of inspiration and insight for my work.
Side-note: I’m extremely lucky to work at a company that encourages its employees to get involved with the communities and that recognizes the value of upstream/downstream collaboration; having a chance to learn from the best communities and apply this new knowledge both in the community and at my workplace is exactly what I envisioned working at an open source company would be like.
Achievement unlocked: Django Girls documentation sprint!
Even though I haven’t directly contributed to the Django documentation (yet, I’ve already got a few ideas on restructuring the documentation section of the main Django site), I already had a chance to utilize my technical writing experience and my inexplicable urge to organize all the things, by running a documentation sprint for the Django Girls tutorial as a part of the Django core sprint during the 2-days following EuroPython.
The brainwave came about after we realized that the tutorial needs a lot of work (a version 1.0 of anything is always a little shaky), and when I found out about the Django core sprint I thought it would be a great opportunity to get the girls to work on improving the tutorial, both for the sake of future workshops and to give them a chance to expand their knowledge beyond what the workshop provided.
The tutorial was written in Markdown, stored on Github, and published with GitBook, which cover the most widely-used components that I’ve seen in community documentation. Not only that, by teaching the girls to use Github they got to experience common tasks that developers go through (forking, cloning, pull requests).
Sprinting in the same space as the Django core developers proved to be a fantastic experience, as the developers were only too happy to jump in and help out. Being able to sprint side-by-side with the heads of Django and feeling like equals was an experience that I’m sure will accompany the girls for a very long time.
As for me, I didn’t do much work on the tutorial itself because organizer (facilitating and training is quite time-consuming), but I forked and cloned with the rest of them and I have a list of improvements I want to add specifically for Fedora users.
Plus, now there is a tutorial on how to update the tutorial, and post-workshop tutorial doc sprints are being included in future Django Girls workshops! How amazing is that?
Another side-note: I have lots more to elaborate about the documentation sprint in the context of my work at Red Hat and as a documentarian, but that’s a different post that’s coming up soon ;-)
Challenge accepted: Build a support network of women leaders?
In case anyone missed it, I’m pretty strong-willed and proactive (and yes, a little hyperactive). As such, I am always on the lookout for other like-minded folks to share in the excitement of changing the world (or at least our personal mini-worlds).
By attending the workshop, I was looking forward to building friendships and connections with other women who might not be experienced organizes, but who have the drive and that little “inner producer” just dying to get out.
Achievement unlocked: Django Girls everywhere!
Remember leading by example? This was definitely a good chance for it. Even before the workshop, I communicated to the girls about the Write the Docs unconference and some of them came out and enjoyed rocking some docs during the weekend.
The workshop organizers Ola and Ola (yes it’s a running gag but we love them!) also held a meeting during EuroPython where we discussed what it takes to organize a Django Girls workshop, and I got to hear the girls talk about some of the concerns and obstacles that they expect to face.
And then doc sprint happened, where I got to show the girls that sometimes it only takes one person to decide that they’re “going for it” to make things happen. Of course, this was a 1-day sprint at EuroPython and not a full-blown workshop, but combined with the empowerment that the workshop itself already created, I felt that I was able to contribute to the project in a reproducible way.
Now they have more than 20 requests from conferences and groups around the world who want to host Django Girls workshops, and I’m already working on collaborating with other Django girls to organize workshops in Brno and Vienna, as well as consulting for girls organizing the workshops in other cities.
We might even be able to get Django Girls to FOSDEM, who knows? The sky is the limit…
I really do feel blessed to have these women in my life now. They traveled from far and wide to Berlin for an entire week, not to mention the investment they made before the workshop to study as well as the work they’ll be putting in to organize more workshops.
These women are proactive, sharp, and brave, and we now have an amazing core of future community leaders, all women and all well-deserving of their achievements. There were even other Israeli girls in our workshop! Three Israelis out of 45 participants, respect!
Challenge accepted: Test your geek level?
When I applied to the workshop, I knew I wasn’t a coder and that I probably won’t become one after the workshop. But I am a total tech-junkie, self-taught with almost every application that I know (or at least apprentice-taught). I was ready to bash heads with some new technology, and the prospect of learning enough to generate output in one day was very appealing to my impatient-geek side.
Also, after looking at the tutorial and seeing an example of the site that we’re supposed to build, I decided to be a smart-ass (big surprise) and stretch the boundaries of the tutorial to make a different kind of site. Being a dance videographer in my spare time (have I mentioned that I’m hyperactive??), I had a video portfolio in the form of a YouTube channel with playlists. Kinda boring and not very personal.
So I decided that instead of creating a blog (which I already have, you’re in it now, make yourselves at home), I’ll create a video portfolio website that displays embedded YouTube videos. This way I can spend my time learning how to create and maintain something I can actually use, and that I’d feel attached enough to want to keep improving. Also, smart-ass.
Achievement unlocked: The geek force is strong within me!
One of the first things I realized during the workshop is that I know more about Python than I thought! Having documented Java software (front/back/API) for the past few years, it seems that I already had a pretty good grasp of object-oriented programming, and even though Python and Java syntax aren’t identical, the philosophy behind the languages has a lot of parallels.
I found myself looking at code snippets and *getting it*, which felt really good!
Working with DITA and DocBook gave me a solid XML basis that I could apply when reading through and organizing section tags in my HTML templates. And my experience using IDEs (Eclipse, IntelliJ) helped me keep track of my syntax and the color-coding was a savior when I needed to tweak the templates in double-quick time, which was good because I had so many environment problems that I ended up losing almost half a day fighting with my system and had to race to make the deadline for deployment.
Having managed to convince my coach Erika (you’re my kind of crazy, lady!) to humor me with my video portfolio idea, we hacked at the back-end database in order to make the object classes as flexible and reusable as possible.
Oh yeah, documenting data integration software *really* helped me understand back-end management and more or less saved my (smart)ass, as I was able to build (and rebuild and rebuild) the database until it did my bidding! Who’d have thought that knowing how to drop a schema would come in handy?
Extra geek-points example: I set up the base.html template (the main template that all the pages inherit from) to include the iframe embed code (taken from YouTube’s share function), converted the video ID to a variable, and created an object property called youtube_id, which showed up as a field in the form.
Feed the YouTube ID of the video, add the rest of the information and BAM - the video shows up embedded. This way, if YouTube ever changes their embedding mechanism, I won’t have to go back through n objects and change things there.
At the end of the day I had even more luck thanks to my recent experience with Git, as deploying to Heroku’s hosting service involved creating and pushing a Git repo to their servers. Once again I was surprised at how much I knew already, and I felt accomplished and very proud of the site that I built. It might not be the sexiest thing out there, but it works as I envisioned it and it is mine. And Erika’s ;-)
I know it took me a while to get this blog post out there, but it took me just as long to process the abundance of information and emotions that this workshop induced. I’m so so grateful that I was able to participate in such an important venture, meet incredible people whom I know will continue to be a part of my life, and even left my small doc footprint on the project for future participants to enjoy.
I absolutely must thank Ola and Ola for stepping up and organizing this workshop, and all of the Django core developers who jumped in and coached, facilitated, smiled and laughed with us as we trudged the fire swamps of Web development. Thanks also to PyLadies and EuroPython for supporting this project, and all the other sponsors without whom many of the women would not have been able to afford to travel to Berlin.