Saturday 9 July 2016

The problem with constitutions.

The current UK political upheaval is producing more complaints about us not having a formal constitution — while a popular vote has resulted in support for Brexit, it's a) not a majority of the population, b) not a supermajority (which many people think should be needed for "change"[1]) and also c) not actually something parliament has to pay attention to — and might need to have a vote on which could easily produce a Remain vote in the house..

And so Britain is in the situation of (again) trying to work out post hoc how to handle these things... 

Wanting a written constitution now is wrong on a number of levels; firstly the UK does have a (surprisingly large) set of actual written constitutional legislation and it's not helping any, but also a single formal written constitution isn't a magic fix for these problems. Just because rules are enshrined in a constitution doesn't mean a majority of the population support them — it may just mean it hasn't been able to change them yet.

Currently the United States is providing an illustration of why. The police shootings issue is basically related to the freedom to own guns there — in the UK, a traffic stop where guns are suspected to be present is a fairly major affair; it's rare and the cops show up in body armour, multiple cars and wielding semi-automatic carbines. It's planned, controlled, rehearsed and supervised. US police, often single-crewed, pull over cars for having duff tyres which could potentially be full of angry men with guns. Every traffic stop is a potential life-and-death situation. Unsurprisingly they're nervous and stressed and armed and that's a quick way to getting the sort of shootings that have been upsetting everyone.

And underlying that is the US constitution's near-irrevocable guarantee of most Americans being allowed to own and carry firearms.

In order to be functional, a constitution has to be incredibly hard to change; otherwise it's not a guarantee of anything but more of a sort of list of things to be crossed out if they prove to be annoying. But the problem there is that when you do think you might need to change it — like in the United States case of being awash with firearms and that not necessarily being a great idea — it's next to impossible to do so.


If we had a formal constitution that was 200, 300 or 400 years old, how appropriate would it be to the UK's current state? If it was based on (say) the bill of rights we'd be in a world where we could have no army in peacetime but Christians can openly carry guns on the streets. Fixed penalty speeding and parking tickets would be illegal — the only way to enforce those laws would be a full trial and everyone on the jury must be a freehold home owner so that'll be quite a burden then... It probably wouldn't have said anything about European super-state membership because at the time (any of those times!) we were at war with some or all of Europe.

What about a modern constitution?

Well, when people say we should have a constitution, often what they're thinking is that their political party should write something that means the other side won't be able to do the stuff they get voted in for when the political atmosphere changes. The lefties think the constitution will, obviously, have to ban privatising things forever and the right-wingers think it will definitely make privatisation compulsory.

Enshrining those modern — and far from decided — political positions in a way which can't be changed in the future may well be storing up more trouble.

And frankly modern life is probably too complicated to be codified in something like a constitution.

The US constitution fits on a few pages which is one of the reasons why so many people have read and memorised the rather pithy sections. The French one, 200 years later in 1956, is 40 pages -- it harks back to many of the same originating documents as the US one.

More modern constitutions such as the Swiss one are getting longer — its 78 pages include articles about things like motor vehicle taxation and the organisation of the education system (they revise theirs much more often than most countries). The Indian constitution is huge; the table of contents is 27 pages.

So this doesn't bode well for us being able to trot out something which is relevant and to the point. But there's other data that might lead us to think writing a modern constitution might be complicated.

As an example — the UK's corporation law was for a long time based around the 1948 Companies Act which is already a bit of a long read at 400 pages. Its replacement in 2006 was over four times as long and was the largest single act of parliament ever passed. For all of three years until the Corporation Tax Act arrived in people's inboxes[2]. In 1996 we established a project to simplify UK tax laws over five years. They actually took ten years, only re-wrote company taxation and while doing that increase the size of it by 6,000 pages...

In Britain, in its current state of both political division and obsession with minutia, a constitutional process might take a very, very long time to sort out things like the wording of "clause 103489, the right to at least 107 minutes of free talk time in mobile phone contracts providing that's not too onerous on the phone company (see definition of such in schedule 11778) and the mechanism of deciding how much of an imposition it is..."


A decent proportion of the world's constitutions were written when the politicians concerned were united in the face of a much greater external threat. The US constitution was written in the aftermath of having fought a fairly bloody war to win independence from the world's then superpower. Other countries have adopted constitutions in similarly trying circumstances which led to their politicians finding common ground. The current French constitution stems from a political crisis and harks back to that introduced in 1946 following liberation and also the core statements of values from the revolution — again, produced by politicians united in times of turmoil and needing to actually get the thing done.

Formal constitutions only work if they're not written when politics is hopelessly divided and can hence produce something that people can generally agree with at the time. They're not the solution to partisanship — and a partisan formal constitution (which is the only kind we'll get any time soon) will only make the current problems worse.


[1] Which usually translates to "changing the status quo with which I'm happy.."

[2] By lorry one would guess..

Thursday 7 July 2016

Katie is also a Software Engineer...

The question came about how people who are, on paper, experienced software engineers at large companies end up not being able to write simple code in job interviews.

Everyone who recruits for software companies knows this happens -- stellar looking candidate; turns out not to be able to write trivial bits of code.

This had always slightly confused me until I worked at a succession of large companies...

The software teams work on a matrix management system with daily assignments. You arrived, found out which project you were on, picked up the work packet. In my case, I'd look at the trivial task, the gibberish that had been written for it, delete all the existing code, write the small section required, tag the work packet as completed and retire to the on-site cafe for an afternoon of "meetings"[1].

People who didn't finish the code simply let go of the work packet -- tomorrow they get a different one, possibly on a different project entirely.

The result? As a whole, the team (slowly) writes software -- eventually all the work packets will arrive on the desk of one of the competent developers and get done. So everyone on the team is a successful software engineer... Of course, writing software is very slow when the majority of the people aren't great[2]. So you need a lot of engineers. Since you need a lot, you can't pay very well... which means you don't get very many good ones[3].

Tada! An environment in which a lot of people work successfully as poorly-paid software engineers for many years but when asked to personally write simple code in the filtering for a better paid job screw it up.

And then (as was famously pointed out by Spolsky) they apply for ALL the better paid jobs; figuring that they're just "unlucky" when rejected so everyone interviews a ton of them plus a couple of good ones and hires "only the top 1%" which is how everyone claims to be hiring top-tier[4].



[1] No, you may not have a second work packet. No, you may not go home early. No, you may not fix other code. No, you cannot work on another project...

[2] Overheard conversations in the office included discussions over whether, when getting pointer related errors from the compiler, it was better to try adding more * characters or more & characters to make the errors go away...

[3] So... Why was I there? Well, mostly they were conveniently located and I was usually hired to try and improve productivity. That part I never succeeded at, because my 'suggestions' of firing, say, 19 out of 20 in each team of the -- successful, remember -- engineering staff and replacing them with two or three people on maybe 3x the pay were always turned down by HR people. Whose job positions are dictated by how many staff the company has, not how productive the staff are.

[4] You're not hiring the top 1% of the industry, you're hiring the top of the applicant pool -- which includes all the people everyone else didn't hire as well..