In a professional environment, generally the best way to get started is to simply throw something up on a whiteboard, tear it apart, throw something else, tear it apart...rinse repeat. If I tell someone in an interview that their solution is flawed, I want them to be intrigued, ask questions and find out way OR tell me why I am wrong/mistaken in a professional manner - if they are stubborn, rude, angry or simply fail to respond, they will not be a good fit.
In any large culture people will constantly tell you you are going about something the wrong way, it is simply in the nature of large cultures. It is the job of any professional engineer to compile notes, listen and react appropriately to this. Sometimes the other people don't have the whole story, or are simply just wrong...other times they know something you don't and you have to be willing to scrap what you were doing and go back to the drawing board - with a new contact and fresh information.
A lot of people take criticism of their work as personal attacks. They don't have the ability to separate the two. Those kinds of people are not fun to work with, particularly in a peer review situation. You don't want to hire people who will break down during code review because someone else didn't like the way they coded something.