Selling clients on Django

May 6, 2009 | In: development, django, python

So right up front let me just say that I love Django. This should come as no surprise to anyone who has been to my site. I think its a great framework and I really enjoy working with it. That being said all too often my clients look like a deer in headlights when I suggest using it for their projects. Unfortunately that usually means that they want to use… PHP ::dies::

Now not that there aren’t some decent PHP frameworks out there but lets be honest if I had my druthers the clear winner would ALWAYS be Python/Django. Once in awhile I will get someone who is a little bit more open minded and they will suggest Rails. Which again is fine… I would rather write Ruby then PHP any day but it still is a far cry from Django IMHO.

So my question is this… how do you sell a client on the idea of using Django?! I would love to hear your thoughts about it. To preface my client base is normally entertainment industry based (Record labels, TV networks and Movie Studios). They tend to have overly bloated IT departments that take 7 months to handle an app we can crank out in a matter of weeks. The usual roadblocks I hear are “we don’t support python” or “we have no python resources to maintain the app after your done”. Basically I think my clients tend to think that I’m suggesting they build in Django not out of trying to use the best tool for the job but more as a job security language (jsl).

Anyway as you can prob tell this is a constant source of frustration and any advice would be very much appreciated.

Bookmark and Share
  • carl
    Well well. I am sold on django to but there are good reasons for a company not to pick it over other not as good solutions. One could be the number of ppl who are able to support the solution later, lets face it a whole lot more ppl know mysql and php over postgres and python ( not at all saying myself they are better). From a company standpoint that is an important aspect. Another thing also . Saying that google uses technology X mean absolutely nothing. Instead its more a question of what technology they dont use or somehow are involved in.
  • I whip up an admin mockup (based on their requirements) and show it to whoever will be updating the site (usually marketing). Hasn't failed yet, and that includes huge clients with enormous Java and dotnet biased IT departments.
  • Richard House
    The precise answer to you question, is "it all depends" on what the people you are talking to value.

    I haven't come across many clients that want Django specifically. What I tend to find is that business clients want solutions quickly and cheaply. Focusing the sales pitch on these features rather than the technology is likely to get more traction with the business folks. Once you have got their engagement with the value offered, then overcoming the support questions aren't too difficult given the will, as other comments have pointed out.

    If you are talking to technical staff who just value maintaining their PHP jobs, then you would be wasting your time pitching anything but a PHP solution.
  • - if you're searching *good* php-programmers, you have to sort out
    80-90% of the 1000 people who say they can do the job.

    - if you're searching *good* python-programmers, there are maybe only
    100 people who say they can do the job, but probably 80-90% of them can
    do the job. so, the probability to get a good python-programmer is much
    higher. and quality is what your customers want, right? and searching is
    what your customers don't want, right?
  • Most of my freelance clients are small-ish, but Django sells itself for me. Once I show them working samples that leverage Django admin, that pretty much seals the deal.

    I also have some good ports to Django from .NET and Rails where hundreds or even thousands of lines of code were saved (.NET) which makes for a pretty strong case to leverage what Django has to offer.

    My freelance clients are trusting me to deliver a solution that is easy to maintain, scalable and will deliver good ROI. After working with many web frameworks as languages over the past 13 years, Django is, hands-down, the best web framework that I've ever used, and Python quickly became my language of choice.

    The fact that there are also large entities like Google and Nasa are leveraging Python and Django, certainly doesn't hurt its reputability. Usually throwing in "Google uses it" is all it takes. There's also support for Java integration through Jython, and that can make using Django even more attractive.

    For programmers, Python and Django both have learning curves FAR below that of something like .NET, .NET MVC or even Rails for that matter. Django is extremely well documented and doesn't take a stack of books to learn over the course of six months. In fact, when I first got started with Django, I hadn't touched Python in a decade - I didn't have to, it's simply that easy to learn - and write very good, clean, re-usable, maintainable code.

    My hat's off to the Django core team for giving us this wonderful framework. And to all of the clients out there, don't be afraid of using this technology over something like Sharepoint or even Alfresco, which I think is one of the better CMSes out there.

    Give Django a chance. You'll be glad you did.
  • Often when a company doesn't "support" a platform you can reduce their fears and resistance by listing off a few large companies that use Django/python and the fact that you can get commercial support for Django.
  • Erik A.
    For clients that have their own IT departments, I'd recommend considering the truth that, assuming a good programmer, he/she is able to be proficient in any language in a short time. Also I'd bring out the fact that Python was created for teaching programming to non-programmer students which means its easy to learn, and therefore maintain. Also, arguably Python has a somewhat larger variety of tools and libraries available that mostly have better quality and maturity than corresponding libraries in PHP. This is important if the project is not just-another-website and requires the application of non-web technologies.
  • ninjacipher
    Thanks for the idea CordJ! I will add it to my bag of tricks. :)
  • CordJ
    Hi Matt,

    I'm working in a scientific environment where Django/python is not so problematic. However we do get a lot of students from the webdesign/programming departments. They are all topped up with Java,PHP an MySQL.

    One thing I do with some stubborn guys who insist on PHP/MySQL for their project is to sit down with them and just create the initial app with Django/Postgres in a real environment using Eclipse. Then I show them how to migrate to a different server (with different distribution and setup). Often by that time they are converted and see it as a challenge to learn something new.

    Not so long ago one guy insisted on the use of Java/Hibernate/MySQL/Tomcat for his multi million row database project. After three weeks of letting him swim in his own virtual machine running the OS of his choice CentOS) we saved his project by extending the initial demo app I created.

    Anyway, maybe you can offer to write a mockup and show the unwilling IT department how easy it is to maintain a well documented project.

    good luck
blog comments powered by Disqus

Flickr Pics

13th and washington NYC13th and 9th NYC1st st Jersey CityIMG_2813IMG_2814_2IMG_2816IMG_2815Photo_011908_001Photo_122807_001Photo_121107_001