I think you’ll know when you’ve reached that advanced level. For me, it was when I was able to build things that I wanted without having to go look for examples first. I don’t mean doing the same things on every website but being able to know how you’re going to build something you haven’t tried before. I might not know that exact code I’m going to write and I might have to look some new stuff up but I’m going to know how I’m going to do it, it’s just filling in some of the blanks. Another part of it is being able to explain what you’re doing to others. There’s been a lot of stuff I’ve got to work, using parts from examples that I’d found, but I had no idea how it really worked. Now I know what every line I write does and I can tell you about it.
I understand that not every developer is going to have the time or the drive to push past an intermediate level and nor should they. But I do believe that the reason a lot of developers learn so many languages is because it’s easier to start at the beginning with a new language than it is to keep pushing on with one language. And the jump from intermediate to advanced is more difficult than they initially think and I can why that would stop people from trying to make that leap.