Django in the Enterprise

Long-time readers [know](http://heisel.org/blog/2005/06/21/best-quote-on-enterprise-development/) of my [dislike](http://heisel.org/blog/2005/04/09/enterprise-its-not-just-a-crappy-tv-show/) for the word [enterprise](http://heisel.org/blog/2005/01/11/thought-of-the-day-enterprise/), but the truth is that many of us work for just such a beast.

Luckily I get to use [Django](htttp://djangoproject.com) at my [job](http://www.ajc.com) and I thought I’d share what little I know of how to get Django into a big company.

1. **Start small** — If your pitch starts with “Let’s scrap (big hairy enterprise system that’s already installed) and use Django… tomorrow!” it’s probably not going to succeed, at first.

Pick an existing application in your company that folks, especially your boss, don’t care for. Even better, use Django to scratch a new itch that you or your co-workers have.

In my experience it’s often best to start with a project that wouldn’t have to interact with any legacy systems. That way you can avoid the “OMG your toy application, language and framework will bring our critical systems to their knees! I banish you and this ‘D.J. Angelo’ to the [phantom zone](http://flickr.com/photos/13417605@N00/1809800061)” reaction.

Your goal is to build an application that’ll make folks happy, or make folks money, or save folks time, or save folks money **and at the same time** pose a relatively low risk to the existing business.

2. **Start locally** — If your pitch starts with “I need capital for two Web servers, a hardware load balancer, and some master-master database boxes” it’s probably not going to succeed, at first.

Start working on an application on your office or home computer. Deploy to a nice host like [WebFaction](http://www.webfaction.com/).

Be sure to put some password protection on the application, where-ever you deploy it to. Don’t put any company data in your application to start with, either.

You don’t want to leave the taste of “doesn’t care about security” in your boss’ mouth. It doesn’t pair well with “freaking awesome framework I’d like to start using.”

3. **Start in your own time** — If you’re not fortunate to work in a group that has [20 percent time](http://googleblog.blogspot.com/2006/05/googles-20-percent-time-in-action.html) then you probably want to work on this project in your own time.

4. **Start humbly** — Django *is* awesome. Django does have [magic powers](http://www.djangopony.com). I know that. You know that.

However, acting like Django will revolutionize the enterprise, make it [flipped, turned upside down](http://uk.youtube.com/watch?v=CZ1NA7Mgzgw) will probably not go over well.

Plus, smugness is the domain [another Web framework](http://flickr.com/photos/simon/2835756683/).

That said, don’t be too conservative in your enthusiasm for Django. A little zeal can go a long way, and show your boss that this is something you really care about.

5. **Start now** — What are you waiting for?

Change is wrought by those who fight for it… get to it!

About Chris

Python developer, Agile practitioner trying desperately not to be a pointy haired boss.
This entry was posted in Django, Python. Bookmark the permalink.

2 Responses to Django in the Enterprise

  1. Michael Cumming says:

    Excellent advice. I am in exactly that situation at work. I think I’ll proceed just as you advise.

  2. Chris says:

    Michael,

    Glad my post (wordy as it is) is helping folks out!

    I think the key is to start small and grow virally… in other words build something so awesome your boss can’t say no to it!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s