Or like one of my first papers, when sending it to a very good journal, having one reviewer say "this is all wrong" and the other saying "this is a well known result in the field, nothing new" and the editor just saying "reject".
Somehow, this industry thrives in reinventing the wheel in slightly different ways - once a process is implemented mathematically (in code), it has to be reimplemented again, in slightly different terms (another programming language). We bikeshed in that it's cognitively easier to manually reimplement the function, instead of mathematically determining how to "rephrase" the math in the other terms. When you want 2 wheels, making a slightly different wheel is mentally easier than copying the existing wheel - in terms of coding.
Code review is absolutely nothing compared to what it takes to put yourself out there as a musician or a scientist and have it shot down. Absolutely not even close.
Although I find it weird to call myself a professional, I don't really feel the same way because I usually enjoy the process of doing it and figuring it out for myself. I suspect that I might feel differently if my compensation were directly tied to coming up with new things though.
There is plenty of work to be done that's essentially translating an idea from one situation to another. The satisfaction is from solving the user's problem.
Any job where you are sort of putting yourself out there in the form of your work can be quite demoralizing, especially with the wrong people in charge. Programmers can be just as touchy about their work as artists--I've seen it personally. Some of this may have to do with cultural diffs. Some cultures seem (at least to me, with limited exposure) to be more or less amenable to "being nice" about criticism.