Over a million developers have joined DZone.

Nobody Thinks They're An Enterprise

DZone's Guide to

Nobody Thinks They're An Enterprise

· Java Zone ·
Free Resource

Get the Edge with a Professional Java IDE. 30-day free trial.

I wrote this nearly two years ago, and was politely asked/advised not to publish it. If I rewrote it today, I'd probably make it a bit shorter. But I think the points are ones our industry needs to learn. The important one is very, very simple: playing to the ego of a non-person is a really lousy marketing strategy.

So, today's the day I publish this rather benign rant, and either ruin my career, or more likely, wonder, "what was the big deal about this anyway?". I promise I'll get back to talking about software architecture soon :-)

2006-09-06 22:08:05
The first question I was asked in today's NetBeans Day got me thinking about an unsaid thing that needs to be said. I've been thinking it for years. The entire technology industry's marketing organizations are focused around something that is more fantasy than reality. Hoisting myself onto my soapbox...

The question was: "Can I use the Enterprise Pack for NetBeans if I'm not an enterprise?" The answer is, of course you can! The fact that the question had to be asked is a symptom of a disease endemic to the technology industry. It can be summed up in one word: Enterprise.

My first close-up encounter with the enterprise cargo-cult was in 1999, when NetBeans was first acquired by Sun. Some folks came out to Prague, and kept talking with fear and awe about enterprise customers (best spoken in dramatic basso profondo, ala James Earl Jones or similar). The impression it made was that an enterprise customer is most like an irate two-year-old with teething pains, a baseball bat and the muscles to use it. I'd never heard of these terrifying enterprise customers before - I'd generally just been dealing with people in our beta program who worked for big companies and gave us great feedback. But apparently the greatest horror that could befall you was to talk to your customers - because then one day Scott McNealy might be out playing golf with the president of Smrdistan, and he'd say "I need you to fly that programmer, Jan Pičovak, out to fix my technology problem!" and then you'd lose one of your best programmers for a month. This was such a horror that the best way to avoid it was to make sure programmers never actually talked to the people who use what they make. It would have all been funny if it weren't so very, very weird.

I thought to myself, how did these people stay in business? They think our customers aren't people.

Enterprise is a market segment. The thing about market segments is that you (as someone marketing something) segment the market. That is, you're the one with the knife carving up the world into segments and naming those segments. The problem happens when you start thinking the rest of the world knows your names for them, or that you are talking to a segment, not to actual people. And the height of silliness is to think that the names you made up for market segments will actually mean something to the people in those segments.

What I don't get is how this point is nearly completely lost on the technology sector. Google sometime for enterprise software. Contemplate the amount of money spent on all the web pages and sponsored ads you see. Have you ever been looking for a piece of software or technology and that was what you searched for? Ever wake up one morning and say to yourself "Gee, I think I'll get some enterprise software today! Dunno what it's for, but I'm an enterprise, so it's the software for me!"? I bet you looked for something related to an actual problem you wanted to solve.

But what is a poor marketing drone to call these potential customers (bear in mind I've been a marketing drone, but hopefully not too drone-like and never for something I didn't believe in)?

Enterprise works. It has heft. It's one word. It sums things up nicely. But it's a segment. It's your name for a bunch of people. Toyota doesn't make a car called a Toyota Soccer Mom. What an unbelievable opportunity they're missing...not.

One of the best essays or statements I've ever read is Zed Shaw's Indirection is not Abstraction. That's dead on. The (basso profundo) enterprise is a layer of indirection - it's a thing that makes it harder to talk to people. The confusion is mixing that up with an enterprise being an abstraction for (and thus an okay substitute for) people.

Now, in any other industry, you'd go out and figure out how to reach those people and if you need to adjust what you make or how you make it or how and where you communicate to reach them better, you'd do that. In technology, you go up on the rooftop and shout EnterpriseFooFaw and wonder why all the cars in the street didn't just screech to a halt. And if they don't screech to a halt, you go out of business. Or go find a job at the next bit of fresh technology meat that comes along and run it into the ground too.

Soccer Mom is a useful market segment. It's also a near-insult. There's a reason we will never see the Toyota SoccerMom or the Ford SoccerMom driving down the street.

Java Studio Creator was a good tool. But it was specifically targeted at something called corporate developers (code for people who program in Visual Basic), and so was the marketing campaign. Way to lose your audience. I once asked a room of about 30 tech writers to raise their hands if they were a corporate writer. Big surprise, nobody did. Could somebody find commonalities among those people such that they'd probably really have a use for, or imagine they had a use for, specific products? Sure! Would insulting them to their faces help sales? Probably not (I got in big trouble in that preso for a slide with corporate developer surrounded by a big red circle with a slash through it - there were people who actually thought telling people they were corporate developers was a Good Idea™. While we're at it, why not substitute drone for developer? - but that brings us to a whole other topic, which is how corporate developer plays well to "analysts" [i.e. the people who determine your stock price] even if it makes no sense for your customers - which is its own industry-wide problem - talking to corporate analysts might be one step closer to talking to your customers, but there are a few thousand steps that come next).

I've seen quite a few successes and failures in technology marketing over the years. The successes tend to be targetted at people and specific problems; somewhere deep in the Matrix-like enterprise fantasy pod farm is a human being who will decide to use or not use what you make. We're not talking to the Borg Collective here. The spectacular failures tended to be cases where (aside from genuinely lousy technology - there are plenty of ways to blow it) they were promoted to the vendors' fantasy of their customers, rather than to the actual people who actually are trying to solve a problem the technology would solve, and who were capable of making a decision.

We can't control stupid marketing campaigns, but we can constrain them. So here's Tim's Rule #1: Any technology whose name contains the words business or enterprise is crap until proven not. And might be crap even when proven not.

If enough people take that to heart, maybe we'll see a few less really stupid marketing campaigns.

People make technology; people use technology. It's really people all the way down. And that's the "message" of this blog: Nobody thinks they're an enterprise.

2008: It's probably clear here that a lot of my criticisms and comments above have a lot to do with Sun. So I should give credit - since I wrote this, Sun has open-sourced the JDK and quite a few other things - there is a real turn-around happening in terms of connecting with people who use what we make. But there's still a long way to go.

Get the Java IDE that understands code & makes developing enjoyable. Level up your code with IntelliJ IDEA. Download the free trial.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}