Here it is in a nutshell...
In the 1990's, software products were made by developers. Those days are gone.
In 2012, software products are written by developers, chained to their cubicles by leather thong-wearing MBA "marketing" and "project" management freaks with gold-plated gas masks on. They are marched into conference room meetings to discuss project plans, schedules, resource allocations and who keeps fucking up the toilet in the men's restroom.
It's all about shareholder value now. I'll repeat that...
IT'S ALL ABOUT SHAREHOLDER VALUE NOW.
The misty-eyed days of developers passing the bong around, followed by the Dorito's, and the warm cans of Bud Lite, sharing ideas of revolutionary paradigm shifting, are gone. Splayed out like a Mexican drug execution scene, over an assorted mismatched array of bean bag chairs, and futons, orange crate coffee tables, with Led Zeppelin or Buckethead playing in the background. Discussing ideas for the next cool software project or feature update. Losing a bet over the lyrics to that last song and having to drink the bong water. GONE. Actually meeting with users (we didn't call them customers back then, that came later, after the suits invaded) to discuss what they like and don't like. Then actually, get this, you're going to call bullshit here: went back and incorporated the user's ideas into the software product. Amazing!
Developer's today talk mostly about the following key points:
- How to leverage "social media" and "social networks"
- How to infuse HTML5 or J-Query into their app
- How to build a brand and sell it to the first bidder
- How to get t-shirts printed for their weekly bungee jumping team meet-up
- Putting up a new web form to get customer feedback
- Building in telemetry to collect user statistical data
- Taking bets on the IPO share price, for, you know, whenever you IPO
Sure, there are some clever kids smacking the monkey keys, and a lot of them can do amazing things with the latest toolz. Notice that hep "z" ending there? Ha! I'm still a hep dude. Oh yeah. They can do truly amazing things. But unless they have a messiah leading them through the valley of the shadow of venture capital, they won't fear evil, but evil will own them soon enough. A messiah like Zuck, or Mason, or Williams, Brin or Paige, offers vision over stock shares. The longer they can hold those beasts at bay the more time they have to cultivate vision, ideas and build great things. But eventually, the boardmembers take over and that's that.
The problem is that developers alone can only do so much before they hit the point where they need to sell something in order to support their dreams. Eventually, they'll need money. Money requires indebtedness, which requires becoming someone's bitch on a leash. The leash holders want some ROI (that's RETURN ON INVESTMENT, for you kids that skipped business class to huff Redi-Whip cans behind the gym). The lenders get money from their investors, who in turn have only so much patience before they see a return on their dollars.
Your caffeine-pumped, sugar-infused, emotionally-charged verbal carpet-bombing about "totally radical" and "gnarly" new features and the latest ball-crushing, brain-exploding technological uber-wonderness is about as effective against the multi-syllabic brain of a standard issue, model B, type I, mark IV, suit-encased, managerial labor unit, as Charlie Brown's school teacher. All they hear is "wah wah wah wah J-Query, blah blah Dot Net, blah blah, XML something, blah blah AWESOME!". They're more likely to have remembered the exact count of how many times MC Coder wiped Rock Star dribble from his mouth than the names of any of that techno-babble.
This is not how it used to be, kids.
There was a time, way back before Facebook, even Google, existed, when software was conceived, built, tested and supported by (get this, you're so NOT going to believe this...): developers!
No. I'm not kidding. For realz! (see that "z" again? ha ha!) Don't believe me? Check out the historical photos below. On the left you see imagination at work. Actually, they didn't think of it as work, even though they busted ass for insane hours with few breaks. On the right you see the seats, to be filled with whoever occupies the board's latest organization chart for discussing the budgets, cash flow, valuations, ROI, SWOT reports, and most likely: a never-ending "renewed focus" on cost reductions.
They were good times indeed. At least, what I can remember of them. It's a bit cloudy, you see.
But as for the early on reference to "Firefox 10", that was a sidebar thought actually. The reason behind that was that in those bong-slinging dayz (did you catch it this time? good. you're coming along nicely!) they actually used a fairly consistent rationale for applying version numbering. Granted, there were variations and deviations, but compared to today, it was 100x more consistent, even across UNIX forks, Windows 3.x and NT, and Mac OS. A "major" version meant a radical, significant, kicked square in the crotch with ice-climbing boots on, change. Earth shattering. Paradigm shifting (back when that meant something as well). An "Oh shit!" moment for most customers (smiling as they said it).
A "point release" or "minor release" was for tweaks, upgrades, adjustments, etc. Or as to put it in terms of one of my professors...
Major = Revolutionary
Minor = Evolutionary
I'm sorry, but Firefox 5, 6, 7, 8, 9, 10 are really minor releases. They didn't completely overhaul the entire product with each of these, so why did they do this? Marketing. Pure and simple marketing. When market share is stagnating or falling, you have to pump up interest, and that demands turning on the Hype machine. The Hype machine as a huge funnel on the top that you feed copious amounts of bullshit into and it grinds it into marketing material. Brochures, Memos, Pamphlets, Web Sites, DVD's, fold-up kiosks, TV ads, and tons and tons and tons of meme terminology to verbally inject into the brains of anyone withing talking distance.
I have to tip my hat to Google for at least not only playing the version numbers down, but almost ignoring them entirely. You don't ever see a blurb about the "new version 16!" for Chrome. Never. You have to dig for it yourself. Sometimes (especially if you're on the dev channel like I am) you aren't even sure what version you're using until you stop and check.
The future is always the same. I forget who said that, but it was someone famous, I'm pretty sure. Facebook is about to do their IPO. They will slowly succumb to the boiling frog syndrome, whether they like it or not. The heat will start out low, and gradually increase, over months or a year, but not too much more than three years, you won't recognize Facebook as it is known today. It will become another corporate cube farm with the expected food court, exercise facility, and Zuck will gain 40 lbs and start balding. Trust me, I've seen it before. As it starts to stagnate, users will be watching for the "next big thing" and flee like rats as soon as something shiny and blinking comes along. That may take a few years, but it will happen.
And that, kids, is why the future of software development is going to suck.