Isso é muito relativo, muitas vezes as empresas pedem muito para as vagas e no final você não vai usar nem metade. É bom ter o entendimento do que é ser um programador Júnior ou um estagiario.
O Estagiario é aquele que esta na empresa para aprender, ou seja, muitas vezes ele não vai saber tudo o que precisa para trabalhar ea empresa irá ensina-lo, para assim formar um dev dentro da própria empresa.
Já o Junior é um pouco diferente, ele já sabe as tecnologias, pelo menos no básico, já fez algum projeto e tem uma boa afinidade com alguma linguagem de programação, mas não tem muita experiência e não se atem a alguns detalhes importantes. O papel dele normalmente é de resolver pequenos bugs, criar features simples, refatorar códigos e coisas assim, mas sempre com a supervisão de um sênior. É bom lembrar que no mercado atual encontrar bons devs plenos e seniores é difícil, por isso a maioria das empresas foca em formar esses devs e é aí que os estagiários e Júnior entram.
Mas então, como saber em qual nível eu me encontro? Tentando entrar em uma vaga, essa é a forma mais simples. Siga estudando, aprendendo e fazendo projetos com aquilo que aprende, construa um bom portifolio para que as pessoas vejam aquilo que você sabe fazer e vá sempre tentando entrar em alguma vaga de estágio ou de Júnior. Não é simples saber quando já temos o nível de Júnior, por isso é mais fácil deixar que as empresas decidam se nos somos ou não aptos para preencher uma vaga.
É normal receber muitos nãos no início de carreira, não ser aceito em alguma vaga e cometer erros, fracassar você só vai se deixar de tentar e persistir. Eu sei que é desmotivante não conseguir aquela vaga que sempre sonhou, mas a única forma de conseguir um sim é se arriscando a conseguir um não.