DjangoCon US 2015 happened in September 2015 in Austin, TX. It’s a national conference that happens each year all about the Django web framework, and it features talks by developers with a wide range of experience levels and backgrounds. It’s part of what makes the Django community so great. As Kenneth Love stated in his 5 Reasons Why You Should Learn Django, the Django community is amazing, and its yearly conference in the United States is an excellent example of that community spirit.
This year was the first year that DjangoCon was run entirely by volunteer members of the community — full disclosure: I was part of the organizing committee — and was organized by an official non-profit organization. (You can read more about what that means for future conferences on the DjangoCon website.) The conference included talks about security, diversity, database design, community, deployments, documentation, and much much more.
Since Treehouse recently launched a few amazing Django courses (including my own, Customizing Django Templates), now is a great time to introduce you to 5 beginner-focused talks from this year’s DjangoCon that will set you on the right path as a Django developer.
Caleb Smith – The D is Silent: Challenges in Teaching Django
This talk by Caleb Smith is super handy, even from the perspective of the student instead of the teacher. Caleb gives an overview on what makes Django great, what standard conventions are, and how the design decisions that Django has made can serve you well as a developer using the framework. If you’re wondering what the difference is between Django and Flask, Ruby on Rails, and some other frameworks, Caleb also does a great job of succinctly explaining some of those differences.
Caleb gets more specific in how best to teach Django in the second half of the talk, introducing us to Constructivist teaching methods and to the concept of the “spiral curriculum.” The spiral curriculum encourages frequently coming back to basic ideas and building on them over and over. Listen for the reference to a programming language you might have used in grade school!
Some great takeaways from this talk for someone learning Django:
- Pair program! Even if you pair with a friend who is also learning, a second pair of eyes, along with practice verbalizing your thought process, is really helpful.
- Pick a small, self-guided project to practice on, and use that project to learn new concepts.
- His “Prescriptions” slide, toward the end, lists some amazing resources to take you even farther in your Django journey.
Kelsey Gilmore-Innis – Making Django Really, Really Ridiculously Secure
Kelsey Gilmore-Innis is the Technical Director for Project Callisto, a sexual assault reporting non-profit for colleges. Callisto allows sexual assault survivors to make online reports of incidents and securely save them until they decide to submit them to their schools or to law enforcement. For reasons I hope are obvious, it is crucial that Callisto is really, really ridiculously secure.
Kelsey’s talk is a must for anyone who works on a project that stores sensitive data. She starts by helping you plan for a breach and giving examples of what you should plan for. She then goes over how she designed Callisto from a security perspective, explaining that the fact that Django comes with a lot of amazing security features is part of why Callisto is written in Django! She also suggests some third-party security solutions.
This talk goes over good password hygiene, securing the admin, interacting with other organizations, and choosing a cryptography solution. If you’re working with Django professionally, Kelsey’s talk will get you really far in learning how to secure your projects.
Carina C. Zona – Consequences of an Insightful Algorithm
Carina C. Zona’s name might sound familiar to you if you remember Kenneth’s 5 Great PyCon 2015 Videos That Aren’t About Python. He recommended her talk, “Schemas for the Real World,” which I’m going to recommend again. As in, stop what you’re doing, go watch that talk, and then come back.
Carina’s DjangoCon 2015 talk, “Consequences of an Insightful Algorithm,” introduces us to the concept of “empathetic coding,” or coding while remembering that the algorithms we create have real-world consequences on people. She discusses the harmful consequences of data mining, even when the intent was good; this kind of inadvertent algorithmic cruelty results in, for example, businesses drawing conclusions about their users based on private, unrelated data about those users.
“Consequences of an Insightful Algorithm” emphasizes the importance of getting consent from your users, and architecting for real, informed consent that is consequence-free. Carina brings us lessons from professional ethics that we can use in developing websites and applications, and encourages us as developers to focus on avoiding harm to others, being honest and trustworthy, and acknowledging that code is written by and for real people.
Corryn Smith – Adding Geo to Your Django
Corryn Smith is a GIS (that’s Geographical Information Systems) academic who uses Django to add maps and other geographical data to her projects. Her talk is part introduction to GIS concepts and practices, and part tutorial on how to add a map to your project using some awesome open source libraries. She’ll show you examples of GIS in the real world before helping you dive into creating your own maps.
Her practical advice is especially helpful because Corryn is a beginner to Django and chose Django specifically for its easy mapping and GIS capabilities. Learn how to add some geo to your next Django project from someone who’s learning right along with you!
Allison Lacker – How I Learned Django While Working at Eventbrite
Allison Lacker got hired at Eventbrite after her time in the Peace Corps, and while she’s been at Eventbrite, she learned Django! Granted, she knew some other programming languages first, which probably helped. But her talk still contains some great tips for brand-new programmers. Allison advises you to learn by applying your new technology skills to real-world problems, and to try to get your current company on board with you learning a new technology.
She also acknowledges that people learn differently, and different things work for different people when learning a new thing. With that in mind, she advises you to try and learn one new thing at a time. She also gives practical advice on how to seek out new concepts to learn, to always keep stretching your goals, and how to ask someone to help you along your coding journey. Allison’s talk about learning Django goes really well with Caleb’s about teaching Django.
Bonus: My talk! Jane Austen on PEP8: Tips from an English Major on Writing Better Code
Many of you might be learning to program with a background in the humanities, and might struggle to understand how the experience you have from your background in literature and history is relevant to what you’re learning at Treehouse. This talk is for you! With some fun literary analogies, I explain how concepts you might remember from your high school or college English class can help make you a better programmer.
I discuss how writing a Python script is similar to writing a recipe or a thesis outline. I also talk about how a good, basic understanding of plot development can help you write better tests and design a better experience for your user.
My hope with this talk was to bridge the gap between technology and liberal arts. Since I have a foot in both worlds, I don’t see there being a gap between the two disciplines. In fact, I think I’m a better programmer, and especially a better teacher of programming, because I have a strong liberal arts background. If you don’t have a computer science or technological background, that shouldn’t stop you from learning to code and building great websites!
And that’s not all!
Attending conferences is a great way to learn new things and expand your programming knowledge. But not everyone is able to attend conferences in person, and no one can make time to attend every conference. Luckily for us, many Python and Django conferences record their talks and make those talks available for free! DjangoCon is no exception: you can still watch all the videos online! There are dozens more that go into more detail on deployments, technical debt, different database options, and the Django admin. Let me know which one is your favorite!
There are also a ton of videos on the website PyVideo.org, which links to over 3,000 conference talks and has a really useful search feature. You can travel back in time to PyCons and DjangoCons past!