Clowns, Jokers, and Echo Chambers

Published on

Yes, I used an Oxford comma, I bet half of you are cringing... at least it wasn’t a tab I guess.

There are probably PhDs about how individual identity can span multiple antagonistic sub-communities. This blog post however is going to be purely from my experience as a reply to Andy Bell’s post Break out of the echo chamber. (Yes, this is a reply via blog post, Twitter and Hacker News are not the only ways to... communicate.) Given that Andy and I both have such similar experiences, I do acknowledge we may be stuck in our own echo chamber in the middle of the Venn diagram. Even so, it's always a good start to be looking outwards.

Andy made a particularly prominent point about “we represent the minority of the web community and our arguments probably look very pointless and silly to the majority.” I can remember, not too many years ago, when I had this stupid idea that I knew quite a lot of the web industry at least by their work. Of course this isn’t true in the slightest, there are hundreds of millions of websites and more than a handful of people that make them. However the reason I believed this was because of my echo chamber and the silent majority. There was a time when almost every repository (to my perception at least) on GitHub had a contributor that I recognised. But I wasn’t looking at every repository on Github was I! I saw repos that people I followed had seen, and they most likely follow similar people to me. The fact they were all white British or American men should have been the signal to me that my echo chamber was far too small.

When I realised I was following too many men and only saw their point of view, I started following more women. It's very easy to think I only followed them because they are women and I wanted to increase a statistic but if anything it's the opposite, we all have innate bias towards following people like ourselves. A lot of the people I've followed since have been absolutely incredible developers and designers, often with a higher calibre of work than the people I already followed. I've since realised this higher calibre of work is because generally they have to work harder to be heard. We all have the ability to make a choice to pay attention and work to remove our innate bias. The same goes for following too many people with a single opinion, for example if you mostly do JavaScript try following people who care about CSS. It's the same reason why I've gone to far more design conferences than JavaScript conferences, despite being more of a developer-type. Doesn't mean you have to care about these other things that you didn't before, but it gives you a more well rounded view. For instance, I follow Dan Abramov despite the fact that I generally use Vue not React and have learned loads from him. It was particularly hard at first when I started reading all the awful stories that so many women have, I wanted to scream “Not All Men” like many do, but it is so important to understand (and in that case–believe) the views even if they don't specifically relate to you. Again, the same goes for understanding perspectives and opinions that may be different to yours. Different does not have to mean opposing.

While writing this post, I'm mostly thinking of the amount of defensiveness and arguing we see on Twitter between concepts such as CSS-in-JS, progressive enhancement etc. I very almost wrote between "JavaScript developers and Front End Developers" but of course there is no real distinction. I am a strong proponent of progressive enhancement but I wrote a book on JavaScript (likewise my current side project is an augmented reality app for iOS and my main work is a national health website), so I will be the first to say it is never black and white. All the more reason to break the echo chamber. All of this goes for plenty of other divides too:

Some of these are as old as time (or at least feel it!) It will always ebb and flow, but the basis of the divides stay strong as ever if not get more so. The more we acknowledge that generally we are all right in different circumstances and can all learn from each other, the happier I think we will all be.

Going back to Andy's point about essentially small minority groups disagreeing (while the rest of them get on with it), I think we need to realise that we are generally people that really care about what we are doing. Some of us might put user needs first, focus on accessibility and understand how icon fonts are horrid for screenreaders. Others might focus more on performance, writing elegant code or making it really easy to deploy a website in one click. Most of us probably straddle the middle, attempting to keep up with everything that's going on and barely managing to keep our finger on the pulse of one sub-community let alone all of them. Imagine then how the majority must feel. If those of us who are entangled in the depths of making the web can't keep up with it, anyone dipping their toes in, beginners or people who do it as just part of their wider job, must either think it's absolute chaos trying to understand it all or not have a clue about all the discussions we have. Wouldn't it be better to learn together. There's a saying programmers have "always try to leave the codebase in a better state than you found it" and I think that goes really well for the wider web too. I don't have all the solutions but working together to get the balance right has got to be a good start.

The other day I was listening to an episode (4th Feb 2019) of The Infinite Monkey Cage where they had “Supervet” Noel Fitzpatrick explaining how he is working to bridge the divine between vets and doctors saying “for the first time in the UK we are working together as collaborative colleagues”. He went on to say “back in 1637 in Bologna in Italy in the Teatro Anatomico, dogs and humans were looked at side by side and we developed an era of medicine where there was a lot of collaboration. Vets and doctors kind of stood side by side, they were Medicine People.” This feels to me like a strong parallel with what we do on the web. Instead of siloing design and development or frontend and backend, we should be acknowledging that there will be differences but learning as much as possible from one another. One technique might be commonly used by one group of people that with a bit of tweaking may be appropriate for others.

I’m not saying everyone start every project with infinitely scalable serverless functions running in Docker nor should we all be able to recite the Dao of Web Design with our eyes closed. I'm being facetious there, but seriously we do not need to be absolute experts in everything to gain some inspiration or understanding that would otherwise be lost to us. I really would encourage everyone to learn together, to acknowledge we are all trying to make the web a better place.

Humans and dogs are very different beasts but the medical knowledge can be shared and each other respected. The same goes for the vast anfractuous variety that is the web, no matter what kind of project we are working on we are all people that make websites and we all have knowledge and opinions to share constructively. Fancy long titles aside, if doctors and vets are Medicine People, I do quite like the term Web Folk for what we all do together.

And as Andy says, let's try to break out of the echo chamber. It will help us all.

On reflection of writing this post, I feel like the main crux of my point is something I barely touched upon... we can question how approaches and techniques affect various other communities without having to be completely for or against the idea. For example: "Hooks look cool... what has the React community learned from that approach that others can learn from?"