That PHP Graph
So by now you’ve probably seen this graph bouncing around the tech conversation in the last couple of days. It’s interesting data science! It’s a great way to see the sorts of trends around how people program and how people are learning to program.
You may have also encountered this idea of contempt culture that I’ve spoken about earlier, where tech communities use on demonstrating contempt towards tools outside what’s “acceptable” in their group as a proxy for belonging to that group.
One of the biggest ways that’s manifested in my career has been a vicious contempt of PHP.
You should be able to see where I’m going with this. Contempt culture tells us to hate PHP, “everyone knows” that PHP is bad and that PHP programmers are bad, and now we have some data science that backs it all up!
I haven’t seen it directly, yet, but this sort of data science is exactly what participants in a contempt culture thrive on. It’s data. It demonstrates that people who write PHP really are worse or less intelligent but most definitely don’t belong, and we have every right to be contemptuous and cruel towards them.
The data supports it, after all.
There’s a wonderful saying that covers this beautifully:
Explanations exist; they have existed for all time; there is always a well-known solution to every human problem — neat, plausible, and wrong
So there’s a couple of things about people in tech that are relevant here, namely that we are blazingly incompetent at cause analysis and understanding the consequences of our actions.
Let me explain.
What are you even doing
The one is the most bizarre to me. As a programmer, my entire job is doing cause analysis through debugging and finding out why things are failing, and asking very specific “why”’s as a service.
But using that same set of skills and abilities to examine the cultures around us is apparently so horrifying to even consider that it is rejected out of hand, even where we have an oral record of misery and despair, like dysfunctional employment environments.
We know these tools are powerful, because we use them every day. We know we can do amazing things, because we do amazing things every day, but we refuse to just use the tools.
Action begets Reaction
The second one is the strongly held belief in tech that we don’t need to examine or consider the consequences of our actions. This is visible with an example that came out today, where Hacker News openly admits to censoring anything related to diversity.
In a culture where it’s already normal to not care what our technical choices will do to others, this provides reinforcement that we will never have to.
ASK WHY ALREADY
So the major question with that data that I have is why. Not “why are they asking on Stack Overflow”, or “why are they using PHP”, but ”why did they learn to code this way”.
That is the giant neon sign question that comes out of this data, the fiery inferno of something is very wrong here.
Well, let’s add some framings. One, tech culture is highly contemptuous of PHP, a state that traces itself back to Perl’s CGI/Web dominance and relevance being eroded, and the attendant contempt culture that reinforced. This has the effect that if one is trying to learn PHP, either to make their own website, or learn what they need to work with Wordpress, they are made to feel awful by anyone they discuss it with.
So, they’ll tend to puzzle it out on their own, working with some tutorial material they find online.
“Ah-hah!” I imagine you saying, preparing to stop and tell me that the tutorials are awful and that these new programmers should know better.
And I have one response.
These people are making a rational choice to learn to work with, to take one example, Wordpress, which is one of the biggest projects around. There’s a huge market for making themes and providing plugins for Wordpress, why would I not want to be a part of that?
But we’re not considering the consequences of our actions. We act like contemptuous jerks, they wisely disengage, and then we use that disengagement and attendant insecure practises to reinforce our own contempt.
We don’t consider why people do what they do, and take into account all the inputs, and I say that because this has been happening to PHP users since the 90s.
We, technologists, programmers, all of us, through the adherence and perpetuation of contempt culture, drove early PHP programmers out by making them feel bad. So they built their own communities, and wrote tutorials, and learned on their own. Those cultural artefacts are still around, and we can see their effect in the data in front of us.
People don’t want to learn from us because they don’t want to be around us, and we mock them when they ask us for help. To this day.
This data is a wake-up call. It’s a canary that tells us that our culture is poisonous, that we are not teaching people how to act securely, that we are pushing people outside our ability to help.
We are not making a better world. We are refusing to look at the consequences of our actions.
When we try to say we’re nice now, that we’re approachable and won’t bite is hollow and meaningless, because we’ve spent a lifetime being proactive with our contempt and hostility.
Which means we have to be proactive to fix it. We have to care and reach out, we have to do the work, because ultimately we’re responsible for the situation we’re in.
Call to Action
Our culture is to blame, our culture of me, of you, of everyone who’s ever bashed PHP or its users.
But pointing fingers doesn’t help, we just get into another cycle of demonstrative contempt where I can assert that I am better than you because I didn’t do it as much.
It also doesn’t make the code secure, or help that they made these mistakes.
So how do we become proactive? How do we actually help?
Programming, tech as a whole, is a service entity. We exist to support and enable. You have knowledge on how this is harmful, and they don’t. You can help fix it, but not by being an ass about it.
So there’s a three step process to doing something constructive.
- find all the people around you who work with PHP, who have had to endure contempt culture, and apologise for perpetuating it. Really mean it.
- Humbly offer to help.
- Humbly actually help
You’re not here to show your superior knowledge or to shame people for not knowing what you know. You’re here to help others learn and grow, to show them that they’re not bad for not knowing, but that it can be harmful.
That there can be consequences.
So do the work. Reach out. Help your friends, acquaintances, neighbours. We can make the world better.
We can be better than what we are.
We just have to try.