Guest post: When policy makers ask the tech people
Originally a comment by latsot on A much-debated topic in Menlo Park.
In defense of we socially clueless techy fools, the problems Facebook has with this kind of thing are mostly due to three things:
1. A disconnect between policy makers and technical people.
This can cause any number of problems and I’ve seen them all a hundred times. A classic one (and Facebook does this a lot) is when policy makers ask the tech people whether they can do X and the tech people say “no, X is either practically or fundamentally impossible” and the policy people say the tech people are just being negative or not trying hard enough or that some technology that eats poorly-defined policies and shits out magic will probably happen at some point in the future and we should plan for that. Providing the people who have already told them it’s impossible will just try hard enough, of course. What’s wrong with those socially clueless techy fools, anyway? It’s not as though we pay them to think, what else have they got to do but even more impossible things than we’re already demanding?
Another is the aforementioned poorly-defined policies and protocols. When they are put to the software people we say “yeah but…. look at all these holes. Look at the instances when it won’t work. Look at the fact that we can’t measure the things you want us to measure” and so on. Policies are one thing, protocols and engineering are quite another. I’ve been in dozens and dozens of meetings about this sort of thing. The policy makers think they can just say “make it do this sort of thing” and everything will work out fine. From their point of view, they’re absolutely right because we techies get the blame when the software behaves in exactly the poorly-specified way that was asked for. But we are really good at turning policies into protocols when there’s mutual respect. There never is.
There are lots and lots of other examples, but the problem isn’t either camp, it’s the failure of the camps to work together. These days this is rarely (in practice) the fault of the people trying to build the architecture and write the software so much as it is the way the organisation is structured. Even today there’s a widespread attitude that the tech groups ought to be subservient to everyone else and should just “GET IT THE FUCK DONE” regardless of reality or budget, which brings me to:
2. Inability to let software and architecture experts do their jobs
Give we socially clueless techy fools a set of requirements and enough time and money to do it and we’ll turn them into something that actually constitutes a set of requirements. Tell us to build a bridge to the moon (and some of what the non-tech divisions of Facebook regularly ask is genuinely about as ambitious) and we’ll do what we do and eventually say “but what you really want is this” and often “but we can’t do that, we can do this” or “we can do that but it will cost all the money in the world and won’t work anyway”.
Most of the time in big companies some enormous sum of money will be signed off to make that happen (yay!) but within a fortnight large amounts of that budget will be pulled, but we’re still supposed to deliver the same thing on the same timescale. We say that we can deliver less or deliver later but not both….. and hear nothing. We’re supposed to make that decision so that the policy people don’t get the blame when it all goes wrong.
Inevitably (seriously, on every software project anyone has ever done ever) we’re told that we can take the budget and time we need out of the testing budget. We all knows what happens then: the software doesn’t get finished and it doesn’t get tested properly, either. Besides, someone will long ago have seen this big, lovely testing budget sitting around not being used yet and plundered it. Every. Single. Time.
3. They’re lying
What Facebook has become is exactly what it wanted to be. The ‘problems’ are its business plans. The things it’s claiming to fix are what it wanted to happen in the first place, not the accidental consequences of a platform that somehow got away from itself. It was the business types and the policy types who made that happen, not the techy types. I’m damn sure they asked the software people about it and they told them what the consequences would likely be and were ignored. Again and again, I’d stake my life on it.
Oh and I should throw in a 4. Don’t ever consider that Zuckerberg is anything like a veteran of software and architecture developmet. He demonstrates his technical idiocy on a daily basis. He couldn’t write “hello world” on his own cock.
Don’t get me wrong. I’ve said several times here that software developers are often idiots about… well, most things, especially women, equality and not being a dick.
But what’s happening with Facebook is deception. It’s a company built on deception by people concerned with money more than technology. And the difficulties they are facing with being a terrible company and treating everyone including their users, people who are not their users and entire fucking democracies as subservient to their requirements are not due to we socially clueless techies or the technically clueless policy makers but to the capitally rapacious business types and their failure to learn about how technology – and the businesses that rely on it – scale.
In other words, the main problem is that our governments blithely allowed companies like Facebook to become de facto and then actual monopolies and pretended not to know what would happen.
Policy makers favorite code snippet
{
“insert magic here”
},
Pliny, yes. And testing even that code will cost at least 20 times what it cost to write it.
Nos. 1 & 2 are familiar to any professional (techy or not) or even skilled trade workers in the corporate world. In my former field (instructional designer aka employee training design) I’ve seen some royal clusterfucks caused by those managerial attitudes.
‘We say that we can deliver less or deliver later but not both….. and hear nothing.’
I swear, when I give talks or instructions to my colleagues or staff I have to show them an image of the ‘project triangle’ and say USE IT.