Why Should We Talk about Our Mistakes in PHP Community?

Sometimes we fell in love with technology or a tool. We see only the best in it, and we want everyone to know it. We're spreading the love on a wave of serotonin. We're spreading the knowledge and helping others.

As we grow and learn, we realize the path we took is not as epic as we thought. We change a direction and pick a better alternative. That's how we learn in everyday life, and it's only natural.

But what if we promote technology in a post, and that post is still out there? Readers learn from it and follow the path, even though we know it's two years old and a blind road to station frustration. What then?

"Change a mind and you'll change a world."

Long Tail Effect

You know this from everyday life. We google for an answer on a technical problem and find an answer on Stackoverflow. We go through it - yes, it's the same problem we have - deprecation notice in PHP 7.3 for a function that will be removed from PHP. The first answer is accepted and has 270 votes. The second one has only 20. Let's go for the first one.

Little do we know, the following answer is from 2021 and 1 week old. The first answer is from 2015. Which one do you think was right? It depends on when you read it.

This is a problem long-tail effect. We tend to repeat old solutions because we know them for a long time, and they must be correct. Voting algorithms also promote them (human-based in "like" systems or by inner rating, e.g., Google search).

But these sources might be misleading. I mean - what would you use to deliver a message to your loved one: a post office that's been 300 years in your city or that 3-years old app on your phone you know she uses?

PHP Influencers

We've been writing a book with Matthias Noback (it's here if you're interested, but that's not what this post is about) for the past 7 months. It was an inventive way to chat with him weekly and have back and forth discussions about PHP and our role in it. Not in a way how to spread "our wisdom" to more places, but how we're responsible for shaping the PHP community.

In one topic we talked about how we're responsible for what we write about. If we say something is a best practise, many long-time readers might follow the rule without much critical thinking.

"Promote best practice when you believe in them,
but own your shit if you were wrong."

It's hard to say "I'm sorry, I was wrong" in personal life, even in the online world, where everyone is watching for your mistakes. Elon Musk is a very fitting example from recent weeks. He promoted using Bitcoin to use as a payment credit. Then he concluded that it's not the way he wants to go. Not just personally, but in a community around him. You already know how people reacted to this statements and how strong such statement is.

I'm Right Today, I can be Wrong Tomorrow

As a part of the community, I used to follow the-framework-I-was-using as a primary source of the best practice. Its in-group effect was powerful, even for approaches that the community leaders didn't promote anymore.

You might not be Elon Musk, with two world-known companies and a vast community circle around you – I know I'm not – but your voice still matters to your close ones. To the users of your open-source package, to your post readers, to people who follow you on Twitter. It's not relevant if it's 1 person, 10, or a thousand. That's just a scale. What matters is the behavior we spread among the people around us.

If I wrote a book about static locators in 2010 and figured that the last few companies I used them in went bankrupt, I would feel terrible and not use them personally anymore. I might tell it to a friend in 2021 as a joke from my past.

No Response? No Responsibility

What change would happen in the world? How would the book readers who are still using the pattern see it? They would probably still think static locators are great because they've read the book and saw so many great examples I proposed.

That is the coward in me hiding in the corner. I know I would have to act. I don't mean we have to write a book with an inverted title and opposite ideas. But some public response is needed - whether a talk, a post, or a public interview.

How do I Handle Past Mistakes in My Posts?

When I realized I'm part of the problem, I wanted to act in way I would love to see in Google. Explain right in the article that this approach is wrong and should not be used.

That's why the mistaken post is cleared marked with red color:

There is also "why" above the post:

Learning From Mistakes

If we write a website project and it works without any mistake, we didn't learn anything new. We only repeated the knowledge we already had to achieve a goal. A mistake is not doing something the wrong way and being ashamed. It's a delta between what we knew at the start and what we know now. "Wow, that was a huge mistake" = "he learned a lot by doing that."

"In order to succeed, you must fail,
so that you know what not to do the next time."

That's why making mistakes is so important. Reading other people's mistakes is an excellent source of knowledge. I would love to travel around the world and the PHP community one day. Let's say I meet a woman who's traveled around the world in the past 6 months. She has an hour to have coffee with me. What is a better use of my time for my future trip?

From Inspiration to Action

Writing these lines, I recall a post from Martin Michalek - co-founder of Czech front-end community - What I fucked up in 2016? It was a huge source of inspiration, Martin being honest about finances, writing a book, and personal risks. Hats off to him. In my next post, I'll write about a couple of mines.

Last but not least, have you heard of Fuck Up Nights? Every month 5 speakers share their worst in life. I've visited a couple of them, and they're a profound source of knowledge and laughter.

To sum up, it's important to share our success and happy days. We'll fail, we'll make mistakes, and that's ok. That's how we learn. Sharing these experiences with each other in an honest way is how we help each other grow and be stronger as a community.

Happy coding!

Do you learn from my contents or use open-souce packages like Rector every day?
Consider supporting it on GitHub Sponsors. I'd really appreciate it!