A Decade of Django
22 Mar 2017
Ten years ago I wrote a blog post about starting to learn a web development framework named Django. At the time it was a simple way for me to toy around with ideas I wanted to pursue. I even mention a social network project I was working on at the time. I can’t even remember what that project was.
Back then I considered myself a System Administrator who also knew how to write code. By that time I was pretty decent with Python and knew a handful of other languages as well, with C being my favorite. But I never wanted to spend my days as a computer programmer. I used my software development skills to help me manage systems and servers.
Programming always seemed to stressful. Full time developers that I had known were always wound tight and over worked. I had no interest in that life. I was happy running servers for companies and building my projects on the side. But then Django happened to me.
When I first discovered Django the latest stable release was version 0.9.5. It was crude as hell but at the time it was beautiful. I felt so comfortable in the framework and I spent all my free time just building random projects in it. In fact, this very website is still powered by the same blogging engine that I wrote as my very first complete Django project. It’s been updated throughout the years obviously but still the same core.
At the time I had a few fairly popular websites running that were powered by C (CGI. Yes, really), PHP or Python (mod_python). All of them were rewritten in Django. It’s shocking how quickly you can port moderate web projects to Django. Today it’s even easier and faster. Of course the projects I work on these days are far more complex and difficult but still, the framework rarely gets in the way.
I created a shopping cart application aimed at direct response internet marketers named CartFreak written entirely in Django. We had the first system (afaik) that was easy to integrate something called “one-click upsales.” This was HUGE back then because the only alternative was a costly system and a setup fee in the tens of thousands of dollars. In fact, I built the cart entirely to avoid that costly system. I couldn’t afford it. At it’s peak CartFreak was running millions of dollars per year through it and had some of the biggest names in internet marketing using it. Today there are still a handful of legacy customers using it to fully run their online businesses. Sadly my partner and I failed to innovate and today the product is rarely updated other than security updates and bug fixes.
I wrote a management system for a web hosting company I co-owned. I wrote an artificial support agent platform that was used by internet marketers for some time. I sold my interest in both of those ventures but they were very fun systems to build… in Django.
I would write various blog posts right here, and on tech sites, about Django. I’d write about my troubles or issues and how I’d resolve them. Technical solutions to common problems. At the time Django wasn’t the cool kid that it is today, so even short articles were really appreciated in the community.
I’d hang out in #django on Freenode all day, every day. I still do this actually. Look for me, my handle is “pjs” and I’m always on IRC - though I may not be in front of the terminal. I spent countless hours getting help and helping others in #django back then. Honestly I haven’t been very useful on IRC since around 2012 but there are still a handful of regulars in the channel from old school and now and then we’ll chat about the “good old days.”
All of these things led to companies asking me to consult on their Django projects. At some point I got very busy and needed to bring on help. So I’d hire on friends I’ve made from the Django community over the years. This eventually turned into my current business called Netlandish that I still run to this very day. Netlandish is a consultancy and we only work on Python projects. Most of the work we do has Django involved in some way.
In the last 10 years I’ve worked on countless Django projects. Clients range from small startups and non-profits to international media companies or Fortune 500 enterprises. I’ve also created or contributed to dozens open source projects. See my personal BitBucket account or Netlandish’s account.
My professional life revolves around this framework. As recent as a few months ago I was telling someone that I was a “SysAdmin by trade” but that’s bullshit. I’m a developer by trade these days. I love it. I love what I do. I have Python and Django to thank for that. I try to give back by sponsoring events or conferences, donating to foundations and projects, but mostly, just preaching the framework to anyone who’ll listen.
As my business continues to evolve I’m spending less time pitching clients and more time working on products. We have a handful of products that clients pay to use. Nothing that can support the business in full but we love building them and coming up with new ideas. All of them are built, in some part, with Django.
Python has taken over my tech career in many ways. We use SaltStack for system configuration, Mercurial for version control, Django (obviously) for web based development, and dozens of other Python utilities and modules every day.
It’s funny to me that what I never wanted to do is exactly what I ended up doing. Discovering Django a decade ago is the catalyst that pushed me in the direction I went and I couldn’t be happier about it.