In everyday life, a programmer is unlikely to solve such problems. But be able to solve them because so many companies like to ask such tasks during an interview.
As the head of the development department - no, I shouldn't. A good programmer should be able to solve pressing programming problems, be able to work in a team and be proactive.
Maybe in some specific environment it is necessary to solve problems like "Two crocodiles are flying, one green, the other to the left. How old is the hedgehog?" and all this on something super-duper innovative. It seems like in Google or some other promotional institution. But there are few of them. And there are a limited number of jobs there :-) And in normal life you have to be a specific specialist who, however, does not shy away from new horizons.
I don’t know how best to explain ... Well, sort of like test pilots , of course, are needed, but civilian pilots are much more. And these latter do not have the task of being able to fly on anything, up to a tin can, in tornado conditions, at peak and with a burning engine. Their task is to confidently fly several types of aircraft in order to safely and reliably deliver passengers to the place.
But who you want to be - a tester or a civilian pilot - it's up to you!