Not sure what I was expecting from the title, but for sure not what I read.
Maybe I'm quite old now, but working with latches and switches was always a way of thinking.
Writing awful BASIC with GOTO and subroutines was not that different.
Writing OO code is quite different at first impact but then you discover that it is basically the same way of thinking.
The real way of thinking of programmers doesn't have anything to do with the languages, it's more about finding solutions for some problem.
If you can't find solutions by yourself, banging your head, it doesn't mean that you have to find a better language for your software, doing nothing in the meantime, it means that you have to start from scratch understanding how to fix things and how to solve problems.
If you just wait for the next big thing or the next shiny solution that fixes everything for you then imho programming is not for you.
Good point, I think it's about finding the 'correct' ways to break small parts together into a solution for your problem. We certainly have some tools to help us along the way--OOP, FP, etc.--but there's definitely an element of craftsmanship to it.