Não, a faculdade não te prepara para o mercado. E nem deveria.
"Para quem quer ser desenvolvedor, tenho uma notícia ruim"
Essa foi a fala de um professor de Algoritmos no meu primeiro semestre da faculdade de Ciência da Computação, ao perguntar para a turma qual era a prentensão de carreira de cada um.
Embora pareça uma afirmação desesperançosa, ela, na verdade, é simplesmente um aviso: não espere que a faculdade forme você para ser um bom programador. O seu único papel é te ensinar sobre fundamentos, sobre as bases da computação, e é isso que pretendo discutir.
Por que a faculdade simplesmente não te ensina um framework JavaScript?
Muitos vão dizer que a grade curricular é desatualizada porque não te ensina as últimas tecnologias do hype, mas se você perguntá-las o que é um protocolo de rede, elas não vão saber.
O que a faculdade realmente te ensina são conhecimentos basilares que estão presentes em qualquer tecnologia, em praticamente qualquer área - não só desenvolvimento: como funcionam Sistemas Operacionais/Distribuídos, análise de algoritmos para a medição de performance, e até mesmo raciocínio lógico-matemático em matérias como Cálculo, Probabilidade e Estatísica, Matemática Discreta etc. Eu sei, algumas dessas matérias podem ser chatas, mas elas são necessárias se você quiser se destacar. Não estou falando que para ser um bom desenvolvedor ou algo assim você precise de formação, mas você tem que concordar que a faculdade te "força" a estudar esses assuntos, os quais seriam extremamente não convidativos se você estudasse sozinho.
O que eu faço então?
Se você quer ser programador Frontend, Backend, DevOps, etc estude por fora as tecnologias da sua área, mas sempre tente entender como as engrenagens funcionam, como se relacionam com conceitos que são passados na sua faculdade, só isso vai te destacar.
Além disso, lembre-se: você não é um macaco que digita código, você é pago (ou vai ser) para resolver problemas, então não dependa de tecnologias. Imagine que chega uma demanda do seu trabalho, que, além de envolver código, exiga conhecimento sobre as regras de negócio do panorâma geral de uma aplicação, onde você vai ter que adaptar sua solução para encaixar nessa visão geral; você não vai simplesmente dizer "Como eu resolvo isso com JavaScript?"
Conclusão
Essas considerações foram resultado tanto de experiência própria quanto de experiência de colegas. Você não é obrigado a concordar, mas você pode ser esperto e aproveitar erros que outros cometeram para evitá-los e, assim, evoluir mais rápido. Me despeço com essa frase:
Se eu vi mais longe, foi por estar sobre ombros de gigantes.