Design decisions in software teams are often made through building consensus, collaborative working, and peer review. It's rare that any one person has a monopoly on good - or bad ideas. In terms of how you actually come to a design, let the process do the work; if there are too many personal conflicts over design decisions, it means the process is failing.
If you feel that some of your team don't have enough knowledge to be making good decisionscontributions to the decision-making process, that could mean you've identified a training requirement.
I have also found his tone is often condescending with regards to how he communicates requirements with often phrases like "Are you sure, you understood that and wrote that down. Can you repeat it to me".
It's hard to know exactly how bad that is without context. It doesn't sound like an appropriate tone, but it's common in development to have to work with people with different 'social styles'; there's often a general understanding that the technical outcome is king, and that often requires a clarity of communication that isn't common in many social contexts.
I do not want to pull rank on him since I just joined and I find pulling rank distasteful...
I don't really see an obvious thing that you'll be able to do with your rank here, once you've pulled it.
If you genuinely feel your skills and experience are up to the job, then in the long run, that will show through and be respected amongst your peers. Hopefully that will also be the case for your junior developer's skills and abilities too, as he develops themgains experience.