Mimsy Were the Borogoves

Mimsy Were the Technocrats: As long as we keep talking about it, it’s technology.

42 Astoundingly Useful Scripts and Automations for the Macintosh

Work faster and more reliably. Add actions to the services menu and the menu bar, create drag-and-drop apps to make your Macintosh play music, roll dice, and talk. Create ASCII art from photos. There’s a script for that in 42 Astounding Scripts for the Macintosh.

Selling Django to the Eskimos

Jerry Stratton, May 7, 2009

Matt on Ninjacipher asks how he can sell his clients on Django:

how do you sell a client on the idea of using Django?! 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).

The answer is, you don’t. I’m one of those IT guys who asks you to deliver in PHP. If you deliver in Python, I’m the only one who can support it, and I try not to be the artificial hero of IT.

One of our prime concerns when contracting projects out is the long-term viability of the project. When you ask us to trade off the long-term viability—our ability to update the project—for your programming language preference, we’re likely to say no. If you persist, the smart IT department isn’t going to trust you. You’re asking them to believe two incompatible things:

  1. this is the best programming language for the job, and
  2. the programming language doesn’t matter;

I understand how those can mesh; for most people, they don’t make sense together. Most people aren’t wired that way. For them, learning a new programming language is a lot like learning a new language. Difficult and prone to mistakes.

So listen to it from our side: You tell us that we should use Python, but we don’t have anyone who can maintain the project after you’re gone, or we have only one person who can do so and that person is swamped. You recognize our concerns and tell us you’re not trying to force us to keep coming back to you. So now what we see is an orphaned project. We can’t support it and you aren’t interested in supporting it. We can’t trust you coming or going: either you’re trying to force us to keep hiring you for updates, or you’re not going to support us after launch.

So the short answer to “how do you sell Django to people who don’t have Python programmers” is, you don’t.

The long answer is to show them how much it saves. Whenever we hire a new or replacement developer, I convince them to put “Python, Rails, or Django skills a plus” on the hiring blurb. That’s always the first thing that gets dropped—those developers cost more than we’re currently willing to pay. Convince us that paying extra on developers saves money in the long run, and we’ll start asking you to deliver in Django.

Give us a breakdown that looks like this:

PhasePHPDjango
Documentation$1,000$1,000
Database Foundation$5,000Included
Backend Code$5,000$5,000
Frontend Templating$5,000$3,000
HTML/CSS Design$5,000$2,000
Administrative Interface$3,000Included
Total$24,000$11,000

Assuming that your PHP side is reasonable for the current market, we might still ask you to deliver in PHP this time, because it doesn’t matter how much we save on a product we can’t maintain. But maybe we’ll start thinking that having some in-house Django or Python skills is worth a little bit more.

Hell, it’s entirely possible that the there’s already a skunkworks Django server in use at that bloated IT department.

  1. <- tzoidecabo
  2. Apple censors English ->