Mississippi Mud Cookies

You know that family member who makes that one dish that’s always perfect? The thing everybody requests, season after season?

In my family, it was my grandmother, with her ooey-gooey Mississippi Mud cake. She’d make it for only very special occasions, and how did my family crow for it! A layer of thick chocolate cake covered with marshmallows, chocolate chips, walnuts, drenched in a divinity-sweet cocoa topping? Why, you’d’a crowed, too.

My grandmother, who we called Mawmaw, passed away last fall. To my knowledge she didn’t leave a recipe behind, but I think I came pretty close with these cookies.


Mawmaw’s Wide-as-the-Mississippi Mud Cookies


  • 1 3/4 cups all-purpose unbleached flour
  • 1/2 cup best-quality, fair-trade cocoa powder
  • 1/2 tsp baking soda
  • 1/4 tsp baking powder
  • 1/2 generous tsp salt
  • 1/2 cup vanilla or plain almondmilk (can use soy if you have nut allergies)
  • 2 tablespoons ground flax seeds
  • 1/4 cup canola oil
  • 1/4 cup apple sauce
  • 1 1/4 cups sugar
  • 2 teaspoons vanilla extract
  • 1/2 teaspoon chocolate extract
  • 1/2 cup chocolate chips
  • 1/2 cup chopped walnuts
  • 1/2 cup Dandies mini marshmallows, plus extra for decorating
  • Baking sheets with parchment paper
    • I used a greased Silpat, here, but that’s unnecessary unless you have one. I was simply out of parchment paper.


In a large mixing bowl or stand mixer, combine almond milk, flax seeds, canola oil, apple sauce, sugar, vanilla, and chocolate extract. Mix thoroughly until smooth.

In another bowl, sift flour, cocoa powder, baking soda, baking powder, and salt. Use a dry whisk to aerate the mixture after sifting.

Pour dry into wet and combine well.

Add chocolate chips, walnuts, and mini marshmallows. Stir well.

Drop big spoonfuls of cookies on the sheet, leaving an inch or two of space between them. They will spread! You’ll be able to get about six cookies on an 18″ x 13″ half sheet. Dot with additional marshmallows.

Bake a sheet at a time for 10 minutes at 350. Let cool on baking sheet, on rack, for a few minutes before removing to rack to complete cooling.

Kitchen notes

If you love to bake, I recommend leveling up in the following ways:

  • Equipment. Head on over to a Restaurant Supply Store (or Webstaurant Store, if you don’t have one local) and buy:
    • 2 stainless steel 18″ x 13″ half sheet pans
    • 2 16″ x 24″ full size footed cooling racks
      • I’ve had mine for over a decade, used commercially as well as at home, and they still cook like I just got them.
  • Ingredients.
    • The best-quality, fair-trade, organic cocoa powder you can find. One, because you don’t want to use chocolate produced by slave labor. And two, you can truly taste a difference. Real cocoa is deeper, cleaner, more purely chocolate. I’ll say more on this in another post, but yes, home bakers, I can always tell when you used Hershey’s.
    • Chocolate extract. My little secret for brownies, chocolate frosting, and the like is a half a teaspoon of chocolate extract, added along with the vanilla. You’ll be surprised at the flavor boost.

Summer greens

Do you associate greens like collards, mustard, and kale with cooler weather? For a long time, I did. I leave my collards simmering on the stove for hours, steam cozying up the kitchen and doubling as a heating bill hero. I like to serve them alongside hearty casseroles and cornbread. And for as long as I can remember, I’ve heard brassicas taste best after bitten by a frost.

Just as Cookie Monster remains unconvinced that cookies are a sometimes food, so do I that we should confine greens to the bookends of the year. Let’s have greens in the summertime, too!

Here’s a light, colorful recipe that incorporates familiar summer flavors and gets us out of that hot kitchen fast.

Savory mustard greens with peppers and pintos


  • 1 tablespoon olive oil
  • 2 medium onions, diced
  • 5 cloves garlic, minced
  • 1 16oz bag washed and chopped of Mustard Greens* (I used Nature’s Greens)
  • 1 large red, orange, or yellow bell pepper, or a combination, chopped
  • 2 cups double-strength vegetable broth (this stuff is amazing!)
  • 1/2 – 1 cup cooked pinto beans, drained, and rinsed (canned is fine!)
  • 1/2 tsp ground white pepper
  • 1/2 tsp sugar
  • juice of half a lemon


  • Heat a large soup pot on medium/medium-high and add oil
  • Add onions and sauté 5-7 minutes, til soft, stirring often
  • Add garlic, sauté 30 seconds
  • Add peppers, sauté 1 minute
  • Pour in broth and bring to a strong simmer (just short of boiling)
  • Pour bag of mustard greens on top.
    • Note: Pot will be very full. It’s okay. Just put the lid on and leave at medium heat for 5-6 minutes. The greens will cook down to less than half their original volume.
  • Toss pintos on top. Stir thoroughly.
  • Let cook, covered, 10 minutes.
  • Season with pepper and sugar. Stir thoroughly.
  • Let cook two more minutes, simmering.
  • Turn off the heat and add the lemon juice. Stir well again. Serve!

Cool story: A serving of mustard greens has 180% of your daily vitamin A, 100% of your vitamin C, and 530% of your vitamin K. 😎

*You could also use collards, but I would recommend chopping them up a bit more finely before adding them to the pot, and simmering longer. Kale would work fine, too.



PyTennessee 2017

Hey y’all!

I’m back at PyTennessee for my third year!

PyTennessee, a regional Python conference, is special to me because it’s where I got my start speaking at tech conferences. In 2015, I was invited to give a talk on my experience learning to code and teaching others to cook, and sharing that very journey on this here blog. A year later I was invited back to give a keynote.

This year I’ll be talking about making the transition from a customer-facing Support team to an engineering role. In From Support to Engineering: Bridging the gap and growing together, I’ll share how working in customer support helps you grow empathy, communication skills, and the ability to troubleshoot. Transitioning to engineering gives you an opportunity to translate that empathy, communication, and troubleshooting.

To “bridge the gap”, I’ve got advice for both sides. In Support, how do you hire (or become) someone the rest of your engineering team can get excited about? I’ll give advice about developing a transition plan that honors the important work done on the customer side while supporting an individual’s longer-term career goals.

And in engineering? Attitude, as they so often say, is everything. I’ll share how elevating support and customer-facing roles in your organization benefits everyone, and give you some tips towards redefining pairing relationships and promoting transparency.

I’m speaking at 11am in Room 100, and I’m looking forward to seeing you!

Check out the rest of the great schedule here.

Now, for a quick FAQ – I have not yet heard if talks will be recorded, but if you’re curious, definitely follow PyTennessee on Twitter for updates.

See you soon!



A few things I loved about DjangoCon

DjangoCon wrapped about a week ago. As an organizer, attendee, speaker, and community member, I wanted to take a few moments to share some of the things I loved about this year’s event.

Emceeing and session chairing 13 (!!) awesome sessions

As an organizer, I worked on bringing our docs up to speed this year so that the tasks of session chairing and session running were more clear for volunteers. I also had the privilege of emceeing thirteen terrific sessions!

It’s so hard to choose, but if I had to recommend a few I’d gladly watch again, I’d go with:


Readability Counts” by Trey Hunner. Description here. Follow Trey on Twitter. I’ll add the video link when it’s published!

The impact of women learning to code in developing countries: benefits and challenges” by Aisha Bello and Ibrahim Diop. Description here. Follow Aisha and Ibrahim on Twitter. I’ll add the video link when it’s published!


Frog and Toad Learn About Django Security” by Philip James. Read the description here. Follow Philip on Twitter. Video “Safe-ish by Default” from DjangoCon Europe here.


“Just Enough Typography” by Joni Trythall. Description here. Follow Joni on Twitter. Here are her Top 10 Typography Tips.

Making history & inspiring women at the FIRST Django Girls Philly workshop

Screen Shot 2016-08-01 at 10.06.13 AM

Becca, one of the organizers of Django Girls Philly, invited me to speak at their opening. I shared a shortened version of my “Bake the Cookies, Wear the Dress” talk which was originally given at ELA Conf last November and requested for OSCON and PyCon this year. It emerged out of remarks I made at the first Django Girls Atlanta workshop. Briefly, I share the story of how a major setback prompted me to get serious about learning to code, and how I experienced tragedy but chose to learn from it, move on, and grow into the developer I am today.

Organizers Becca, Clare, and Laura let me know that the women in attendance enjoyed the talk and were pumped to start coding after hearing from me and the others who kicked off the session!

I also gave a talk to close out the two-day workshop. “So you’ve done the workshop, hooray! But: where to next?”

I offered a few suggestions, from staying in touch with the community on Twitter to digging in with the official Django tutorial, Al Sweigart’s Automate the Boring Stuff with Python, and Michael Kennedy‘s (of Talk Python) “Python Jumpstart By Building 10 Apps“.

I also emphasized the importance of continuing to use git and track work with GitHub. If you need a refresher on how to do that, I recommend Daniele’s “Don’t Be Afraid to Commit” workshop. Finally, since folks loved Terian’s lightning talk about bots, I recommended her build-a-bot tutorial online.

Here are the slides from my closing talk, with resources.

Lightning talks


Lightning talks were run by the amazing Kojo, who invited everyone in the community to participate and emphasized that: 1) lightning talks are a great way to get comfortable in front of audiences (true!), and 2) lightning talks can be up to five minutes but don’t have to be five minutes. Each day we had a full slate of entertaining, enlightening talks. Entertaining? Russell Keith-Magee literally sang and danced his talk for us:


To the tune of “I Am the Very Model of a Modern Major-General”, of course! Miss it in person? Here’s the recording!

I also gave two lightning talks. On Monday I kicked off lightning talks with an invitation to the community: rise to the challenge and meet an ambitious fundraising goal of $30,000 to Django Project by the end of sprints. I shared a bit about the work Tim and I do for Django Project and encouraged folks to speak with their teams about becoming corporate members.

Screen Shot 2016-08-01 at 11.00.50 AM

Screen Shot 2016-08-01 at 11.01.22 AM

Screen Shot 2016-08-01 at 11.01.33 AM

Full slides (and more Pokemon) from that talk here. I am thrilled to report that throughout the week we received $4,000 new dollars in corporate memberships, several solid leads for new corporate membership, $1000+ in private memberships, and we continued our JetBrains PyCharm partnership, which, when the final numbers are announced, will be big.

I also gave a talk on Wednesday explaining the “Your Django Story” interview series for the Django Girls blog and inviting anyone who is a woman or knows a woman to tell their story for our blog. We still need folks!

Please email me at story@djangogirls.org to start the conversation. Anna Schneider, CTO of wattTime, gave one of the most beloved (yet still highly technical!) talks at DjangoCon this year, and she got her start with Your Django Story:

Screen Shot 2016-08-01 at 11.04.35 AM

Slides for the Your Django Story talk here.

Working with a fabulous organizing team

Screen Shot 2016-08-01 at 10.22.24 AM

As co-chairs Lacey and Jeff humbly emphasized, DjangoCon was a team effort! Though I focused on updating docs, running sessions, and providing on-site support, I was proud to work with such a committed, dynamic, and kind group of folks to make it happen. For more about the community, check out my pal Saron’s Medium post: “That time I went to DjangoCon and fell in love with the community“.

On that note,

Meeting folks for the first time!

Oh, you know, just Tom Christie... the creator of Django REST framework...

Oh, you know, just Tom Christie… the creator of Django REST framework…

One of the great things about open source is that you get to work with people all over the world. You’ll email back and forth, build things together, occasionally Skype, but never have met in person. Until you do. And then, it’s magic.

This year I was thrilled to get to meet some folks for the first time, including Aisha, Ibrahim, Emily Karungi, and Tom Christie! I also got to spend some quality time with my dear friend Žan, who mentored me on my first real open-source project AND brought me beautiful pumpkin seed oil from Slovenia! Baptiste, Ola Sendecka, Ola Sitarska, Lucie, Erik and so many others were also in town… it was a party.


Big special thanks to co-organizer Tim Allen, who not only ran the heck out of the conference and gave an amazing talk, but also hosted me in his home. I couldn’t have done it without you, Tim!

And, of course:

Screen Shot 2016-08-01 at 10.41.17 AMIt just so happened that DjangoCon coincided with the intense cultural phenomenon called PokemonGo.

Screen Shot 2016-08-01 at 11.16.59 AM

Screen Shot 2016-08-01 at 10.48.09 AMScreen Shot 2016-08-01 at 10.49.07 AM

Ahem, what we were talking about?

Oh yeah: DjangoCon. It was great. Something something Eevee framework. #teaminstinct


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?


A soup for October

Friends, I have a pumpkin soup recipe for you that’s so good, it might make you forget the bread. It happened to me!

A picture of pumpkin soup with two small pumpkins, a spoon and a napkin.

Let me explain: I love bread. I especially love the carefully-made, artisan bread from the bakery around the corner. I like to toast it and slather it with spreads and enjoy it with coffee and tea.

And doesn’t it also go so well with soup? The firmness and crunch makes toast perfect for dipping; a crispy edge becomes meltingly tender when it kisses a creamy soup.

I popped a slice in my toaster, fully intending to enjoy it alongside. But then I made the mistake of sitting down and having a spoonful… and then another… and another… andanotherandanotherandanother until the bowl was nearly empty! My lonely slice languished in the toaster.

I guess the short version is: this perfect friend for fall is so good, you won’t miss the bread! Curried pumpkin and sweet potato join real maple syrup and peanut butter with just the right amount of spice from fresh jalapeño. It’s everything you want in a bowl of creamy comfort. I hope you love it!

Curried pumpkin and sweet potato soup
Serves 4 – 8, depending on appetite!



  • 2 tablespoons coconut, vegetable, or canola oil
  • One extra-large (or two medium) yellow or sweet onion, diced small (2 cups)
  • 2 cups carrots, chopped
  • 6 cups sweet potatoes, chopped (about 1 1/2 pounds)
  • 2 tbsp minced jalapeño (from one good-sized fresh jalapeño)
  • 1 tbsp freshly-minced ginger
  • 2 tbsp good-quality curry powder
  • 6 cups of flavorful, salted vegetable stock
    • (if unsalted, add 1 tsp salt to recipe, and more to taste)
  • 1/2 cup creamy peanut butter
  • 1/4 cup maple syrup
  • 1 15 ounce can pumpkin (no seasonings/holiday spices added! ingredients should be “pumpkin”)
  • 1 14 ounce can coconut milk, full-fat
  • 1 tbsp soy sauce (recipe can be made gluten-free if you use gluten-free tamari)
  • 2 tbsp freshly-squeezed lemon juice, from one medium lemon
  • optional: toppings: I used minced fresh chives and chopped peanuts in the picture above

Summary of some of the tools needed

A sharp knife; cutting board; gloves to wear while chopping jalapeño (trust me…); measuring cups and spoons; bowls for your mise en place (remember exercise zero?); a large pot; cooking spoon; a hand/immersion blender OR a blender


Heat oil in a large pot over medium heat.
Add onions and allow to cook over medium for about 5 minutes.
Add carrots and cook 5 more minutes.
Add sweet potatoes, mix well, cover, and cook 6 minutes.
Add jalapeño, ginger, and curry powder to the vegetables. Toss well to coat. Cook, covered, 1 minute.
Add six cups of stock to this mixture. Stir to make sure anything that might have stuck to the pan is scraped into the soup.
Bring to a boil, then reduce to a simmer, and simmer 10 minutes.
In a measuring cup or bowl, combine the 1/2 cup of peanut butter with about a cup of hot broth from the soup. Mix vigorously with a fork or whisk. At first, the mixture may seem to separate – this is normal! But after thirty seconds or so, it should become creamy. Whisk or mix with a fork until the mixture is creamy.
Add peanut butter mixture, maple syrup, pumpkin, coconut milk, and soy sauce to the pot. Mix well.
Use an immersion (hand) blender* to carefully purée the soup until it is silky.
Add fresh lemon juice and stir to combine.
Allow soup to sit for about 10 minutes so flavors can combine. Serve!

*If you don’t have an immersion blender, wait until the soup has cooled and then carefully transfer, in batches, to a blender to be pureed. You’ll have to be careful and you’ll have to do several batches, but it is totally doable. Once everything is pureed, return to a pot and add the lemon juice. Return soup to warm serving temperature and serve!

It’s great served fresh, but if you can believe it, it tastes even better the next day!


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!


PyLadies ⚡ lightning talk ⚡ PyOhio

Tonight I’m giving a lightning talk at PyLadiesATL called “Five Things I Learned at PyOhio”, and I wanted to share it here in case you weren’t able to make the meeting, or are curious about what I covered!

PyOhio is an amazing FREE conference that was held this year in Columbus, Ohio at the Ohio Union. The dates were Saturday August 1 and Sunday August 2, with sprints on Friday July 31 and Monday August 3. Thanks to the organizers and sponsors for making this unforgettable experience possible, and to each of the speakers for taking the time to prepare and deliver such thoughtful, helpful talks. Below, I highlight a few of them.

1) Diversity? You Gotta Want It

Stephanie Hippo’s talk “You Gotta Want It: Building Up Women in Computer Science” was possibly the most honest, critical, and at times damning talk I’ve ever heard about a group’s journey towards becoming more inclusive, welcoming, and ultimately, diverse. What I loved about Stephanie’s delivery was how very much she owned the fact that her group hadn’t been welcoming. It reminded me that the first step in recovery is admitting you have a problem. But to even be able to admit that problem, Stephanie had to critically look at the way her group was doing things – starting with the data – and have hard conversations with her colleagues about why things should change.



It’s not enough to simply say that you want things to be different. Like Stephanie’s family’s motto: you gotta want it. When you realise that you don’t like the diversity distribution of a given team/organization/project, admitting you have a problem is only the first step. It must be swiftly followed by a commitment to examining critically how things got the way they did, and a resolution and plan to address the issues structurally. And hey, if you can find time to tell the rest of us how you did it, all the better! Thanks, Stephanie, for your amazing talk and actionable suggestions.

Stephanie wrote up her talk and shared it on Medium. You can also follow her on Twitter.

2) The Pomodoro Technique

I thoroughly enjoyed Ann Schoenenberger’s talk “Learning to Learn Python”. Ann covered the challenges and opportunities confronting the autonomous learner from a personal perspective and from many conversations with other women coming to STEM from non-traditional backgrounds. One of the most helpful takeaways I got from her presentation was the description of the Pomodoro Technique. Now, if you’re a Pomodoro devotee and I’m totally butchering it, I apologize in advance. But the gist of the technique, as I understood it, is to work without distraction for 25 minutes, and chase that work with a 5 minute break. Another 25 minute session can come next, with a 5 minute break after.

Ann shared how budgeting time like this had been really helpful in keeping on her track as she learns Python. And while 50 minutes a day of concentrated study isn’t going to turn you into a programmer overnight, over time – and with discipline – it can be a helpful step towards reaching your goal. I have been employing the Pomodoro technique since I learned it from Ann on a near-daily basis and have seen huge gains in my personal study.

Read Ann’s abstract and follow her on Twitter for more.

3) That cool project? It took a lot of time, and there were plenty of bumps in the road.

Learners suffer from a lot of ailments, and discouragement at slow progress can be right at the top of the list.

But the fact is, complex projects do take a lot of time, even for experienced developers. Doug Hellman’s talk “How I built a power debugger out of the standard library and things I found on the internet” was, as he said, less about the actual code, and more about the process of building his project Smiley. When he got started, he asked himself, where do I start? What do I do first? What do I want to accomplish? And then: well, what do I know? He emphasized that throughout the nearly two-year period of building Smiley, he continually checked in with himself about what he already knew and what he wanted – or needed – to learn to make it happen.

In Allen Downey’s book Think Python, he draws a comparison between the act of debugging and programming itself:

For some people, programming and debugging are the same thing. That is, programming is the process of gradually debugging a program until it does what you want. The idea is that you should start with a program that does something and make small modifications, debugging them as you go, so that you always have a working program.

In Doug’s presentation about building Smiley, I heard all of this. So whether you’re a Python expert building a power debugger out of the standard library and things you found on the internet, or a new coder trying to solve a Codecademy puzzle, follow this same process. Start with what you know, make a list of what you want to learn, and continuously be open to the dynamic process. And, importantly: be patient with yourself!

4) Data Science Resources

Since Atlanta PyLadies said they were really, really, really interested in data science topics, I tried to attend as many of these talks as possible. Michael Becker’s “Data Science: It’s Easy as Pyǃ” was one of the standouts. I wanted to include an image of his resources slide since I thought it might be of interest to our PyLadies.


Here are those links:

5) It’s okay to bring exactly who you are to the experience of writing Python


My dear friend Anna recently asked me for a quote about why I love the Python/Django community for her sure-to-be-amazing upcoming DjangoCon talk. There’s so much to love about this community, but perhaps my favorite thing is that we can bring exactly who we are to the experience of building software together. From a non-traditional background as a cook, I’ve felt nothing but enthusiastic welcome from each of you. And I’ve also seen this diversity modelled in my colleagues, who play e-bassoons – like Lars pictured above – sew quilts, bake cupcakes, bring their families to conferences, and more.

It’s important to me that we don’t just have lives beyond our work, but that we share our lives *within* our work. To me, that makes all the difference.

When I was invited to give my first talk at a Python conference – PyTennessee – I knew that I really wanted to bake cookies and have them available before my talk. When I mentioned this to a friend, she discouraged me, saying that I shouldn’t. She was worried that I wouldn’t be taken seriously, or that it would somehow make me look bad.

I know she meant well, but after thinking on it a moment, I decided that I would bring eight dozen cookies. And not only would I bring them, I’d wear a flouncy Betsey Johnson dress while giving my talk. And you know what? Aside from my outrageous nervousness, it could not have been a better experience! I met amazing people, and we ate cookies and talked Python together. What more could you want?

So, please feel invited to bring exactly who you are to this activity. If the recent #ILookLikeAnEngineer debacle taught us anything, it’s that you can look like an engineer, no matter what you look like or what you do in your spare time! And don’t let anybody tell you differently – especially if cookies are involved.

Bonus Round: PyLadies are Everywhere!


Okay, so this one was mostly just for fun. But I wanted to share this image to illustrate that we PyLadies are all over, and we’re doing good things in our community to help women learn Python.