So I find it much better to first of all ask "hey, why does this bit do this?" Once you've got the answer, if your suggestion still holds, run it past the team at that point.
But yeah, I'd be more likely to promote/recommend someone who I can see understands when things are suboptimal, provided they take the time to understand the "why" first.
Even if you are convinced that your suggestions are the best and absolute truth, at a minimum be attentive and humble.
On one occasion a senior engineer came to my team and on the second week brought some major suggestions that were immediately accepted by the front end team, but that's the exception and not the norm
It doesn't matter if you are a newbie or more experienced, give some respect to the rest of the team
I welcome input from even very junior people on my team. But important advice: if your idea is (respectfully) rejected by your team lead, then let it go. Don't try to passive aggressively (or openly) push for your idea after that time.
"Hey I saw you are using X here, is there a reason you are using X instead of Y?"
The response will be one of the following:
1. Oh, I didn't know about Y or I didn't know Y could do that
2. Yes we looked into Y but picked X because of A, B, C
3. X is just better, Y is stupid <- This is the mark of an insecure dev and you need to think long and hard about if you want to stay at the company
Also be able to READ THE ROOM, if you respond the #2 with "Ahh but Y can do A, B, C as well..." and you aren't getting any traction then cut your losses.
I also look forward to what ideas new people bring. That's why you want a flow of people in/out of the company.