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.


Python in Atlanta: resources for PyLadies

So, tonight I’m giving a talk at PyLadiesATL about doing Python in Atlanta. My goal is to share information that’s relevant to newcomers and experienced developers about what we currently have going on, so that we might all dream together about what we want.

Since a lot of folks won’t be able to make it, but might benefit from having the info available here, I decided to write up my thoughts. For anyone who has ever asked to pick my brain on doing Python in Atlanta: here ya go. This is what I know. Hope it helps – and: please? Help me out by lending your own suggestions. We’re all in this together, after all!

Our current resources

PyATL – a welcoming Meetup for all

PyATL is Atlanta’s Python Meetup that meets on the second Thursday of every month. It is convened by Doug Hellman, a super awesome guy who works on OpenStack and is a prolific open source contributor. He is well known for his work on virtualenvwrapper, a set of extensions to virtualenv. (Virtualenv is what we use to create isolated Python environments to work on our projects – it’s something you usually encounter very early in your Python-learning journey and end up using all the time). Doug is a great resource for all things Python, so follow him at and say hello at PyATL.

I attended PyATL for the first time in January and had such a great time that I’ve been back every month (except for June, when I was at DjangoCon Europe). I even gave a talk on PyLadies there in May.

Unfortunately, not a lot of women attend the Meetup. The first time I attended, there was only one other woman there, and in subsequent meetups there have never been more than three or four women in a room that sometimes inches towards fifty.

And since people don’t wear “beginner” tags on their shirts, it is easy to assume that everyone there is some kind of Python expert, and is so much further along than you. This can be intimidating if you are a new coder.

This was the case the first time I turned up in January, and I was accordingly nervous. I didn’t really understand the talks. But I did sit at a table with others and forced myself to talk about my interest in and growing experience with Python. Yeah, it was intimidating, and I felt like an imposter, but folks were really nice and I’ve actually become good friends with one of them.

If you’re serious about learning and using Python in Atlanta, you owe it to yourself to give the Meetup a try. Right now, it is our most established regular gathering for Python users in Atlanta. It’s a great way to meet others using the language, hear who’s hiring, and of course, learn from excellent talks.

My favorite thing about PyATL is the high quality of the monthly lectures, and of the speaker-educators who give them. Apart from that very first meeting, there hasn’t been a talk since that I felt went completely over my head, no matter how technical, because the speakers are so good at explaining even complex topics in accessible ways. Newcomers may be pleasantly surprised at just how well they follow along.

Likewise, PyATL is also a welcoming place to get practice speaking. Right now, there is a high demand for women to speak at programming conferences on technical topics. But if you’re not a student, you might not get a lot of opportunities to practice. PyATL can be that opportunity, and wants to be. The organizers are very welcoming to and supportive of new speakers. Some of the folks who are really good speakers are great, Doug told me, in part due to the fact that they’ve been giving talks at PyATL over the years and improving each time.

I used my May lecture at PyATL to prepare for giving two talks at DjangoCon Europe in May and June. It definitely helped me sort out some of my nerves!

If you’d like to get practice soon, opportunities are just around the corner. August is PyLadies month at PyATL, and they’re looking for women who’d like to speak. If you’re interested, please let me know ASAP, as they like to announce the schedule a couple of weeks in advance. You can also ask me about available speaker mentor resources. There are a few local, experienced speakers and Python developers who are available to help you practice and work on your talk.

Similarly, September is “beginners” month at PyATL. The talks will be either by or for beginners, and as always, all are welcome – though it’ll be particularly relevant and helpful for new coders.

PyATL Jam Session – a place to code together

PyATL’s format is lecture: you attend and hear talks by local developers. In contrast, PyATL’s jam session is an informal gathering where PyATL members gather to write Python together. You can choose to bring a hobby project or work with a new friend on something else. If you’ve ever stayed for the “sprints” after a tech conference, the jam session will feel familiar. It’s open to anyone who wants to write Python – all experience levels welcome.

The group is very helpfully convened by JR Rickerson, a local Python and Django expert who writes code every day at his company Red Rivet Studios. JR is a huge supporter of Python in Atlanta and is key to making our Django Girls happen in September as a coach (Django Girls? more on that in a moment).

Information about upcoming Jam sessions can be found at the main PyATL page. The next one is Tuesday, August 4 at 7pm, here at Pindrop. You can learn more and RSVP here.

Conference opportunities: PyTennessee, PyOhio, Curly Braces

Conferences are for new coders and experienced developers alike. You don’t have to have written Python for years to get a lot out of a conference: you can network with other developers, learn about new tools and new ways of approaching old problems, and participate as a volunteer.

It’s been my experience that organizers of Python and Django conferences work very thoughtfully to select a variety of speakers and talk topics that reflect the diversity of its audience and will reach folks no matter where they are with Python. I found this to be the case when I attended PyTennessee back in February. I attended a particularly good talk on security by Ashwini (@ashfall) and Chris (@radix) that was great for beginners. Even the talks that stretched my current understanding of Python didn’t go completely over my head. Again, as with PyATL, this speaks to the quality of developer-educators we have in our community.

If you’re curious what its like to attend and speak at a conference as a learner, I wrote up my experience at PyTennessee here and at DjangoCon Europe here.

Several Atlantans are heading up to Columbus Ohio to attend PyOhio later this week. After PyOhio, the next regional Python conference will be PyTennessee in Nashville in February. You are highly encouraged to keep an eye on the official PyTennessee Twitter for more info as it becomes available, and to mark your calendars for February 6 – 8, 2016.

And though not strictly about Python (or any particular programming language), Curly Braces Conf is coming up at the end of November, here in Atlanta. It is a free, local, welcoming one-day conference about the intersection of computing with arts and sciences. Anyone is welcome to pitch a ten-minute talk about something they’ve found exciting, surprising, or delightful about programming or computing. Learn more here.

Learn online with fellow PyLadies at PyLadiesRemote

Deepen your involvement with the global PyLadies movement by attending a PyLadiesRemote event or helping out as a TA. PyLadiesRemote is the Remote chapter of PyLadies. While it was founded to reach the needs of those who doesn’t have access to a local PyLadies chapter, the workshops are free and open to anyone. Follow on Twitter to learn what’s next.

If you have more experience with Python, you can help out as a TA. I had a great time TAing Katie Cunningham‘s Intro to Python class. Since then they’ve had intro to JS and Intro to Django with Emma Delescolle – the latter, just this past weekend.

PyLadiesRemote is organized by the amazing Anna who also writes the Django Girls “Your Django Story” series on the official blog. More on that below! She has always been a huge help and inspiration to me and I can’t recommend her work with PyLadiesRemote more highly.

Further your study with PyLady Lynn Root’s Newcoder.io

It’s great to get started learning Python with tutorials at Codeacademy, Learn Python the Hard Way, and Coursera. But once you’ve finished these, you may find yourself looking for more of a challenge. Fellow PyLady Lynn Root’s newcoder.io might be just the ticket. Designed to help you go beyond tutorials into building projects, you’ll really get a change to flex your growing Python skills. Tutorials on data visualization, APIs, web scraping, networks, and GUI can be worked sequentially and grow in difficulty. Bonus: your confidence as a Python developer is certain to grow as you earnestly work through these.

Need a job in Atlanta? – Companies that use Python – that might want to hire you!

MailChimp is one of our Meetup sponsors and provided the food and drink we’re enjoying tonight. MailChimp helps folks send better email by providing efficient and innovative ways to manage contacts, send messages, and track results.

They’re currently seeking moderate to advanced Python uses in a variety of positions. You can see what they have available here.

Pindrop Security provided the space for us to meet tonight, and is already well-known in the Atlanta Python community for fostering goodwill by providing a place for the PyATL jam session to meet. They have extended the opportunity to PyLadiesATL to meet here long-term.

Pindrop provides solutions to protect enterprise call centers and phone users by combining authentication with anti-fraud detection technology to verify legitimate callers while detecting malicious callers. They’re hiring in a variety of Python positions. Go here to see what’s currently available.

I have friends who work at MailChimp and Pindrop and they seem pretty happy with it!

Kabbage is the #1 online provider of loans to small businesses. Its concept is revolutionary: it allows users to draw against their lines of credit, as frequently as once per day, for anything they need to grow their businesses. Unlike traditional lenders, who rely heavily on credit scores for decision-making, Kabbage approves small business loans by looking at real-life data.

Kabbage seems like a pretty wonderful place to work, and they were featured in “Best Places to Work” by the Atlanta Business Chronicle. Check out careers here.

The Weather Channel is a household name, and they’re hiring. Employees of the Weather Channel regularly attend PyATL as active participants and nearly every month they mention that they are hiring. Check current positions here.

Local recruiters for Python jobs: A representative from Choice Technology Group, Sandy, recently attended PyATL and is interested in speaking with folks who are looking for Python jobs. CTG is located on Auburn Avenue and has a referral program. For more info, check their website.

Some thoughts: can I get a job as a developer without a CS degree?

So you’re teaching yourself to code because you’re interested in it, you wake up thinking about what you want to build, you crave collaboration on open-source projects. And maybe you’re perfectly content to build pet projects to make your personal life easier, or build a blog using Django to highlight a non-technical interest, and so on. But there may come a time in your life where you’re interested in getting a full-time job as a developer.

I have personally heard many success stories of people transitioning from non-technical careers or educational backgrounds into coding full-time. It is a lot of work, but if you are passionate, you can make it happen. While these women aren’t necessarily from Atlanta, it’s worth it to check out the “Your Django Story” blog run by my friend Anna of Django Girls. She regularly highlights women from a variety of backgrounds, often non-technical. These are women who taught themselves languages, tools, frameworks, and ended up building careers for themselves doing what they love. There’s a good chance you’ll find it very inspiring!

And there are plenty of women in Atlanta who have taught themselves to code and found great success. One very inspiring story come from the Ruby community: Kylie of RailsGirlsATL is now giving her “Amelia Bedelia Learns to Code” talk all over the US! And while my friend Melissa does have a degree in CS, her commitment to learning Clojure is hugely inspiring (and I not-so-secretly hope we work together to bring ClojureBridge to Atlanta!).

If you’re a woman who taught herself to code and has found success in the industry, please do speak up at our Meetups. We want to hear your story and learn from it. Just as there were probably loads of folks who helped you on your way, we hope you can do something similar for Atlanta’s PyLadies. Remember, we all rise together!

Stay in touch with Atlanta’s tech community on Slack

Have you heard of Slack? Slack is basically a bunch of chat rooms organized by topic. Private groups and direct messaging is also available.

TECH404 is a group of chat channels for Atlanta area developers, designers, marketers, business people, and other professionals involved in technology. It’s a common space where folks talk about technologies they’re using, successes and failures, job opportunities, and use lots of emojis.

You can find me in the #all-the-nerdy-ladies channel created by Pamela Vickers (@pwnela) of RailsGirlsATL. I’ve also heard and the #jobs and #gigs channels can be helpful for those looking.

Other social/networking opportunities across languages and tools

A simple search on Meetup will reveal lots of different types of tech meetups in Atlanta, from Clojure to Women Who Code. I compiled a list of a few of them and when they meet in this post “Geeky in Atlanta.”

So know you know what’s out there… what do you want from PyLadiesATL?

Seriously – in this talk/post, I wanted to give you ideas of existing resources here in Atlanta for starting or continuing your Python journey. I’ve covered our other Meetups, job opportunities, remote learning resources, and some personal advice.

But I also want to hear your dreams for Atlanta’s Python community. What’s missing? How can we make it better? Do you want our Meetup to focus mostly on talks from local developers? Do you want us to run a concurrent track of tutorials or workshop series? Please, let me know!

We have a few ideas to run by you:

Demystifying Computers: they’re Not Magic

“Computers Aren’t Magic” is a series of workshops by local developer Shawn Boyette of Curly Braces Conf. These day-long workshops cover computer hardware, the internet, Linux, and programming. This series will be held as a collaboration with PyLadiesATL, so keep an eye on our Meetup page for more details as they emerge. The first one on hardware was held on March 21, and will be reprised.

Using git and Github

Do you have a Github account? Do you use it? Are you familiar with these words?

Github is a powerful tool for sharing your own open source projects so that others can work on them. It also gives you access to the open source work of others. You use git on the command line in order to make changes and do loads of other things.

I’ve used Git and Github to manage my own projects and to contribute to others’. They’re critical tools for open source contributors, and lots of companies use Github to track their work.

At DjangoCon Europe I attended a workshop by Daniele Prociada called “Don’t Be Afraid to Commit”. It’s a workshop and tutorial for Python/Django developers who want to contribute to projects, but need grounding in the tools required to do so. It takes participants through the complete cycle of 1) identify an issue in a project; 2) writing a patch with documentation; and 3) submitting it, using git on the command line and Github.

If this sounds like something you’d be interested in learning, please let me know! I would use Daniele’s curriculum for this workshop, and it would last about a day (food provided).

Django Girls in Atlanta!

Django Girls is a 501c3 non-profit that empowers women all over the world to host workshops that teach women to fall in love with programming. The curriculum is entirely free and open source and available online. Check the tutorial out here. I am organizing Atlanta’s first instance of Django Girls to be held – fingers crossed & we secure our location! – Friday, September 25 and Saturday, September 26.

If you identify as a woman, know English, and have a laptop, you can apply for the workshop. You don’t need any prior technical knowledge. This class is for absolute beginners.

As a workshop attendee you will:

  • participate in a one-day Django workshop (with installfest the night before) during which you will create your first website
  • meet people from the industry and learn more about programming
  • be fed by us – all meals provided during the workshop

The workshop is free to apply and attend, but we only have space for thirty people, so please follow us on Twitter at @djangogirlsATL for the latest news. The official Atlanta Django Girls website will be up on August 1, and applications will open soon after that.

Do you use Django or Python for work or fun? If so, please be a Django Girls coach! You do NOT have to be a Django expert in order to help out as a coach. You must simply be willing to work through the tutorial with 2 – 3 attendees. If you’re interested in helping coach, please let us know at atlanta (at) djangogirls (dot) org.

We are also looking for sponsors. Sponsors are prominently displayed on the Django Girls Atlanta website. If your company agrees that the IT industry can greatly benefit from bringing more women into technology, and you want to be an active part of helping more women learn to program, please contact us at atlanta (at) djangogirls (dot) org.

What else?

I’m sure you have other ideas – let’s hear ’em! And let’s work together to make Atlanta a Python community worthy of women.