To broaden your horizons, consider diversifying your interests. Don't use ALL your time programming. Devote some of the free time you might be using to program for others things that broaden the mind. Try good literature (classics), good philosophy (approachable in the way its written unless you want to become a scholar of this stuff), and leisure. Literature helps you break out of the prejudices of your own culture. Philosophy lets you develop a clearer grasp of the big picture and ultimate reality. Leisure (NOT recreation) entails the passive absorption of the world around you and allows it to enter into your mind without you running your gears all the time. Contemplation is perhaps the purest form of leisure. It dissolves our alienation from reality. Turn those gears off and you have a better chance to break out of your mental rut.
Over time, you will put programming in its place.
If you can stop yourself from finding faults with everything, thinking about life in terms of complex systems is not a terrible idea.