Ao meu ver, nem o SOLID nem o Clean Code são regras obrigatórias dentro do desenvolvimento, tanto que estão em alta a pouco tempo. Se você for analizar softwares mais antigos muitos não terão esses conceitos e podem até utilizar o que hoje alguns consideram um "Erro fatal".
Aqui aonde trabalho tem pessoas que seguem o SOLID e Clean Code religiosamente, porém não é de facil entendimento o código que eles geram, a minha conclusão, a única filosofia que dever seguir é ser o mais simples possível, sem trechos de códigos absurdamente grandes e que precisa de vários comentários para explicar o que cada linha faz.