Ideas and insights from our team

Going to Technical Events is Awesome: A DjangoCon Experience

We just got back from DjangoCon US! It was quite a marathon for us because Filipe Ximenes and I have been to PyBay and DjangoCon AU too, right before DjangoCon US. Besides having a great time presenting our talks, it was awesome to meet new people and reunite with old friends. From our blog, you’d guess that we really enjoy conferences. We do incentivize collaborators to attend them since we believe it's very important to keep in touch with the community. We also always learn a lot in conferences. But as it's said: "the best way to learn is to teach". This is why we not only encourage but also sponsor Vinta's team to give talks. Another great thing to do at conferences is to attend sprints. Coding with people you've just met or you only interact online is another great way to learn. You even get to contribute to libs you fancy. There were several other nice things we got from DjangoCon, keep reading for some highlights.

DjangoCon attendees

Talks We Enjoyed the Most

There were many good talks at the conference. Here are some we attended:

We really wanted to attend Understanding JavaScript Libraries via React and the React Ecosystem by Andrew Pinkham, but Filipe was talking at the same time. You can check Andrew's slides here.

We’d also highlight this 2 other talks we’ve watched and really appreciated:

Our Contribution to the Conference

Both Filipe and I gave talks at the last day of the event. Filipe talked about Celery tasks (video here) and created a checklist for Celery projects as a reference to avoid headaches. We got good feedback for it and even ideas for some additional checklist items!

Alt text

My talk was focused on Linters and Automated checks (video here). I talked about how linters are made and how Django already has its own System check framework (didn't know right? Docs here). People loved the idea of writing new checks for Django to make it more friendly to beginners and robust to any project. Can you spot the bug in the code below? No? That's why I wrote a new check to detect it!

from django.db import models
from django.contrib.postgres.fields import ArrayField

class Post(models.Model):
    tags = ArrayField(models.CharField(max_length=200), default=[])

Also, I researched a lot about which linters are available out there, and I wrote down all Python linters I could find organized by type on this curated list. This is not only a source to find tools to assist you in projects, but also to get inspired and learn how to create your own linters. I hope people will consolidate knowledge in the form of linters more and more. Code for the demos of my talk is available too.

Looking for talks videos? They're available in this Youtube playlist.

Awesome Open Source Projects we didn’t know about

On her talk, Miriam Suzanne mentioned Susy, a responsive design-agnostic layout toolkit for Sass. Also, Ana Balica started to work on Classy Django Forms during the sprints, forked from our Classy Django REST Framework.

Projects we contributed during the sprints

The sprints were productive! We've managed to contribute to 3 projects. First, FixMyDjango, which we're creators and co-maintainers. Another one was Django itself, where I contributed with an additional automated check, as suggested in my talk. Finally, we also did several PRs to Batavia, one of the BeeWare projects.

What's next

There are still more conferences for Vinta to attend this year! The main one is PythonBrasil, the Brazilian national Python conference. Vinta's team is going to attend and talk there!

If you have any DjangoCon experience that you'd like to share, let us know in the comments. Hope to see you in the next DjangoCon US!

About Flávio Juvenal

Controversial software developer who questions everything: "Are we really going forward?". Python enthusiast, but is afraid JavaScript will conquer the world. Enjoys working with Django and now wants to write system checks for everything on it.