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. ❤



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.


Thank you listening, and thank you for being there.


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?


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!


Coach Chris explains how it all fits together.


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!


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?


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


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.


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.


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.


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


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‘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.


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!


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


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.



Above, my main course and dessert.

Conference talks days: Monday – Wednesday


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


It’s beautiful inside.


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!


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


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 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!


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.


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 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.


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:


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.


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.


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

Thursday and Friday


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:


With Žan!


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”.


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.


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!


With Geraint!


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.


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.


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.


Getting started

At Coding with Knives, I’ll be working my way through Learn Python the Hard Way‘s fifty-two chapters. I’ll share my struggles and victories with the exercises, as well as other tips I pick up along the way.

But I’ll be honest: I’m nervous.

I haven’t taught myself how to do anything since, um… well…

since I learned how to cook!

Over the past fifteen years I’ve been honing my skill daily. I’ve worked in and out of restaurants, from managing staff and advising on recipe creation, to cooking for families throughout Atlanta as a personal chef. These days I can roll up into your kitchen and make a gourmet meal out of whatever you have on hand, but it wasn’t always that way. It’s taken the commitment of daily practice, an insatiable curiosity, and even some risk to get to where I am. The best part is: I’m still learning!

I think the same might be true with learning how to program. Sure, you could take a bootcamp (and I’ll admit, some of them sound awesome) and learn a language in three months, but most of the folks I know who are successful have been curious about programming their entire lives. It seems to be as much a daily practice for your average FOSS* contributor as it is for a skilled cook. You’re always learning, growing, making new connections, challenging yourself.

Whether you’re here to cheer me on, pick up some cooking tips, or just because you’re curious: welcome. I’m glad you’re here.

So, what are your burning cooking questions?

I reached out to some of my smart friends and heard back the following:

  • How to time a meal when preparing multiple dishes
  • How to cook rice
  • Sauteing onion and garlic together such that the garlic doesn’t burn up.
  • Storing vegetables (What can go in the fridge? What shouldn’t go in the fridge? What should be wrapped in towels, etc.)
  • Making tofu taste good
  • Cleaning mushrooms
  • Roasting vs. Baking vs. Fire-roasting vs. Broiling etc. (basically, what do all these terms mean?)
  • Cooking with different oils
  • Anything to do with baking. Baking scares me.
  • Cooking with dried beans (which need to be soaked, quick-soak techniques, slow-cooker techniques)
  • Spices.  When would I use one over the other?  Which ones “go” together?  I want to rosemary in everything, but not everything wants rosemary.  How long can I keep spices?  Ditto makeup. 😉
  • Buying organic.  When does it really matter?  (I kinda know this, but I think it’s good to cover.)
  • When would doubling a recipe be a problem?  Or is it ever?  Especially with regard to crockpot cooking.
  • RICE! There are so many kinds. Also, there are lots of kinds of beans. When should I use which?

I’m looking forward to covering all of the above and more in the days to come. But for now, what are YOUR burning questions? +1 to any of the above?

*That’s the acronym for “free and open source software”, which we’ll chat about, too!