Same as it ever was

Dave Winer has done more laps around the programming track than most of us. He’s seen the same code recreated again and again on each new platform, as the next generation of developers thinks they can start from a clean sheet of paper and not make the same mistakes as everyone else.

I won’t say they’re completely wrong … they manage to add some new mistakes every time.

It’s not just the code; they keep reinventing the same business models, too. For example: Create an open platform, get independent developers to target your platform, then shut off the API once you’ve reached critical mass.

Older guys see this play coming a mile away, but younger guys always seem to think this time is different, no matter how many times you warn them. But you have to keep warning them anyway, don’t you?

I think so, and I thought Dave did, too. That’s why I was so surprised by his response to a comment I left on his blog.

Dave was writing about why investors seem to want Dick Costolo out as head of Twitter. Marshall Greer wrote:

I like the idea of Twitter going back to its roots with developers. It plays to its strength as a platform. The challenge here is due to how many have been burned. On the flip side, there aren’t a lot of obvious alternatives.

I replied:

The cynic in me says that’s not a challenge at all. There’s always a fresh pool of developers who haven’t been burned yet. And they never listen to the “old guys” who have seen it happen again and again.

Dave said:

Everyone has heard that opinion, it’s what gets said over and over. Try to add new ideas.

Which honestly confuses me. Yes, it gets said over and over. Because it’s true over and over. And companies will keep pulling the same shit with developers as long as it keeps being true.

Dave has tried dropping out, ignoring the latest re-hash of the same stuff he was writing in the 80s. He even deleted his Facebook account and avoided the platform for more than two years. Eventually he started working with them because, “Facebook delivers more readers and engagement. And despite all the advantages of blogging, Facebook is winning.”

Makes sense. If you want people to hear what you’re saying you have to go where they’re listening. And if you’ve been around the block a few times you go in with your eyes open.

But when someone suggests that a company can’t do something because of how they’ve burned developers in the past, don’t those of us who have seen it have an obligation to stand up again and tell the story?

Whether a falsehood is stated through ignorance or malice, if no one disagrees it becomes the conventional wisdom.

Friday Philosophy – Meh

Instead of embracing innovation
and strong user experiences
as common values,
in many cases the only thing we strive for
is the standard of “not bad”
or “good enough”.

Something has gone terribly wrong.
We have forgotten
how to complain about the right things,
and started bitching
about everything else.

–Chris Guillebeau

How To Win A Flamewar

If you’ve been online long enough to have found this article you’ve probably seen, or even participated in, a flamewar. Seen from the outside, you know you’re looking at two people exactly like this guy:

What do you want me to do?  LEAVE?  Then they'll keep being wrong!
Duty Calls

You don’t normally see flamewars in real life except in special-interest forums: politics, academia,[1] sports,cosmology.

Then there are those special people, the polyflamers who will argue on any topic. No, not lawyers. Geeks.

Something in the geek psyche makes them — okay, us — prone to obsess over pedantic distinctions that ordinary people just don’t care about. If you think about flaming in geek terms, though, you see a way out.

Compiled language

When writing code, a programmer usually writes instructions that are in (somewhat) human-readable form. These instructions are then “compiled” into commands that a computer can interpret and execute. If the output from the computer is wrong, either the commands the programmer entered were wrong, or the compiler didn’t work correctly.

Experienced programmers quickly learn that it’s very unlikely they’ve found a new compiler bug. If there’s a problem, it’s almost always the code they wrote. Sometimes, though, there really is a bug in the compiler. Compilers can get fixed, but not quickly, and not often. The changes have to be small enough that they don’t introduce new problems. And they will potentially break any code that was designed to work around the bugs. Which is exactly what programmers do: They work around the bugs.

Debugging politics

Now think about a political campaign as a computer program. The campaign staff is writing instructions (commercials) that they hope will cause the public to exhibit specific behavior. But the target platform is the brain of each individual voter. Each one has its own rules, so every compiler works differently. But here’s the important part: You can’t fix the compiler. No matter how broken you think someone’s thinking is you can’t change the basic rules.

What you can do is figure out what rules they’re using. Which means stereotyping people. pigeonholing them based on a few characteristics you’re sure of, and assuming that a whole bunch of other things are probably also true. The sad fact about humanity — sad if you’re a fan of individuality, that is — is that this tends to work pretty well.

These are not the earmarks you were looking for

So now that you know each brain is wired differently, and you don’t have much chance to “fix” it, what are you supposed to do about it? Stop using arguments that work on you, and start using ones that work on them. Whoever “them” happens to be at the moment.


[1] Combine two and you get the observation that academic politics are so vicious precisely because the stakes are so small. Attributed to Woodrow Wilson after his time as president of Princeton University.

Someone Find Me a Middle-man!


Photo by egavad / per

If you like dirty jokes, go check out this one from Penny Arcade, then come back.
 
 
 
 
 
 
 
Read it? Okay, look at that last panel:

They can’t cut out the middle-man! The middle-man is the whole point!

This is a good lesson for any small business owner, or the people who do marketing for them.

When you’re a chef, sometimes you want someone else to cook for you specifically so it’s not just like you always do it. Sometimes it’s not just okay to be a middle-man. Sometimes that’s exactly what your customers want.

Same for garbage collectors, travel agents, crime scene cleaners. You’re not doing anything your clients couldn’t do. They just don’t want to. If they don’t-want-to badly enough, you can make some serious money doing it for them.

This works for managers, too, but for a different reason. Don’t hire people who will do everything just like you. Hire people whose skills don’t completely overlap yours and let them use those unique skills. If your employees do everything just like you would, you keep hiring copies of yourself. That’s not a good strategy. (Unless you’re perfect.)