Collective Code Ownership

Adam Tornhill has some great little vignettes over at My Five Worst Bugs: Lessons Learned In System Design.

However, in his vignette “Virtually Correct” (which technically is about the hazards of using base classes in C++) he criticizes collective ownership of a code base:

I’ve come across collective code ownership several times in my career, and we currently employ that principle to parts of the CodeScene development. I also know some great developers who claim collective code ownership works well for their organizations. However, what all those success stories — including my own — have in common is that they occur in small, tight knit teams of 4-5 developers; I’m yet to see an example where collective code ownership works well at scale. My scepticism isn’t specific to software, but comes from my background in social psychology and group theory. As soon as we scale collective code ownership to a larger group, we open up for social biases like diffusion of responsibility and social loafing that I described in Software Design X-Rays. These biases are hard to keep in check.

That’s all well and good, but it belies a fundamental misunderstanding of the virtues of collective responsibility.  Perhaps Uncle Bob Martin is the original culprit here? He of the “Single Responsibility Principle” infamy.  But I’m not talking about code here, I’m writing about people and organizations.  For code, it is a good heuristic to have functions assigned single responsibilities, it makes for less buggy and more maintainable code.  The reality for people and organizations is different.  A person is not much use if they have only one narrow single responsibility, and typically a person can cope well, and feel more self-esteem, if they are given a few important responsibilities within their capabilities. The reality is that collective responsibility can always work, and can always improve an organization’s overall performance if you use it right.  To do so you should use the following principles of good collective responsibility, which I’ve gleaned from W. Edwards Deming:

  1. No single person should be punished for mistakes made that were not deliberate or malicious.  Any honest assessment will usually conclude the system the person is working within is as much a cause of the problem as any one individual themselves.  Incompetence of a worker is something a manager should never allow to happen, if they do then who is really incompetent?  The worker or the manager who assigned someone a task which they did not have the skills to complete?  It is very rare that fault or blame can justly be lumped on a single person.
  2. Any worker making mistakes non-maliciously or accidentally is not an isolated poorly performing individual, they are part of the whole, and the manager’s job is to help such workers overcome their errors and to provide support or continued training so that the organization as a whole improves.
  3. Any defects in products or processes can always be considered collective responsibility, but that means the organization collective has specialized workers whose job it is to assign responsibility to an individual or team to attend to the problems causing the defects.
  4. The consequence of the organizational lens in point 3., is that the stress and anxiety of fixing a problem is not focused on one poor person, but is recognized as a cooperative task to solve.   To be effective this often means giving one person or a small team the task, but the responsibility is still distributed across the whole organization, since if the team does not perform well it is almost always the case that any different team of similar capability probably would also not perform well, and almost always the reason is a system fault, not an individual’s fault.  Some bosses might demand, “Whose fault was it!?” failing to realize they are the ultimate cause of any faults.  If an individual programmer lacked the knowledge or skill to fix a code bug, then maybe the manager assigning them the task should not have given them the task!   In short: delegating responsibility should never be used to resolve oneself of responsibility.  Absolving oneself of responsibility by delegation is a sure sign of a dysfunctional organization.  You can always blame the poor line worker who made the proximate errors, but that is usually only hiding the deeper failures of management and your whole collective system.
  5. People should not be treated like pass/fail products.  As bankers tend to learn from failed businesses who go bankrupt, they are usually the best folks to give future loans to, because they’ve learned from failure and tend to be more prudent than someone with a clean credit record.  Thus, is is not rally a great idea to punish or fire incompetent workers, it is often less expensive and more efficient to provide more training and lesser responsibility that can be slowly built up, you are then investing in your workers.

These are reason why I think worker cooperatives have a very bright future ahead, and intensive coding tech start-ups would do well to adopt worker coop practices, and understand the above principles of who to enjoy collective responsibility without suffering diffusion of responsibility.

It is always a great idea to focus tasks and give small teams critical responsibilities, teams that are small but no smaller than necessary.  But an organization can still enjoy collective responsibility, since when or if the team fails, you do not have to blame the team, and instead you can admit that there is almost always a broader system-wide cause of their failure, identifying that true cause is the way to enjoy collective responsibility.

Why a Job Guarantee is Superior to UBI in Every Conceivable Way

I’ve got at least 18 good reasons you should favour representatives who propose a Job Guarantee scheme rather than a UBI. (I think there could be several more reasons, write to me if you can think of more.)

Required reading: Tcherneva, “The Job Guarantee – one pager”

Why is a Job Guarantee superior to a UBI in every conceivable way and more? Consider: (1) A JG provides financial security (it would be politically impossible to eliminate a JG once implemented, it would be too popular).
(2) it provides a living wage plus health benefits (a UBI does not).
(3) a JG is pro-human (by contrast a UBI is cynical and defeatist),
(4) gives people purpose and dignity, and hope.,
(5) keeps people skilled when they can’t find private sector jobs,
(6) can be designed to give people freedom to do work they love, provided only it has good social purpose (as broadly defined by Congress).
(7) a JG scheme would be funded without cutting other programs, once a JG administration is staffed,
(8) is not inflationary (in a fiat currency), because the JG is not inflationary (it might give 0.09% inflation, which is good, a low level of inflation makes private debt easier to pay off).
(9) Taxes are not needed to offset the JG spending because the JG is not inflationary.
(10) A JG program produces demand for more services from the private sector, so it boosts private sector jobs.
(11) JG workers earn more than a measly UBI hand-out, and so will spend more, which boosts overall demand and fuels growth.
(12) the JG reduces crime and improves health, so it might overall pay for itself when fully accounted.
(13) much JG work could be purely for social good, it does not need to render a profit, this could be absolutely vital for fighting global ecological crises like global warming (especially if all major economies adopt a JG).
(14) the JG boosts GDP in a sustainable way, since the jobs created need not be based on competitive market demands.
(15) The JG wage is an automatic minimum wage baseline,
(16) is also price stabilizer, as private sector demand fluctuates the JG program takes up or release the slack automatically.
(17) So, in particular, a JG scheme would make the ridiculous welfare system for the rich (aka. Treasury bonds trading) obsolete. Due to the JG stabilizer effect, the Central Bank could set interest rates by the single mechanism of paying interest to banks holding excess reserves, at the desired overnight rate target.
(18) although sovereign government budget deficits are not useful numbers absent the impact on the real material economy and inflation, the JG scheme (In the USA) would only add 2% of GDP or less to the budget, so it is not even politically unpalatable even to deficit hawks.

And yes, deficit hawks are idiots, they are ignorant people who think that, or think as if, currency is still a commodity like gold, it is not. Budget deficits are meaningless out of context, what kills an economy is austerity (budget surplus) and private debt, and inflation. Government deficit increases counteract austerity and private debt, and are not necessarily inflationary.

If you want the full details and modelling of the effects of a Job Guarantee program, this is a good recent work:
Wray, “Public Service Employment” (includes simulations of effects of a JG).
UBI is giving up on humanity, it is a mindset where whatever robots can do will be defined by as menial unskilled labour, but if you truly believe (like I do) in prospects for advanced AI, almost every current human activity could be robot automated, even fine art. The point of a Job Guarantee is to massively expand the human imagination, to see useful social work well beyond what robots can do for us. The definition of “work” is endlessly creative. You can dbe of use to society by simply looking after people in need, or by creating public art works, or even simply by educating yourself and publishing your thoughts — this is all socially useful work, and anyone not employed by private companies should be given a living wage to engage in such work.

Lastly for a few juicy dunks.

  • UBI is essentially the same as tossing bread crumbs to peasants.
  • A Job Guarantee program is turning peasants into workers and workers into master of their own fate.
  • UBI is capitulation to capitalist oligarchy.
  • JG is empowerment of the working class.
  • UBI is an embracing of the narrowest definition of “work”.
  • JG schemes give us all freedom to massively expand the meaning of work.
  • AI robots are considered the reason a a UBI will be necessary.
  • A JG schemes says robots will free up human time, allowing us all to work less time but for the same wages.

The key to this latter point is to embrace the model of worker cooperatives. A worker cooperative employing more robots can vote to give themselves less work hours without a wage cut. Contrast this with the capitalist model of a firm: the boss employs robots, fires labour, and takes all the profits. That’s not a spiritual economics, it is neo-feudalism, in fat worse, at least under feudalism peasants had work to do. So we need to rapidly transition to a new green economy and start developing more worker cooperatives, and then we will see why a job guarantee works for everyone.

The Real American Splintering and Why Pete Buttigieg is Bad

To be fair, this article is not just about how bad Mayor Pete is, it applies to every advocate of centrist neoliberalism (those who promote Reaganomics and light government and quasi-free markets with just enough regulations to squelch worker rights and prop up moribund corporations, all for proceeds of indebtedness to be funnelled up to the financial class of Wall street rentiers). Neoliberals are found on either political aisle, but both Left wing and Right wing neoliberals tend to congress towards the “centre”. The political Centre is, by the way, where almost no one in ordinary main street life finds themselves, it is a ghost town in the general populace, most centrists are a rare species found in Washington and Manhattan, and Chicago University. There are no votes to be found there, which is why, when neoliberals are pitted against a cadaver like Mitch McConnell or a cad like Trump, the ghoul and the gagger tend to win.

But it is not the new polls showing Buttigieg would lose to Trump (a reversal of prior polls) which I am concerned about in this essay. This essay concerns something more systemic, it concerns gentrification of cities and the cult of “vibrancy”. This is part of what is causing a real divide in western democracies, and it is a particularly pernicious divide. Gentrification of the town of South Bend Indiana is one of the reasons to think Mayor Pete is not a person you want running the worlds most powerful democracy, not unless you are wealthy and privileged.

I am referring as source, and recommending, Thomas Frank’s book of essays Rendezvous with Oblivion, and in particular the chapter “Dead End on Shakin’ Street”. Frank describes the trend in urban planning and local government reformation projects he calls the “vibrancy” industry or cult. This is a key buzzword in the way the media and politicians dress up the anti-democratic process of city and suburb gentrification.

Now, why is this a problem? Well, for that you need a much wider perspective, and Frank’s previous book “Listen, Liberal: Or, What Ever Happened to the Party of the People? is the place to go for the answer. There you will find convincing evidence and anecdotes showing that Reagan’s neoliberalism was adopted by Clinton and Obama, and is inherited by Biden, Buttigieg and Harris. The idea is that the USA Democratic Party is no longer the legitimate “party of the Left”, it has abandoned the working class, and has become a party of the well-educated elite, the privileged, the credentialed, the professional class, the “creative class” (as if any class of people own creativity!).  The true story does not end there though, because the other half of Frank’s research and reporting on modern life is that the other party in the USA, the conservative Republicans, are even worse: for they have embraced neoliberalism to an even greater extreme, but dressed it’s austerity in fake populist rhetoric which at once pretends to champion the hard working labourer while in policy actualities repeatedly and viciously turns to stab them in the back (gutting unions, Wall Street bailouts, privatization of what should be universal social services, farm and home foreclosures, deficit hawkery to the extreme) and in public terms has embraced racist and xenophobic dog-whistling. You can read such accounts in Frank’s previous two books “What’s the Matter with Kansas?” and “Wrecking Crew: How Conservatives Ruined Government“. These should be mandatory reading for anyone living in the American midwest or post-industrial farmland, mining country and heartland.

Gentrification is only a small part of the neoliberal project. On it’s own, gentrification is not obviously a bad thing. It becomes horrific only when you see the effects on poor families. They never get to share in the fruits of investment in gentrification, they get thrown out of their apartments when the rents increase, and thanks to AirBnB industries they will never be able to afford to return to the vibrant city.  Anyone who thinks the rich deserve their riches and the poor deserve their plight belongs in the same exact mix as Nazi eugenicists and white supremacy zealots. The credo of such ideologies is based in social darwinism, the idea that you get what you deserve, and society is all the better for rewarding those who work hard and depressing those who do not. The flaw in such ideologies is obvious if you bother to do on-the-street research. Most low income workers expend more energy, suffer more psychological damage, and are placed in greater crippling debt than and wealthy folks who might occasionally find themselves short of paid employment. There is no level playing field here. There are no just deserves when it comes to being in poverty. Poverty is as self-perpetuating as wealth and privilege, and one’s character, one’s virtue, and desire to work hard have little to do with this. If you work ultra-hard and start at the bottom, it is still mostly a lottery to see if you will rise in power, prosperity and privilege in society.

When you gentrify cities you pull in this professional class of high income white collar workers, and they do not like at all to see themselves as working class (defined by working for a boss who has more power than you — most of us are working class, even the creative professionals). This has created a serious divide in America (and other western democracies in the Global North).

The old divide used to between the rich and the poor, or the upper class and the working class, and this divide was what made social democratic parties and traditional “Labour” parties (in the UK, Australia and NZ) so popular and successful, this was the type of party Franklin Delano Roosevelt led, and which led a country out of It’s greatest depression and a world war, followed by the greatest period of middle class prosperity that today only the Chinese middle class can hope to rival (if they can tackle rising corruption and pollution). The working class were always a powerful coalition of the lower class blue collar workers and the middle class white collar workers. But not any more. Thanks to gentrification and the “vibrancy” craze.

Now days most urban professionals view themselves as haughtily above the blue collar working class, and they vote neoliberal. They resent being told they are in the 99%. They aspire (or maybe delusionally believe) they are in the wealthy 1%, residing in their McMansions.

The modern divide in society is a tripartition. There is the class of the privileged, which is split between the well-educated professionals (largely Democratic  Party elite) and the big money oligarchs (the Republican Party elite), with the rest being working class poor who have no genuine power, no representation, but who in desperation are turning to the worst sort of populism — the fake and horrific populism of a proto-fascist like Trump, or to the austerity mad paleoconservatives of the Tea Party.  The main divide is between the educated credentialed elite (whose interests both neoliberal agendas serve) and the rest of us, the workers who may be educated or not, may be credentialed or not, but who reject the cruelty and technocracy of the elites.  We are the ones who currently have no say (in terms of real power) in our supposed “democracies”.  Our voice is like this essay here, reverberating out into the void in all honest political enervating terms.

We desperately need the self-serving sanctimonious professional workers everywhere to wake the f___k up, and join the rest of the working class in global solidarity.

I feel these folks have a hard fall awaiting them. The rise of global oligarchy is only going to throw more middle class families onto the trash heap of relative poverty and economic anxiety if fiscal conservatism and privatization trends continue. This will only be all the more fuel for Trumpism, which will not die when Donald Trump exits the Whitehouse. The next “Trump” will be smarter, shrewder, more destructive, more fascist. Watch out, for example, for the rise of a maniac like Tom Cotton. Or it might be a far-right evangelical like Marco Rubio, resurrected.

I’ve plugged Frank’s book. There is also a good interview on The Majority Report with author Samuel Stein talking about the undemocratic trends in inner city gentrification, you can watch it here:  Capital City: Gentrification and the Real Estate State w/ Samuel Stein – MR Live – 8/13/19

The privileged credentialed elite who suddenly find themselves without a job, because their medical practice got automated, or their legal practice got subsumed by GoogleLaw, or their journalism got overrun by script bots, will cry out, and if their only solace is a centrist wanker neoliberal who is lecturing them to go back to school to get a job in nursing or a growth industry like e-sports gaming, you can bet they will turn about and forget all their niceties and polite latte sipping airs of tolerance and they will turn to the fascist fake populist mountebank who is promising them their jobs back. Folks, those jobs will never come back.  You will soon find yourself sympathizing with the coal miners.  Heck, the coal miners will now be ahead of you, because they learned the lesson earlier, and will have either retrained to be nurses, soulless programmers for mechanical turk-like code farms, or Über drivers, or social workers, or will have found riches in E-sports or some other venality.

If you do not form worker cooperatives, seize ownership of your work place, and vote yourself a pay rise and fewer work hours when you get robots in to ease your workload, then you are going to be replaced by either a robot or a cheaper labourer eventually. It will not be the fault of “the immigrants” (they will be out of a job too), it will be the direct decision of your boss who seeks to extract profit from your labour, and to eventually eject you entirely from the work place. If it is not your workplace, if you do not make it your workplace, you will have no real say in this.

And there is no remedy other than for a true political movement of the Left, of the entire working class, blue collar plus white collar, to come together again in solidarity and proclaim collectively, “Enough with the thievery of oligarchy, we demand a fair wage for a fair days work for all, and an end to obscene executive salaries and rentier capitalism.” Or, if you like shorter sound bites, “Bernie 2020”.