I think that mathematicians don't do well in software development because they simply have much less experience than other devs :) I think that what's most important in software engneering is experience, motivation, intelligence, common sense and good taste (aesthetics).
Google is full of engineers that did well on programming contests, they even have their own contest, and i don't think they are all terrible software engineers.
I don't think the problems in algorithmics contests are in the category of brainteasers. As far as i know Google still relies heavily on knowledge of algorithms and problem solving capability to hire their engineers.