Intensive Django Training with the US Air Force
Last week Audrey Roy Greenfeld and I had the privilege of teaching the US Air Force's 91st Cyberspace Operations Squadron the finer details of how to build, test, and deploy Django web applications.
It was a challenging, exciting experience for us as instructors. We've taught numerous Python and Django trainings over the years under Cartwheel Web , but this was the first time we taught as Two Scoops Academy using our new system of instruction.
The environment that the 91st Cyberspace Operations Squadron works in is heavily isolated from the internet. What this means is that until technology or information is approved, it is unavailable to the software developers. While they can access Google, Stack Overflow, and Read the Docs, reading the source on GitHub is something they do at home, not on the job. This means they really need to understand their material. Our experience with their team (already competent in other programming tools) was that they were bright, focused, and willing to learn.
The class included material on:
- Python, PEP8, PEP20, object oriented programming
- Django and related best practices
- Class-based views, ModelForms, and Forms
- Using third-party Python/Django components
- Bootstrapping projects with Cookiecutter and Cookiecutter-Django
- PostgreSQL, pgAdmin III, and PyCharm's database tools
- PyCharm settings, debugging, testing, and coverage integration
- Bootstrap, SASS, CSS, and Grunt
- Simple and advanced version control workflows with Git
- APIs with Django REST Framework
- Django project deployment with Docker
- Custom material as requested by the US Air Force
- Much more
We readily admit taking our course material is like receiving a firehose of knowledge to the face; that large portions probably won't make sense for months. Yet as always with smart students, we could tell that the core concepts of our curriculum were sticking.
During the afternoon of the last day we switched to "project" mode, where the class breaks up into small teams to begin trying to resolve various in-house challenges. To our delight, challenges were completed and real progress was made. As instructors, nothing is more exciting than seeing your students succeed.
The class ended on a high note, but as always I'm sad that it's over. Our host, Captain Jonathan D. Miller, was gracious and accommodating. The students were friendly and willing to learn. I'm grateful to have taught them on Lackland Air Force Base, and I look forward to hearing about their successes in the future.
For more details, see Audrey's blog post.
Testimonial by Captain Jonathan D. Miller
Here are some kind words that we received about the training we provided:
Daniel and Audrey just ran the most effective, focused training course I've had the pleasure of attending. They worked tirelessly with me in the months leading up to the course so that it was tailored specifically for our squadron's development environment, and they followed up afterward to ensure that their slides were flawless for our continued reference.
At several points during the course, my developers took me aside to mention to me how impressed they were with the Greenfelds' quality of instruction, preparation, and attention to detail. Having two instructors was a true force multiplier -- we covered more ground on Python and Django than I thought possible. After four days we were already building working prototypes of our desired applications, and many in the class had never touched Python before!
Our squadron's return on investment for this course was remarkable. Daniel and Audrey have my strongest endorsement, and I know the 91st COS will be sending future developers. | Jonathan D. Miller, Capt, US Air Force | 91st Cyberspace Operations Squadron | Flight Commander - Software, Infrastructure, and Projects
Tags: django python Cartwheel Web