Monday, February 16, 2009

Obie: NO

I just gave my computer the finger.

Here's why:

Here's the comment Obie's blog wouldn't let me post:

You've got work that pays well and a field where quality is easy to spot. There's already gigantic economic incentives for programmers to get better at what they do. But there's much greater economic incentives for programmers to just build shit, so that's exactly what they do. They just build it, and it's shit.

I think the economics here are so fundamental that any effort which opposes them essentially pisses in the wind. Think about who buys computer books. You don't have a situation where mediocre programmers buy one book every year, and good programmers buy two. The vast majority of programmers never, ever buy a book unless they absolutely have to. Lots of good programmers have giant programming libraries. You make more money helping good people become great than you do helping mediocre people become good. Mediocre people aren't mediocre because getting better is a mystery. Mediocre people are mediocre because they don't give a shit.

Also, you said "our collective failure to set high standards for the community is strangling the continued growth of Ruby and Rails overall." Are you serious? Criticizing the Rails community for its low standards of quality is like telling a supermodel she looks fat. Who are you comparing us to? What Web framework is more concerned with elegance? What language community has a greater reputation for being obsessed with TDD? The language communities and frameworks that can compete with Rails on these metrics are NOT numerous.

Also, how in the hell is setting higher standards going to make it EASIER for Engine Yard's customers to find qualified Rails developers? The higher you set the standard, the harder it is to find people who meet the standard.

I probably sound quite angry, I know lots of people think of me as this terribly angry person, it's not intended like that at all. I'm just boggled by the sheer load of different variations on what in God's name are you thinking that I can come up with here. I mean certifications commoditize skills. That's the effect on individual programmers, right? That's why operating in a field where certifications exist is inherently dangerous. So: Branding a Rails shop as hitting a bare minimum commoditizes your shop's business practices. It makes a brand which marks the bare minimum stronger than your own brand, which should mark the apex of your work. It's marketing suicide.

Not only that, you're setting a bare minimum as a target. Something for all those idiot "programmers" to aspire to. Not only THAT, nobody ever got rich selling self-improvement to people whose unifying characteristic is mediocrity. It's not like there's this shortage out there of advice on how to be a good programmer. There's a shortage of economic forces impelling quality and craftsmanship, and a surplus of economic forces impelling good-enough bullshit. Then there's this tiny market made up of people with self-respect who want their shit done right, and that's where we get our money.

I just can't figure out what you were even thinking here, man. I mean you're the guy who told people to read "Predictably Irrational." This is just UNBELIEVABLY silly. You might as well have invented a perpetual motion machine. You're smoking fucking banana peels. What shop with an ounce of common sense would shoot for a certification when they can just point people to their code on GitHub, their apps on the Web, and their presentations on Confreaks or InfoQ?

I mean if this was a book, I'd read it. I'd like to see one of those "The Hashrocket Way" presentations. All the biz practices I've read about Hashrocket sound freaking great. Nothing but admiration there. But a certification? For companies? It's never going to happen. It's a unicorn. It's a unicorn with Pegasus wings and Neil Patrick Harris rocking guitar solos on a V-neck Ibanez. It's a magic fairy unicorn from the land of Nod. What are you THINKING?

And all these companies who have trouble finding programmers who are good enough, they're SUPPOSED to have trouble finding us. That's why we can charge them lots of money. If we were easy to find, they wouldn't have to pay as much. That's supply and demand. CHILDREN understand that.

This is the crack-smokingest bullshit I've read in a LOOOOOONG time!

And let's go back to this bit:

"our collective failure to set high standards for the community is strangling the continued growth of Ruby and Rails overall."

Rails saw METEORIC growth because it made it so fucking easy for clueless newbs to build shit. It's these same clueless newbs who don't use source control of any kind, cargo cult everything, and generally suck. Guess what? They don't just contribute numbers. They're part of what makes Rails great. You need to read "The Wisdom Of Crowds." The fundamental dynamic of the invisible hand isn't just limited to marketplaces; it shows up anywhere you have large numbers of independent agents pursuing independent goals. Open source fits that broad definition, and you see invisible hand effects ("wisdom of crowds") in open source. In an invisible hand situation, adding stupid people to the group actually increases the overall intelligence of the group. Likewise, in invisible hand situations, adding any kind of diversity to the group improves the group's overall intelligence. The ease of use that draws clueless newbs to Rails also draws sophisticated people from outside programming, for instance, graphic designers. So we get the usual experienced, smart coders, plus the idiots, plus the sophisticated people with little programming skill, and the result DOES NOT strangle the continued growth of Ruby and Rails overall. It DRIVES it. We would be as shitty as Java without these people. It's the combination of a very low barrier to entry and very high standards of elegance that brought Rails tremendous growth in a very short period of time.

Jesus Christ. RMM NO. NO, NO NO NO NO NO NO. By which I mean NO. Or in other words, NO. Or to put it a different way, NO. Let me say it again, just to be clear: NO.