Saturdays with Django
This weekend, I had the pleasure of attending the Django Girls RDU event. This workshop, hosted by a neighbor of the Viget Durham office, Caktus Group, is part of the global Django Girls initiative, which strives to inspire women to fall in love with programming. Based on my experience, I’d say the initiative is succeeding in its goals.
The workshop itself is a one-day event, where each attendee works through the tutorial document, which gives instructions on creating her own personal (Django-powered!) blog. Each attendee is placed on a team of three or four, and every team has a coach to help them work through questions or issues as they arise. The goal of the workshop isn’t necessarily to finish the tutorial, but to take advantage of in-person resources as much as possible. My coach, Hunter, was awesome to work with; instead of giving me answers, he guided me through answering my own questions. A true sign of a great teacher.
So, what was it like?
Overall, I thought the experience was fantastic; I’d definitely recommend it to any ladies who are interested in learning more about code. Whether you want to use it to jump start a life long career in programming, learn a new language, or just gain some perspective on what some of your coworkers do all day, it’s a great place to do it. As with most experiences, you’ll get out of it what you put in.
The tutorial is designed for anyone who wants to follow it; you don’t need to go to a workshop to get started. And, it’s designed to be pretty high level so a beginner could conceivably get through it in a day and get a blog site up and running. But, for some, programming can require a whole new way of thinking about and approaching things, and it’s on you, as the attendee, to unpack and digest the concepts that are brought forward.
Going into this workshop, my code experience was limited to the introductory HTML + CSS courses offered on Codecademy, putzing around with templates on a personal tumblr site, and conversations and meetings with the developers here at Viget and ones from previous jobs. So, I had a base understanding of how to talk about development, but not how to actually do so myself.
The great news is that I did grasp the majority of the concepts covered in the tutorial and was able to complete the basic blog site and build some additional features not covered in the tutorial, including some additional styling, adding additional static pages, and adjusting the experts shown on the blog homepage. Check out the work in progress here. I could have as easily succeeded by just following the instructions to a T and copy-pasting the code, but I wouldn’t be able to build on what I had done. And, I wouldn't have really learned anything.
Neat. What might I learn if I attend one of these events?
I learned so much in one day! Here at Viget, we use GitHub religiously. Up until this workshop, my experience was limited to creating milestones and issues. Now, I can commit changes, push to master, make pull requests, and all the things. Very exciting.
Of course, you’ll also learn some code! First, you'll be guided through some Python basics and then dive into Django. Some concepts you’ll learn include: models, URLs, views, and templates.
Some other things I personally learned:
It is so easy to make mistakes. I do my best to keep email correspondence and other written work as typo-free as possible, but anyone will tell you that my chat messages are all over the place. In this type of quick correspondence, I make a ton of mistakes (and don’t always take the time to fix them).
This approach obviously does not work when writing code. Everything needs to use the correct syntax and formatting. And, while a code editor will point out some mistakes, it won’t catch them all.
Deploying code isn’t as quick as I thought. I was spoiled on a recent project where our deploy process was pretty immediate, with no downtime. That’s not usually the case, and now I fully understand why developers might want to avoid continuously deploying every change they make.
Programming can be really fun. It’s awesome to put in a lot of hard work, and at the end of the day be able to point to the finished product and say “I made that.” And, unlike some of my recent DIY crafts, while the mistakes are easier to make, they’re also fixable. Pretty cool, I’d say!
If you’re considering a crash course in code, I’d say go for it! Not only will what I learned make me a better project manager, I could actually build something from here. Who knows what that might be?