In 2020 Laurent Bercot, the developer of the s6 init tools, was contacted by a recruiter at Google. He wrote an answer which he made public. That answer deserves to be spread far and wide. I present the answer here as a direct copy from the original. https://unixdigest.com/articles/this-is-how-you-keep-your-dignity-and-not-sell-your-soul.html
Some people argue that you cannot test procedural PHP code, but that is not true. In this small tutorial I am going to show you how you can use PHPUnit to test your procedural functions. https://unixdigest.com/tutorials/how-to-test-procedural-functions-with-phpunit.html
It has happened again. Another company has contacted me because they had a PHP product developed which has turned into a huge beast of complexity. Basic functionality has stopped working and nobody wants to have anything to do with it. It has serious consequences for the company because they are loosing money since the product isn't up and running. I have come to the same conclusion which I have reached in other similar situations, the codebase is one big pile of complex object-oriented mess. ht
In this article we'll take a look at some of the benefits of procedural programming in PHP, and in general, and what you need to do in order to do it well. https://unixdigest.com/articles/procedural-programming-in-php.html
It's easy to determine if you really need the object-oriented paradigm, you just need to look for the things that you can only do with object-oriented programming and then ask yourself whether you really need that. It's called "The Three Pillars of Object-Oriented Programming". If you don't use all three at the same time, then you're not doing object-oriented programming and you don't need it. https://unixdigest.com/articles/how-do-i-know-if-i-really-need-object-oriented-programming.html
In my last couple of articles I have been talking about the problems with object oriented programming theory and implementation, and I have been talking about the problems with frantic focusing on software testing. In this article I'm almost not going to say anything, I'll just recommend a really good talk for you :) https://unixdigest.com/articles/straight-forward-problem-solving-mentality.html
Have you ever thought about developing some type of application from the ground up while people are telling you that you shouldn't do it, and that it is difficult, and that you shouldn't reinvent the wheel, etc.? Guess what, what you shouldn't do is to listen to such people! https://unixdigest.com/articles/dont-be-afraid-to-code-it-yourself.html
Code testing is not only great, it is a MUST as you cannot develop software without testing your code. However, there is something which I like to call "frantic code testing", which is what I believe needs to be avoided. https://unixdigest.com/articles/stop-being-frantic-about-code-testing.html
Whether we deal with technology, religion, science, or any other subject, nothing has ever been more harmful to the human race, both generally and individually, than people submitting to social conformity rather than use the gift of their intellect! https://unixdigest.com/articles/stop-submitting-to-social-conformity-and-use-your-brain-instead.html