My First DjangoCon
Last week, I had the opportunity to attend my very first DjangoCon in San Diego (October 16 - 21, 2022). It was a lovely event, highlighting the best Python feature of all: Community!
Admittedly, I had quite a bit of apprehension going to this conference. In case you've looked around this site, you likely haven't seen much mention of Django in general.
That's because, up until maybe two weeks before the conference, I had never used Django before.
In my head, I imagined that I would stick out like a sore thumb, or maybe just hide inconspicuously in some corner.
What was I doing there to begin with?
Well, you see, I was delivering a talk titled Why I Didn't Start With Django.
The conference was held at the Marriott of Mission Valley in San Diego, California.
The registration process was quick and painless. The venue was comfortable, and everything was well condensed, so not as much walking as you might expect at large conventions.
I would also like to point out the conference's Covid policy. Attendees were required to be up to date with their vaccines and boosters, as well as have proof of a negative Covid test within 3 days prior to the event.
Also, attendees were expected to wear their masks at all times when indoors (masks were provided), unless presenting a talk.
Thanks to the organizers for safeguarding the health and safety of the attendees, and also to the attendees who complied with these guidelines!
Here's where most of the talks were held:
Backing up a little bit, I do want to provide a little background.
I have Jay Miller to thank for encouraging me to submit a talk proposal. Mind you, when he inquired, I did tell him I didn't really have any Django experience at all. Well, he said it didn't necessarily have to be a Django talk...
After exploring a few ideas, the one that stuck was why I chose not to learn Django in the first place, and thanks to Jay, he helped me mold it into a solid jumping off point.
I initially thought that my talk would take a very technical route, discussing bullet points of data around competing frameworks.
That fell apart very quickly (thankfully).
What ensued was an examination of what motivated me to choose the direction I took with Flask/FastAPI.
The 25 minute talk in one word?
When the talk is released online, hopefully I'll remember to come back here and add a link.
This is the view from the stage as I was getting ready!
Giving the talk was, surprisingly, not as difficult as I first imagined. Sure, I practiced a lot and refined it quite a bit. (I could always do better, but I need to give myself a break...)
The biggest reason for this is because the Django community proved to be warm and receptive.
Once my talk was over, I had a chance to talk with people I had never met before. No need for hiding in a corner, or feeling out of place!
Going into the conference, I felt like the talks might be geared toward more experienced Django developers, I expected things to fly right over my head. However, there were quite a few presentations that were incredibly informative, entertaining, and encouraging.
Jay and Melanie's keynote, Come on in, the Water’s Fine: Making Python More Approachable was a wonderful, delightful, insightful, and eye-opening talk about the excitement (and fear) of jumping into the tech field, particularly for underrepresented groups.
The Django Jigsaw Puzzle: Aligning All the Pieces by Will Vincent was an enlightening birds-eye view of how all the pieces of Django fit together, especially useful for beginners (like me).
And I can't leave out an amazing talk by Simon Willison, Massively increase your productivity on personal projects with comprehensive documentation and automated tests. That's a great one to catch for people wondering how to get stuff done. Lot's of stuff done!
Here he is talking about how GUILT is the enemy of your projects.
And that was just the first day!
Another notable talk was the one by Andrew Godwin titled Django Through the Years. Even with my 2-week old Django experience, I very much enjoyed hearing about the changes the framework has endured over the past 17 or so years.
The last one I'll highlight is Eric Matthes' excellent talk, Your First Deployment Shouldn't Be So Hard!, where he demoed a tool designed to make your first deployment experience simple and palatable. (More on this later.)
This is Eric demoing his project (live demo)!
As much as I enjoyed the talks, it's impossible to overstate how delightful the non-talks are. This includes the famous "hallway track", meals, and just general hang out time.
It was awesome meeting people, not only from all over the United States, but around the world as well.
At times, it was great to be a fly on a wall overhearing conversations about different technical/software related topics. Other times, I even found myself participating in them as well (always looking for an excuse to talk about htmx).
At one point I even got engaged in a conversation about "Python typing" with a developer who's been in the field for 20+ years. (It is a strangely polarizing topic!)
But even better, I just enjoyed hearing stories about people's favorite food, or places they had visited, or thoughts on Southern California traffic!
One night, I even had the opportunity to head downtown with "sixies" from Six Feet Up! That was an awesome time, and was grateful to be invited into their group!
Here's a picture of them posing for someone else...
Conference speakers also had the chance to come together for an appreciation dinner put on by the organizers.
It was so much fun! And the tacos were delicious!
I played a riveting game of Jenga (Djenga?), and had a blast playing/watching competitive games of Corn Hole.
Originally, I had not planned to stay for the sprints. However, I was able to stay for the first morning, and that has to be my absolute favorite part of the event.
I didn't think I'd have much to offer, considering my lack of experience with Django. However, I had been intrigued by Eric's talk highlighting the library django-simple-deploy and decided to join his group.
By staying, I had a chance to understand the impetus for the project, explore some of the internal code, and talk about general obstacles for newcomers when it comes to deploying their project.
The conversations we had were very illuminating, considerate, and welcoming, and I even felt like my (small) contribution (chronicling my use of the library) was useful and helpful.
Obligatory selfie with cool guy Eric:
This was my first sprint experience and it certainly wont be my last.
There are many things I'm missing here in this write-up, but it's already been a week and I wanted to write this while some things were still fresh in my mind.
One final thing.
I found that presenting a talk at DjangoCon felt a little disingenuous without having at least some hands on experience.
Earlier I mentioned that I had two weeks of Django experience. That's because two weeks before the event, I decided to build a quick Django app to get a sense of the work involved. It ended up becoming a tool to organize my presentation slides (built with reveal.js), with the ability to attach them to corresponding "events".
It turns out, the experience of building the app was extremely enjoyable, and I might actually keep using this tool in the future (crossing my fingers that I am invited to speak at future events)!
Here's a peak at how it looks:
I'll add more info in the README as time allows to give a little more instruction on how to use it.
And that's it!
I do want to point out that there were other things that happened between the lines, but this post is long enough already.
Ultimately, this is the takeaway.
Is there a Python conference you're interested in, but feel completely inadequate to attend?
The talks are only a small part of a greater experience that is impossible to replicate anywhere else. The energy in the air is palpable, and you will meet new people and make new friends.
Okay, done for real now...