Well... Dumb code differs from dumb code in which way it is dumb. High IQ people can learn to write simpler code... once they notice there is a problem (may take years).
However, the rest of colleagues should also be ready to learn certain things still to understand complex code. It's not true, that dumb code can solve any problem out there.
So lets not confuse ignorant programmer from a smart one.
I'd argued that the same is true in math. Mathematicians also try to make their discoveries understandable to the wider audience of colleagues. Those who fail to do so may have one or two theorems named after them, but the new field will remain underdeveloped or even abandoned, because contributions are not looking welcomed...