The primary conceit of Object Oriented Programming is this: Since the world is made up of objects, then an object oriented programming language will better model the Real World.
Here’s the problem: the Real World is not made up of objects. Ask a Buddhist. In fact, you could ask just about any learned person.
Ask a psychologist: Nope, not objects, relationships and self-perception. Ask a medical Doctor: nope, not objects, but systems. Ask a social worker: nope, most of the real world is dire social circumstances. Ask a lawyer; nope, the world is hyper-logical, with case law made up of a train of cases that looks entirely illogical to the uninitiate. A politician? His world is made of relationships. To a priest, the world is made of God’s Love. In fact, ask a theoretical physicist, they’ll tell you straight up, “Of course, there are no objects! Only probabilities of quantum events!”
Objects are a convenient illusion, and OOP has served this illusion well for more that 20 years. We are now past the time where the challenges based on objects have been worked out quite a bit, and the remaining challenges are becoming predominately non-object oriented, and more visible. Just as Euclidian Geometry drove massive human progress for more than 2000 years, OOP had its heyday, and is still useful, but other models must come to the fore. The device you are reading this answer on would be impossible without Quantum Mechanics. So the next phase of programming will address non-object problems with different models; functional is popular. Interfaces are like relationships (see psychologist) and an interface-oriented language would have great power.
Software development will continue to be thrilling, as long as you keep opening your eyes.