Why I Don't Teach SOLID 12 years ago
It's hard not to empathize with the author. However, I think Sandi Metz put it well in Practical Object-Oriented Design In Ruby when she said:
"Concrete code is easy to understand but costly to extend. Abstract code may initially seem more obscure but, once understood, is far easier to change."
So, as with most things in life, it's all about balance: Readability vs Maintainability.