I don't think it's about years of experience -- someone who does the bare minimum for five years and never provides input could very well still be categorized as "junior"
After 2 years I wasn't able to provide constructive feedback without being a little too brash, I couldn't have designed anything distributed, I wouldn't have been able to break up a gigantic feature into smaller problems etc. I've worked with people who were technically competent and mature 2 years after school.