Programação funcional.
Pode não parecer, mas a POO é muito complicada quando vc faz um software relativanmente grande e complexo. Que inferno! a coisa não pára! começa com umas poucas classe, aí vc precisa evoluir, vai pra design patterns e explode no DDD. Mil abstrações sem resolver nada do seu problema, tudo boilerplate. É assim que funciona e funciona muito bem, só fica a sensação de que não precisa daquela violência toda...
POO é um conceito muito bem definido, só não tem nada de simples. E a coisa só vai piorando à medida que vc precisa extrair mais dela. São anos até vc dominar tudo o que precisa.
E agora com outras linguagens além do Javascript, como Clojue, Julia e outras, enfim o devido modo funcional de ser. No Clojure, e a família toda do Lisp, a coisa toma outra forma, porque vc acaba programando orientado aos dados e não à essas abstrações desnecessárias. É muito mais o encadeamento dos dados, vai encadeando uma coisa na outra.
Programação funcional mudou tudo pra min tbm.
Eu entrei na faculdade meio que de paraquedas, nunca tinha visto quase anda de programação na vida, e durante o primeiro semestre como um todo eu me dei bem na programação, mas achava tedioso, até aprender funcional em haskell, mudou totalmente minha forma de pensar.
Hoje sempre uso o conceito de funções puras, evitar efeitos colaterais, modularizar responsabilidade de uma função, envolui muito apos aprender varios conceitos do funcional