As my Air Law text book explains, the purpose of an investigation into an aircraft accident is not to apportion blame, but instead to uncover the cause of the accident, in order to prevent similar accidents happening again. My flying instructor, pointing out that I have once again forgotten some seemingly tiny item on a checklist, reminds me that many people have died to make aviation as safe as it is today. If something is on the checklist it’s important for a reason, a serious one.
I retain this information best when I understand the reason for the item being on the checklist. Therefore I have developed a greater interest in aircraft accident reports than might seem sensible for one who spends as much time in commercial and light aircraft as I do. The accident reports explain the reasons behind the checklists. They also give fascinating detail about how those investigations trace the accident, not stopping at the obvious conclusion of pilot error. The actual accident might have been caused by pilot error, but why did the pilot make such an error, and why did it set off a chain of events leading to an accident? Following investigation, it appears that it is only very rarely that the entire blame can lie at the door of that mistake made by an individual.
I am learning a lot about myself as I learn to fly. It has made me realise how defensive I have become, after years of working in an industry where people are very quick to point out errors, and to assign blame. I’ve spent years not shipping things until I am sure I have ticked every possible box, anticipating the “Devil’s advocates” in advance. I publish an article, already knowing the comments I will read, and what my arguments against them will be. So, when I make a mistake in the aeroplane, I try and quietly fix it before my instructor spots it. Of course he always spots the problem, and reminds me that I need to tell him when I know I’m in the wrong and what I’m doing about it. I battle to admit my weaknesses, and I have to, because in the air those weaknesses could quite literally kill me.
The airline industry operates a “just culture” which is defined as follows:
“"Just Culture" is a culture in which front-line operators and others are not punished for actions, omissions or decisions taken by them which are commensurate with their experience and training, but where gross negligence, wilful violations and destructive acts are not tolerated.”
I like this idea of just culture, I want to exist in communities that hold this idea at their core. This culture doesn’t ignore mistakes made by people who are inexperienced, poorly trained or acting on poor advice. They are still mistakes, and need to be pointed out and dealt with. However it doesn’t punish people who “didn’t know any better” or who were being asked to do something they had not been trained to do. This culture helps people to admit their mistakes, report things they see, and ensures that when an incident occurs the investigation doesn’t stop at the inexperienced person who made an obvious error.
I wonder how this idea of a “just culture” can carry through to the web development communities I’m part of, and to the projects I work on. We can be quick to jump on the obvious error in a pull request, the inaccessible “cool demo” on CodePen, the blog post about a technique which contains bad advice. We state how important it is that these issues are highlighted, so that others don’t copy them. I’ve been on the receiving end of it, I’m sure I’ve done it myself to people before. This is the culture at work, it becomes the done thing to jump on each mistake as if the person were a leading expert and should have absolutely known better. How often is that attitude chasing away the newcomer making their first attempt to contribute? And, for those watching, how many don’t share their work, or talk about mistakes and what has been learned, afraid of being penalised for not knowing something that they simply haven’t learned yet.
Furthermore, instead of pointing blame for an inaccessible site at the “idiot developers”, or even the individual who built it, can we look at the overall situation they were working in that led to the site being built that way? Is education at fault, or pressures to ship without testing? Were the developers employed to do a job far ahead of their experience and knowledge? It is only by examining these situations in our businesses, and in the wider community that we get to learn from our mistakes. Assuming that the problems were caused by “idiots” means no lessons are learned, because we don’t like to think of ourselves as someone who might have made the same mistakes given the same situation and constraints.
You might argue that we can hardly compare web development to the aviation industry, however increasingly web technologies are used for critical systems. It may be that isn’t the case for the majority of us, but we all exist in the same community. And, even for work where the stakes are far lower, by looking for the root causes of problems, by being slower to lay blame, we can all learn from the mistakes of others, and all get better at what we do.