0

Recommended talks

Yesterday I gave the closing keynote at PyTennessee. In it, I referred to eleven great talks that informed my own work. Without the honesty, bravery, and authenticity of these folks, my talk would not have been what it was.

If you can make the time, I highly recommend the following presentations:

Thanks for your important work!

PS: I’m not sure my PyTennessee talk was recorded, but you can watch a much shorter, earlier, and more light-hearted version of some of the ideas covered here, or catch me at PyCon or OSCON (Austin) this year. ❤

4

CodeNewbies

Today I’m thrilled and honored to be this week’s featured guest on Saron Yitbarek’s CodeNewbies podcast. Listen here! I talk about my journey learning to code as I transition from working as a chef, and I share two personal, painful stories that served as significant turning points in my journey.

Saron and I met at ELA Conf in November, where she gave the inspiring keynote “Punching Your Feelings In The Face” about her journey learning to code and becoming more assertive. You can watch her talk on YouTube here. It starts at 4:00.

The point of the weekly CodeNewbies podcast is to talk with people about their coding journey in hopes of helping listeners with theirs. The podcast is just one feature of Saron’s incredibly supportive CodeNewbies project and network, which includes a blog, a weekly Twitter chat (Wednesday at 9pm), even local meetups. I was introduced to CodeNewbies by my awesome friend Kojo, who spoke at DjangoCon US in 2015. And at last week’s PyLadies meetup, I had Atlanta’s CodeNewbies organizer Kim Crayton give one of our most inspiring and powerful talks ever, on effective mentorship.

Saron invited me to speak with her CodeNewbies audience because she enjoyed my talk at ELA Conf, Bake the Cookies, Wear the Dress: Bringing Confident Authenticity to Your Tech Talk. (It’s also the one that Lacey referenced and found so helpful for her PyLadiesRemote workshop, Your First Conference Proposal. (Watch the video of Lacey’s talk here.) You can watch my talk here on YouTube – it’s only about 20 minutes!

I gave that talk because when I was getting ready to give my first talk at PyTennessee in February 2015, I received some really bad advice about how I should do it. Advice so bad, it almost kept me from even giving the talk – which, if you’ve followed my journey since a year ago, you know would have prevented a million other wonderful things from happening on my journey with code.

I gave the talk to inspire folks to give talks and lead with confident authenticity, to connect with your audience in a deeper way, and to encourage people – especially newbies – who might need a little more help getting started.

It’s also helpful to draw on your past experience for powerful analogies, and empathy, to your current challenge. As Saron and I discuss, before I started learning to code, I was a personal chef. Cooking was something I became an expert at over time and with effort applied.

But when I decided I wanted to shift gears and learn how to code, I was incredibly nervous. I reminded myself that if I had managed to learn this other skill, and become quite good at it, maybe there are lessons from that journey that I could apply to this new challenge.

Critically, this attempt came at a crossroads in my life. As I explain starting at around 6:00 minutes in, I committed myself to learning to code in the midst of an extremely difficult breakup of a nearly six-year relationship with someone I absolutely adored.

My quiet, personal shorthand for it was that I wasn’t just Learning Python the Hard Way, I was learning it the extra, super, mega, actually-the-hardest way.

With Saron, I talk about how I worked through that incredibly challenging time and, after a period of intense grieving, used it as the foundation to recommit to myself.

It was a turning point where I realised, in my journey to code, that I had been sinking a lot of my time and love and effort into somebody else’s goals. This was an opportunity to reverse that; I could start sinking time and energy and love into my own path.

And this is really common for women – we’re more likely to assume roles as caretakers for children, partners, aging parents, and so on. We end up putting the needs of others before us; we put our own goals on hold. This was a common theme I heard from attendees of my Django Girls workshop.

Listening to myself on the podcast, I remembered that when my ex broke up with me, he wrote me an incredibly heart-felt letter and he said exactly this. It was so hard to read that letter, but it contained so much wisdom. Even though he ultimately decided he couldn’t be with me any more, he watched me for six years pour myself into others, and desperately wanted me to do that for myself. In his letter, he asked me to. He knew.

In the year and a half since it happened, I went on to speak at conferences, travel Europe solo, meet so many amazing new, close friends, and dig deeper into Python and Django. I’m giving my first keynote this week at PyTennessee, the conference where I got my start.

Wearing a “power dress” and #cookieselfie-ing, I’ve challenged myself in ways I never thought possible, and importantly, instead of having one important developer stand by me in support, I have found myself surrounded by an entire *community* of caring, talented people.

djangocon-cookie-selfie
djangocon-cookie-selfie1
djangocon-cookie-selfie2
djangocon-cookie-selfie4
djangocon-cookie-selfie7
djangocon-cookie-selfie5

Thank you listening, and thank you for being there.

1

Scary questions at Django Girls Atlanta

This morning I was cleaning off my desk and found a stack of notecards from Django Girls Atlanta. They formed the basis for one of my fondest memories of the event, so I thought I might take a moment to share. Whether you’re planning your own Django Girls or involved in mentoring more generally, I hope you’ll find it useful to hear some of the things new coders are afraid to ask, but really want – and need – to know.

Backstory: the cards were used in a raffle game called “Scary questions”. On each, a student wrote something she was afraid to ask for any number of reasons. Perhaps she was nervous that her question was too basic, and presumed it a possible “waste” of her coach’s valuable time. Or maybe she felt guilty because it seemed like something she should already know… and was embarrassed to admit that she didn’t.

Whatever the reason, our Django Girls were invited to leave it at the door and ask away for the chance to win an O’Reilly book: Lightweight Django, Automate the Boring Stuff with Python, TDD with Python, Introducing Python, Think Python, the Git Pocket Guide.  Students entered the raffle by writing their questions on an index card and dropping it into a box. When it was time to draw one, I asked all of the coaches in the room to stand up. Once the question was read aloud, any coach could answer, and then the student who asked was identified – the winner!

Here are the actual questions that were asked, transcribed from the notecards as written:

I’m afraid to ask and would like to know this, so… what’s the difference between a software engineer and a programmer?

What exactly is a repository and how does it work?

What does GitHub do again?

How can I get involved with developing the Django source code?

How would I control the name of my URL?

What is the real difference between Django and WordPress? Are they both CMSs?

What is Bash? I have seen it several times today in my console and on PythonAnywhere.

What is the difference between and/or importance of a virtual environment and a virtual computer?

Do we have to use PythonAnywhere? Is there another way to host our work online?

What if I’m embarrassed of my coding skills, should I still upload to GitHub?

What is Spring? How does it compare to Django?

Should I still apply for jobs even if I don’t meet all the minimum requirements for the posted job?

How difficult is it to break into programming if you are a novice?

How long will it take to master Django/Python?

I’m not really afraid to ask any questions at this workshop, but in general I am afraid that I will never know enough about programming to get a job in it. When will I know enough??

How do I keep going? Where can I get help if I need it in the future?

Mostly I was afraid to ask how all this information is connected.

It’s important to note that raffle was at the close of the workshop, in the last hour of our second day together. Even after sitting with a caring, knowledgeable coach and working on a supportive team over two days, our students still had questions that ranged from specific “basics” (what exactly is Bash, again?) to the more generally intimidating (can I ever really master this? How will I know I’m ready?).

I enjoy giving talks at tech conferences about the experience of being a beginner programmer, because once you’ve mastered something, or even developed a working proficiency, it’s remarkably hard to remember how significant the barriers to entry can feel when you’re first getting started. Yet getting a feel for what it’s like is crucial for effective, compassionate coaching. I hope you’ll consider these questions thoughtfully and remember that even when we do our very best to provide welcoming, supportive learning environments, there will still be some “scary questions”. What will you do to help ease that fear?

1

Django Girls ATL

Atlanta’s first Django Girls was Friday, September 25 & Saturday, September 26. It was a huge success!

A picture of Django Girls Atlanta attendees and coaches.

While it’s still fresh in my mind, I wanted to take some time to write up how it went.

My hope is that if you’re planning a Django Girls workshop, you’ll find this encouraging, and maybe pick up a few good ideas. If you’re thinking about sponsoring, I want you to see how very worth it supporting the workshop will be. And if you’re considering coaching, volunteering, or attending as a student, you’ll see how much fun you’ll have!

Planning: from the beginning!

I learned about Django Girls from my friend Anna Ossowski, who gave an inspiring talk at PyTennessee this February. It was so inspiring, in fact, that I decided on the spot that I wanted Atlanta to have Django Girls. I returned home full of great ideas, new connections, and the drive to make the workshop a reality.

However, there wasn’t really a community for women doing Python in Atlanta. Our PyLadies meetup was dormant at the time. If this was going to happen, I’d need to lead the charge! Thankfully, we did have a very active PyATL Meetup that I’d been attending, where I made and expanded connections.

In the spring, I worked with PyATL organizer Doug Hellman and my PyLadies co-organizer Alianor to sketch a vision for PyLadies and get it up and running again. To grow momentum and interest in Python among women in Atlanta, I wanted to host Django Girls. Doug & Alianor were supportive, and I gave a talk at PyATL in May where I explained the Django Girls program and invited folks to join as volunteers and mentors.

There were few sign-ups at first, but there was enough to give me confidence to keep going. I figured that since the event wasn’t til the fall, there was still time. Indeed: after giving another PyLadies talk in August at PyATL, we had enough coaches to make the event possible!

I made the Twitter account on July 20 and the website went live about a month later, on August 13, after I’d secured our corporate sponsorships.

 

A picture of students from the Django Girls workshop.

A picture of students from the Django Girls workshop.

Sponsorships: 100% Funded by Tech Companies

Okay, now that you know the backstory, let’s talk about corporate sponsorships. If you know me outside of this post, you might already be aware of my background in professional fundraising. So let’s have a few words about how you might manage sponsorships, especially if it’s something you’ve never done before.

The most important aspect of fundraising is probably what you love the most about Django: the people. Effective fundraising is all about telling stories about your values and vision to someone you hope will share them. Whether you’re trying to raise $500 or $5000, you need to be able to do the same, basic things: reach out to your contacts, articulate your vision, ask for support, and thank them profusely when you get it.

Django Girls ATL was 100% funded by tech companies who care about diversity and creating opportunities for women. Two of our sponsors are based here in Atlanta: MailChimp and Kabbage, Inc. DreamHost is based in California, but they have employees here, awesome folks I met through PyATL. ThoughtWorks is based in Chicago, but they have a (totally gorgeous, amazing) office in Atlanta.

For each of these companies, I connected with someone who shared my vision and advocated internally for Django Girls. Thanks go to Ryan at DreamHost, Alianor at MailChimp, Chris at Kabbage, and finally, Rick of Atlanta’s Clojure meetup, who put me in touch with our event host Ryanne at ThoughtWorks. The help and internal influence of each of these folks was critical.

A picture of students from the Django Girls workshop.

A picture of students from the Django Girls workshop.

A picture of swag from the Django Girls Atlanta workshop.

A picture of a student from the Django Girls Atlanta workshop.

A new way of doing swag: partnering with Hello Web App!

From the Klean Kanteens at DjangoCon Europe to the belt buckle at DjangoCon US, Django conference organizers make an effort to offer thoughtful swag. I wanted to do the same for my first class of Django Girls by including something that would help attendees continue with their study after the workshop. What could be better than a copy of Tracy Osborn’s fantastic tutorial Hello Web App?

When I talked about it with Tracy at DjangoCon, she was thrilled! When she told me that she’d found a sponsor – thank you Opbeat! – to cover the cost of donating the books to my workshop, I was elated! It was a win-win.

Since Tracy and I share a love of selfies, I asked our students to take “Hello Web App selfies” and tag them with @limedaring, @opbeat, @hellowebapp and the hashtag #thankyouHWA.

A picture of participants from the Django Girls Atlanta workshop.

 

A picture of participants from the Django Girls Atlanta workshop.

Attendance: 100% Participation with NO no-shows

As anyone who has ever put on a free event might tell you, there are always going to be people who sign up but don’t show up.

Imagine my surprise when I handed out nametags on Friday evening and discovered that every single person who RSVPed was there: every coach, student, and volunteer! We had 100% participation with NO no-shows both days!

Fabulous Django Girls organizer Lacey asked me to share the communication plan that might have enabled this achievement. It probably helped that I communicated, very clearly, how important it was for people to confirm their attendance. This message, which went out two days before the event, really captures it:

An email that was sent to Django Girls attendees about the importance of RSVPing.

We actually accepted attendees on two different occasions. At first, 20 people were accepted into the program. I had them confirm their attendance with one week of receiving acceptance. If you did not confirm, I gave you one more chance by sending a personal email. One person did not respond, was removed from the roster, and was notified.

Within a few weeks, people who had confirmed said they actually wouldn’t be able to make it. I also got a few more coaches. This combination meant I could accept more students, so after talking it over with Lacey, I decided to accept new applicants for “one day only!” a few days before the event. Seven new students were admitted to the program for a total of 24, and the waiting list grew by dozens.

In my communication, I emphasized the specialness of this opportunity and the length of the waiting list. Lots of Atlanta women would have loved to be in the first class of Django Girls, but because of space, we could only accept 24. Even though it was a free event, I wanted people to take it seriously. I’m so glad they did!

A picture of a whiteboard with hashtags and "YAY" in big balloon letters.A picture of thank you notes.

An image of a heart-felt thank you note from a student to her coach.

Thanking folks: it’s really, really, ridiculously important

Showing gratitude is an important step of fundraising that often doesn’t get the attention that it deserves. It’s not enough to make connections, make your case, and ask for money. You have to let folks know you appreciate it, and what a difference it made!

A spirit of sincere thankfulness permeated this workshop. I thanked the students, coaches, and volunteers for their hard work every time they arrived and at each break. I also had them extend their thanks to the folks who made this possible by doing the following:

A picture of participants from the Django Girls Atlanta workshop.

A picture of participants from the Django Girls Atlanta workshop.A picture of participants from the Django Girls Atlanta workshop.

 

A picture of participants from the Django Girls Atlanta workshop.

A picture of participants from the Django Girls Atlanta workshop.

Provide quality food that everyone can eat

As someone with dietary restrictions, I know all too well the disappointment of attending a special event and being served iceberg lettuce while the folks around me enjoy creamy, decadent, thoughtfully-prepared delights. And as a former personal chef, I really care a whole lot about making food delicious. For this event, I was determined to provide food that everyone could eat and enjoy.

The thing is, the most accommodating cuisine you can serve is vegetarian/vegan, because everyone can eat it! (It’s also a feminist issue.) My students and coaches had a variety of dietary restrictions, from “no pork” and “dairy free” to vegetarian and even vegan. I decided to make the event fully vegetarian and mostly vegan to make everyone feel welcomed and cared for.

For Friday night, we had a vegetarian fajita bar with fajita veggies, seared orange tofu, two types of beans, and all of the fixins, from Willy’s Mexicana Grill. Saturday breakfast was giant fluffy cinnamon rolls, five types of scones, bagels, and gluten-free biscuits, all baked fresh that morning by local bakery Dulce Vegan. Gluten-free attendees also received fresh fruit and dairy-free yogurt.

For Saturday lunch, the students were treated to a full Italian feast: spaghetti with homemade marinara, gluten-free ziti marinara, veggie chicken francese (vegan chicken in vegan butter, white wine, and whole fresh lemon slices), vegan eggplant parmigiana, and veggie chicken marsala (vegan chicken in marsala wine with mushrooms). There were also tons of garlic rolls and two giant salads. This was provided by Vito’s Pizza and Ristorante in Alpharetta. The owner even delivered everything!

A picture of participants from the Django Girls Atlanta workshop.

A breakfast of vegan cinnamon rolls by Dulce Vegan and a nice big fair-trade coffee to start the day. Why not?

A picture of lunch: Italian food.

A picture of a lunch plate: Italian food.

A picture of decorated cupcakes.

Oh, and I baked cupcakes the morning of the workshop (yes… I know…) because it’s not a Django Girls event if you don’t have cupcakes!

I cannot tell you how many times people came up to thank me for providing quality food that they enjoyed and could eat. People were so, so, so happy. One attendee who was not vegetarian, but who has severe allergies to gluten and dairy, said that it was the most care she’d ever received at a special event.

For any organizers out there, here’s what it cost to serve 40 people the following meals:

  • Dinner Friday night: $516.92
  • Breakfast Saturday morning: $270.00
  • Coffee service Saturday morning: $122.32
  • Lunch Saturday: $545.39
  • Coffee service Saturday afternoon: $122.32
  • Snacks Saturday afternoon: about $50

As a thank you to the coaches, I budgeted funds to take them out to a nice dinner and drinks at Wrecking Bar Brewpub, an award-winning brewery and restaurant. They had a great time! When you’re saying thanks, don’t forget to find a meaningful way to acknowledge the sacrifice that your coaches and volunteers make to help out at your event.

Picture of Django Girls Atlanta coaches looking tired.

Don’t worry, these tired coaches were treated to a really nice dinner and lots of beer following. Do it right!

 

A picture of participants from the Django Girls Atlanta workshop.

A picture of participants from the Django Girls Atlanta workshop.

A picture of participants from the Django Girls Atlanta workshop.

A picture of participants from the Django Girls Atlanta workshop.

Think quickly, be flexible, and remember: Have Fun!

People kept coming up to tell me how well-planned the event was, how seamless the transitions were, and how wonderfully structured it was. And surely, I gave some thought to how I wanted things to go in advance. But it’s important to be open to thinking quickly and flexibly, because there’s only so much you can plan in advance. Also, remember, you’re supposed to have some fun with it! When you’re relaxed and having a good time, you more easily think of solutions to issues as they come up.

For example, when my O’Reilly books didn’t arrive by the event to give away as prizes, I didn’t fret. We still did the raffle, but instead of giving folks their prizes that day, I invited all winners to pick up their prizes at the next PyLadiesATL Meetup on October 20. This way they get what they won, but also have an incentive to continue community involvement by checking out a meetup (possibly their first!).

Similarly, even after folks went back for seconds and thirds of lunch, we still had lots of leftovers because our caterer was so generous. I used to volunteer at a homeless shelter where they serve the residents a hot meal every night, either prepared in-house or donated. When I called to ask if we could send over our untouched pans of pasta, salad, and bread, they were thrilled! (Thanks to my sweetie Curtis for making that very special delivery.)

If I had been really stressed out, I probably wouldn’t have been thinking clearly, and definitely wouldn’t have had as much fun. So remember: whether you’re on your own as I was, or on a team, make sure you have a good time!

Teachers standing with their students during a game

So serious during one of our raffles.

A picture of six Python books that were given as raffle prizes.

Our awesome raffle giveaways!

13_chris

Coach Chris explains how it all fits together.

07_stickersandtattoos

Stickers and tattoos!

Final notes:

These are just a few random thoughts that might help other organizers:

  • Don’t forget to have first aid kits! Ours had ibuprofen, acetaminophen, Midol, migraine medicine, Tums, band-aids, Neosporin, alcohol wipes, cleansing cloths, tampons, and sanitary pads.
  • Provide pens and paper for your students! They were in our swag bags.
  • Have a raffle to reward attendees and break the monotony! We had two! You could enter to win an awesome O’Reilly book, or Two Scoops of Django, by answering one or both of the following questions:
    • Describe a specific action you plan to take, and when, to support a woman in your life who wants to learn how to code.
    • Ask your scary question – the one that you’re afraid to ask because you think it’s too basic, or sounds silly, or any other reason.
  • Don’t forget to stop everybody for stretch and snack break. Folks will keep working like robots unless you remind them they’re human – say things like “Can you believe it’s been an hour and a half since your last break? You’ve been working so hard! Give yourself a pat on the back, take a stretch, and get some water!”
  • Take a group shot! You want those memories.
  • Encourage folks when they do cool things and be sure to tell everybody. Our coach Cameron set up a Slack channel!
  • Get as many coaches as possible so that you can keep your student-teacher ratio low! This is all about learning, right, and most folks learn best when they get individual attention. Our student teacher ratio was two students per one teacher.
  • Do you have any advanced applicants to your program who don’t feel comfortable coaching solo? Have them join your team as a coaches’ aide! They can provide additional support to a coach and learn at the same time.
A weird picture of coffee boxes in a shopping cart in a rainy parking lot.

It’s not all glory and glamour: sometimes you’ll find yourself picking up a coffee order in the rain on a few hours’ sleep. But don’t worry. It’s worth it.

And thanks:

  • Anna for introducing me to Django Girls and encouraging me to make it happen
  • All of the Django Girls core/support team for putting together great training materials (tutorial and coaching manual); Baptiste for setting up my email account and providing instructions on the website; Lacey for answering all of my weird questions (really, really fast!)
  • Alianor for providing moral support and working with MailChimp to get funding
  • Chris for advocating for funding from Kabbage
  • Ryan for connecting me with DreamHost folks
  • Tracy for sending her books and for working with Opbeat as a sponsor
  • ALL of the amazing coaches! Alec, JR, Marvin, Maura, Ryan, David, Shawn, Chris, Wendy, Cameron, and Benjamin
  • Our two fabulous Friday night support coaches: Colin and James – thank you!!
  • Our two lovely coaches’ aides, Meenu and Britni
  • Our hard-working volunteer Curtis, who picked up coffee orders, helped with catering, and was generally awesome
  • Our Absolutely Amazing ThoughtWorks liaison Ryanne, who was the very picture of professionalism and thoughtful, hard-working hospitality
  • Mark Lavin for the discount code to Lightweight Django, which made it possible for me to get a bunch of O’Reilly stuff at a really good price
  • Audrey and Danny of Two Scoops Press for their really lovely inscription in “Two Scoops of Django”
  • Everyone who tweeted at me in the days and weeks before the event – you know who you are!

And you, for reading this post and caring about Django Girls! Now, go forth and volunteer, teach, learn, and have a blast doing it!

2

Happy memories from DjangoCon Europe

Friends, three weeks ago I stood onstage at Cardiff City Hall and gave a talk about Coding with Knives to DjangoCon Europe. One week ago I returned to the US. I figure it’s about time for an update, right?

daniele1

I was honored to attend my first Django conference as a speaker and grant recipient. I experienced endless kindnesses, met so many great people, heard inspiring talks, ate nice meals, and made indelible memories of the generosity and welcome of the Django community. Special thanks to the grants committee for making my attendance possible and to Daniele, chair of the organizing committee (and pictured above), for encouraging me to apply to speak. There are simply not words to express how thankful I am to know him as an advocate, champion, and friend.

Open Day: Sunday

IMG_20150604_053528

Open day was held at Cardiff University, a place that’s no stranger to Django. In 2014, it hosted Django Weekend, the first Django Conference in the UK. The university generously supported DjangoCon Europe 2015 by providing the following:

  • hosted Open Day (Sunday) and two days of code clinics, sprints, and tutorials (Thursday & Friday)
  • Cardiff University staff and students volunteered, gave talks, and provided leadership on the organizing committee
  • the Vice Chancellor’s office funded five scholarships to the conference for students
  • the Schools of Mathematics, Engineering, Chemistry, and CS funded additional places for their students
  • the University’s Counselling, Health and Wellbeing Service provided free counselling at the event
  • Cardiff University Catering Services provided our meals

That’s an awful lot!! We were very lucky to be there. Here’s the official thank you.

yamila

On open day, we invited a wide audience to attend inspiring, introductory talks and tutorials about Python and Django… for free! Above, Yamila summarizes her talk on lessons learned in two years of making decisions in a large Django project. Her talk was very clear and accessible, full of great lessons learned “the hard way” that will hopefully save her listeners some time and trouble.

IMG_20150531_101836

Here’s Žan on how to improve the user experience of applications. I really appreciated his deep respect for the folks who use the products we make: “If a user struggles with your app, it is your app’s fault, not your user’s.” He cautioned developers not to regard users with contempt or disdain, but to remember that they are why we do what we do. If you didn’t get to see his talk, I highly recommend his blog post on the same topic.

IMG_20150531_113129

I just love this shot of Chris during his talk “Arduino sensors, mobile apps, and virtual reality”. Such cyberpunk. Much devices. WOW.

IMG_20150531_121622

Here’s Jamie giving a comprehensive talk on how to make our spaces more inclusive. I appreciated his wide definition of the word “spaces”, which included conferences, local Meetups, and open source contribution processes. He knows his subject well; his well-researched resource list on Github is reflective of the careful consideration and thoughtfulness he’s given to improving diversity and inclusiveness. Here are the slides.

katherine

Katherine‘s talk on “Data wrangling with Python” was light-hearted, fast-paced, and packed with helpful information. Katherine doesn’t emphasize this – and maybe I shouldn’t either! – but PyLadies (as A Thing) originated with her and a small group of friends years ago. It was deeply meaningful to me when I reflexively said “Thank you so much for all you’ve done” and she stopped me, in response: “Don’t thank me. We’re all in this together.” I really enjoyed getting to hear more of her stories later that night at dinner at The Clink.

adrienneopenday

Oh, and I gave a talk, too! It went well. Thanks to everyone who tweeted me and took the time to stop by and let me know your thoughts. So many folks said it seemed like I wasn’t nervous at all, but I totally was, and your kind words were very soothing!

I also heard great talks by Russell, Rhiannon, Mark, Tom, Cory, Amit, Raphaël, Árni, Alasdair, and Rivo. Follow them! You can read about what they talked about by visiting the conference website. I was especially impressed by Rhiannon because not only did she deliver her technical talk flawlessly, but it was – if I remember correctly? – her very first time speaking on the topic!

lunch

Side note: here’s where we had lunch. Beautiful, right? Apparently it’s a dormitory when its not hosting hundreds of developers for lunch.

theclink

Sunday night the conference treated Open Day and other speakers to dinner at Cardiff’s most acclaimed restaurant, the Clink. The Clink is special because it is a high-end restaurant at Cardiff Prison. It trains and employs serving prisoners, providing them with skills, qualifications, and prospects, and helps them find secure full-time employment in the hospitality sector upon their release. The food was delightful and beautifully presented.

theclink1

theclink2

Above, my main course and dessert.

Conference talks days: Monday – Wednesday

cardiffcityhall

Everyone took their own shots of the magnificent Cardiff City Hall, and all were better than mine.

IMG_20150604_144322

It’s beautiful inside.

ola

I really enjoyed Ola Sitarska’s thorough keynote, “Pushing the pony’s boundaries”. Ola is a co-founder of Django Girls (along with Ola Sendecka, who also keynoted!) and a Django core developer who has worked on the project for over five years. You can imagine all that she has learned in that time! It felt like receiving a Django master class, and while there were definitely parts that were beyond my current skill level, I felt grateful to hear her talk. It was inspiring and gave me a lot to look forward to!

typesetting

Likewise, I enjoyed Dafydd Evans’ talk on CAMEL, the Cardiff Maths e-learning project.

xavier

Xavier Dutreilh is one of the few speakers to make me tear up with his heartfelt message and powerful, urgent delivery of the talk “Web accessibility is not an option.” …”And neither are we”, he concluded, referring to anyone who lives with a disability and finds that web applications are not built with accessibility in mind. He challenged us to see his position and offered lots of ways we can revise our work. Here are his slides.

yulia

Yulia Zozulya gave a technical talk on using Python the load-test web apps. There were a lot of cute slides throughout the conference, but this one was one of my favorites. Yet the cuteness belies Yulia’s powerful, nuanced evaluation of different Python tools for load performance testing. We talked before her presentation when she saw me checking out the stage. “You seem so confident!” I laughed and said she seemed the same – perfectly poised, ready for anything – and we both commiserated about how terrified we were. It’s okay to be nervous!

zemogle1mushroom

And yes, I gave another talk as well. My open day talk was aimed at anyone new to Python and Django. I shared three lessons that I hoped would help anyone just getting started.

On Wednesday, however, I turned my attention away from those totally new to the subject and instead addressed experienced developers. Since many of the conference attendees were rather removed from the experience of first learning to code, I shared stories that I hoped would remind them what it was like, to give them a sense of the challenges and opportunities confronting a new coder. My hope was that in hearing those stories, my audience would hear something of their own journey, and would be inspired to offer their help and expertise in ways that felt authentic and meaningful to them.

Thanks to Edward and Russell for sharing the above images, and the kind words! I had a lot of fun.

thatwasfun

Special thanks to Geraint for introducing me in Welsh. That got a big laugh, even from our brilliant speech-to-text transcriptors.

Obviously I wasn’t able to address each of the conference’s inspiring speakers in this post. For more on that, keep an eye on the official twitter as the transcripts and video of the talks become available. (Transcripts are here and are being cleaned up.) In the meanwhile, I also highly recommend Reinout’s exhaustive conference notes hosted at his website. He’s got talks, lightning talks, workshops, and more.

Lightning talks

I loved the lightning talks! Among others, Edward gave an exciting talk on astronomy, Ana told us about systers.org, Craig gave a talk on Djangular(Django+AngularJs), and Russell helped de-stigmatize depression in the developer community by sharing his story (and schooled us on sprinting in a second).

One of the things I focussed on in my Wednesday talk was how important it is to break down the lionization we tend to do of senior developers, or anyone we perceived to be better or more experienced than us. My remarks were inspired by those of Jacob Kaplan-Moss in his PyCon keynote, or Shanley’s writing in Model View Media, where both attempt to dismantle the myth of the so-called 10X engineer. My concern is that in upholding that as standard, we marginalize our efforts, refuse to put ourselves out there, and don’t ask for help when we need it for fear of bothering others, or because we might lose someone’s esteem if we ask a “dumb” question.

At the Monday night dinner at the museum, and throughout the conference, I spoke with several extremely talented developers who expressed their own reluctance to give lightning talks for worry of what their “Django heroes” at the conference might think of them if they stumbled or sounded ineloquent. After much conversation, deliberation, and yes, intentional persuasion on my part, I was thrilled to hear some of them give lightning talks! And you know what? They were perfect.

geraint

Geraint is awesome! Not only was he a member of the organizing committee, but he was a key member of Python Namibia *and* he’s working on his PhD in math at Cardiff Uni! Here he is giving lightning talk called “I wrote my first line of code 1 1/4 years ago”. I really liked how he said that for him, the best way to learn was to teach others. I agree, as that’s what I’m doing with PyLadiesATL.

mystory

Likewise, I loved Ben Sharif‘s talk on how he got started with Python and Django. It was important to hear him express how he seemed a bit nervous pursuing the subject, since his field is medicine. I believe he shared how he was challenged at one point – why are you devoting your time to this? (It reminded me of something similar that Lucie said in her terrific talk on Django and the social sciences.) I can’t imagine anyone ever saying “why are you doing this? how is it relevant?” but the fact is, that attitude is out there and we may have to confront it at some point. Both Ben and Lucie gave powerful reasons why they do what they do, and invited us to help them out.

Closing Day

Wednesday was the last day of talks, and it was full of appreciation for each other and the special time we shared together. I want to highlight a few memorable moments:

daniele

When Daniele was recognized for his hard work by the rest of the organizing committee, and given joke gifts of One Direction merchandise in addition to more, shall we say, *useful* gifts.

volunteers

When the volunteers were recognized! Truly, a conference cannot happen without an organizing committee steering its efforts. I know from my years of experience as a founding board member of Atlanta Veg Fest that preparing for a yearly conference is a year-round pursuit. HUGE thanks to the DjangoCon Europe 2015 committee: Vince, Baptiste, David, Geraint, Daniele (Chair), Ola, Stefanie, and Jason Young.

transcriptors

And of course, the thunderous applause and standing ovation for our phenomenal speech-to-text transcription team.

Thursday and Friday

dontbeafraidtocommit

But that’s not all: no, that’s not all! On Thursday Daniele found the energy to teach a day-long “Don’t Be Afraid to Commit” workshop, where he walked us through git and Github so we’d all be on our way to contributing to open source projects. Many first commits (ever!) were made in this workshop!

Thursday and Friday were given to workshops, sprinting, and code clinics. We gathered informally to work together, enjoy snacks and meals, and yes, snap selfies:

IMG_20150604_193751

With Žan!

IMG_20150606_184244

Sprinting with Mark on his Overflow project!

Mark gave a great Open Day talk called “a web framework for the creative mind” where he shared his experience with Django as a content creator. While he works as a web developer during the day, he devotes his free time to blogging and podcasting. I had the great pleasure to learn a bit more about just how much work goes into that last part when we had coffee together on the final day.

He also made an amazing podcast for us about DjangoCon Europe, just released. Listen to “A Tech Conference with Soul”.

IMG_20150606_181512

With Russell and his travelling banana in pajamas at the close of sprints. He opened Open Day with a peerless talk entitled “What on earth are Python & Django?” It was the perfect start to a day that welcomed guests, visitors, students, and other interested folks who might not be familiar with Django and Python. He explained things clearly with excellent examples and analogies to his own work and interest. During lightning talks he shared about personal struggle with a major depressive episode in a way that was inspiring, touching, and heartening to many. AND he invited us to join him in sprints by explaining, animatedly and with the best emojis, what it’s all about. Finally, he kept us on our toes by asking thoughtful, engaging questions after many of the talks.

IMG_20150604_194535

Ian was one of my most enthusiastic and sincere supporters throughout the week. It seemed he always had a kind word of encouragement at just the right time. A whisky toast to good new friends!

geraintselfie

With Geraint!

sylvain

Sylvain was my buddy for several of the meals. We loved the food and I shamelessly obtained seconds for us on multiple occasions. It was great to talk cookbook recommendations and the weird ways we’ve veganized things. He was the only person at the conference to have ever already used “aquafaba” in a recipe! (I think it was a chocolate mousse?) He also knew about Fran Costigan, which got instant points.

IMG_20150607_084714

My final DjangoCon-related activities were purchasing a print of pelicans from the Cardiff Print Workshop and posing with the larger version used in our branding. Yes, I look super tired here, but it’s a happy tired: a feeling of contentment, accomplishment, connectedness, and joy.

My only regrets from the conference was that I didn’t get to see all of the talks! I caught a seriously nasty cold nearly as soon as I landed, which meant I had a hard time getting out of bed in the mornings, and missed some of the keynotes… including Ola‘s lavishly-illustrated keynote on “rabbit holes” and Baptiste‘s emoji-driven personal account. Thankfully they were recorded and will be posted soon!

I named a lot of great folks in this post, but the fact is, I simply can’t capture and recognize everyone I talked to, ate with, and learned from. Chalk it up to the incredibly warm and welcoming spirit of the conference, where it seemed like no matter who you met or what you talked about, you were greeted with kindness, curiosity, and meaningful connection.

What’s next?

So, what’s next, now that I’ve finally published this overly-long, yet somehow incomplete, account of this incredible experience? Here are a few of the things on my to-do list for the general open source & self-study world:

  • ***Submit a pull request to improve the text of my talks provided by the amazing transcription team.***
  • Bring PyLadiesATL back out of hiatus with monthly meetings and tutorials starting next month. As you may have heard, I took on co-organizing the group very recently, and have big plans with my co-organizer for infusing life and energy into the group.
  • Put serious work into planning Atlanta’s first instance of Django Girls, TBA.
  • Prepare to head to Columbus, Ohio for PyOhio in August and Austin, Texas for DjangoCon in September. Possibly give open day talk at PyOhio. No talks at DjangoCon – just learning and reuniting with my friends Anna and Corryn, who are both are giving talks!
  • Submit a talk for Curly Braces Conf in November, dreamed up/hosted by my smart pal Shawn.
  • On that note, meet up with Shawn and Melissa to discuss the next form of Shawn’s “Computers Aren’t Magic” series for PyLadiesATL.
  • Reconnect with my Clojure-writing colleagues to consider the viability of bringing ClojureBridge to Atlanta in 2015.
  • Continue learning Python and Django, and never stop!

As well as a few other secret plans in the works, TBD/TBA.

Thanks for taking the time to read this post! I feel so lucky to be a part of this community that explicitly affirms that all are welcome.

2

Coding with Knives at DjangoCon Europe!

I have some very big news to share:

Coding with Knives is going to DjangoCon Europe in Cardiff, Wales!

I will be giving two talks: the first will be on open day, to a wide, diverse audience that includes conference visitors, students, local developers, and folks just getting started with coding. The second will be during talks days, to conference attendees, and will be given in this glorious building:

city_hall_exterior_daytime-hi_res.jpg__627x418_q95_cropCardiff’s magnificent city hall!

You can check out all open day activities here and read about the talks here.

In my talks, I’ll describe how two seemingly disparate subjects – cooking and coding – can inform, illuminate, and challenge one another in compelling ways. My hope is that by comparing something unfamiliar and perhaps intimidating (the experience of learning a programming language) to something universal and everyday (cooking), I’ll make learning to code seem more accessible. My goal, like that of PyLadies and Django Girls, is to inspire women to become contributors and leaders in the Python open source community.

My participation is made possible by the generous grant I received from the Grants Committee on behalf of the Django Software Foundation. Without their significant support, I would not be able to attend. I’m so, so thankful.

Thanks to Ian C. for the picture!

My grandmother is also making a significant contribution to my travel. If you heard my PyTennessee talk you already know a little about this amazing woman I call Nanny. Blue ribbons hanging above her kitchen stove, and Linux on her cozy living room desktop, she is my advocate, my inspiration, my comfort, and my strength.

I feel incredibly humbled by this extraordinary opportunity and thankful to everyone who is making it possible. The next six weeks will be very busy ones, as I work on my talks and prepare to travel internationally, solo, for the first time! I aim to make the folks who funded me feel made a good call, and I want to bring the lessons learned back to Atlanta for the benefit of our community, especially as I work on organizing events (including Django Girls!) for PyLadiesATL.

This is huge for me and I already feel the weight of everything I need to do to prepare. But with your support, I know I can do it! Thanks for believing in me.

7

Learning Python: reflections and new directions

Hi again! If you’ve been following along, you might have noticed a little gap in my posts. That’s because I’ve spent the last ten or so days doing a lot of behind-the-scenes work for PyTennesssee. Self-reflection, writing, organizing my work, and yes, studying! LPTHW’s exercise 22 – where I left off – is all about review; exercise 23 is reading code; exercises 24 and 25 are more practice. All of these lead up to 26: a test!

Notably, I’ve been thinking about an incredibly thoughtful email I received from Anna of DjangoGirls. If you don’t know her, get familiar: she does amazing work and will be presenting at PyTennessee. A fellow autodidact from a non-technical background, she’s been following my work at Coding with Knives and reached out to share some wisdom about the process.

First of all, she recommended a ton of new Python-learning resources, from Coursera’s Programming for Everybody (enrolled!) to Lynn Root’s advanced exercises at newcoder.io (one day!). Her list opened my eyes to the breadth of opportunities out there.

Second, she shared meaningfully about her own journey, especially with regard to the frustrating moments and how she navigated them. This was in response to my own expressed frustration on Twitter. As a learner, there’s something encouraging about hearing folks I perceive as experts share the times when they didn’t feel quite so boss.

Third and finally, she expressed some concern about the pace I’d been keeping as I worked through the LPTHW exercises. She sensed that I was really pushing myself hard, and she was absolutely right. I took her email in the spirit intended: supportive, curious, open-hearted, and it became a much-needed jumping-off point for thinking about my process.

So I’ve been thinking critically about why I am doing this, and asking myself if my current learning path is serving me. Should I keep doing LPTHW exclusively, when there are so many great resources out there? Is this blog just a place to post screenshots of exercises like homework assignments turned into no one in particular?

No. While there are lots of great things about LPTHW, and I intend to follow it to completion, I’ve decided that basing this blog entirely around completing one book’s exercises is simply not enough. I started Coding with Knives to share thoughts about where I am in my Python learning journey, pairing reflections with recipes and cooking tips from my years of kitchen experience. Anna’s message helped me get back in touch with this original intention.

Further, I’ve put a lot of pressure on myself to complete the LPTHW exercises as quickly as possible in advance of PyTennessee. This pressure comes from a place of feeling inadequate, or like I don’t have any right to be standing alongside the experts at PyTN. You can sense that in my response to the conference organizer when he reached out to me about speaking a few months ago:

I (could) discuss resources that were helpful to me…strategies I used to hold myself accountable, and any difficulties I encountered along the way. It won’t, however, be the kind of talk where I necessarily teach the audience something groundbreaking about Python. Do you still think it’s worth submitting?

Sit with that last line for a second. Despite the fact that he reached out to me because he thought I was doing something cool and worth sharing, I was still covered in doubt.

His response:

What you are proposing in the email is exactly what I’d like to see. Share your real experiences and your path.  A good talk is more about relating and sharing than “groundbreaking”.

Boom.

Anna’s message reminded me what I want Coding with Knives to be: a place where I share my real experiences and my path, rather than a place where I feel like I have to post screenshots of my terminal & text editor (though I’ll totally still do that, because I think it can be fun!).

Why? Ultimately, my desire is to inspire other women to code; especially women who never imagined they could. As someone who grew up on a small family farm in rural Georgia, earned a BA in philosophy & history and a MA in theology, and spent a good part of my twenties running restaurants or cooking for people, I’m entirely familiar with that lack of confidence. But it won’t prevent me from acquiring the skills I need to start building, and contributing to, projects I love – especially with inspiration and support from women like Anna!

So what’s next?

First, I’ll continue working on LPTHW because we’re moving towards building a game. I find that exciting! I just won’t be posting every exercise.

Second, I’ve enrolled in the Coursera class “Programming for Everybody (Python)” beginning February 2. I had a great experience with another Coursera class (Introduction to Music Technology) and am looking forward to this one!

Third, I’m reading “Think Python: Think Like A Computer Scientist” because I’ve wanted to for some time. It comes highly recommended and I can already tell why: he has a gift for making difficult concepts clear and accessible.

Fourth, I’m watching Jessica McKellar’s “Hands-on introduction to Python for beginning programmers” from PyCon 2014. A great suggestion from Anna.

Fifth, I’ll use this space more conversationally as I share what I’m learning. Concepts, yes, but also current events and non-Python experience. For example, a couple of months ago I learned some git basics and managed my first pull request on Github, but I didn’t really know how to talk about it here. The outstanding article I read yesterday on Model View Culture about code schools is another worthy topic, especially since I’ve considered them.

In summary, I’m stepping beyond my previous notions of what my Python path must look like and am opening myself to the rich and resonant variety of resources out there. To that end, I thought of a decent cooking analogy.

When you first start cooking seriously for yourself, you have to use recipes. Maybe you’ve got that friend who insists they never use them, who’s all “oh, I don’t follow anyone else’s instructions, I just throw some things in a pan and season to my liking.” Sure. Thing is, if that’s all you ever do, your range will be quite limited – restricted, essentially, to throwing shit into pans.

To bake, or try an unfamiliar cuisine, or work with new tools, you have to follow someone else’s instructions. And I’ve found that I learn most effectively when I source a variety of perspectives. Like LPTHW launching my Python journey, one cookbook’s pancake recipe might get brunch on the table. But let yourself read six recipes, comparing and contrasting them, and see what happens. My guess is that taking a holistic look at a basic process told several different ways will make it easier to grasp and more likely that you’ll get creative, sooner.

And that’s ultimately the goal, right? To get creative sooner: to start building things and contributing to FOSS projects I care about. And in so doing, perhaps I’ll inspire other women to do the same.

not actually kidding about that "farm" part

with my dad a few years ago. not actually kidding about that “farm” part

PS: This post is full of admissions that were hard to make because, as anyone with perfectionist tendencies might understand, it involves acknowledging that what I’d originally planned wasn’t working. It can be hard to switch gears when doing so comes with the requisite guilt for making an “imperfect” plan, compounded by self-doubt that the new one might now work either! But growth here means moving forward and attempting to apply that same flexibility, dynamism, and curiosity that I developed in the kitchen to learning to code. Cheers to the journey!