Sí y no.
Obviamente, si no estás aprendiendo lo que necesitas saber, eso es un problema. Es un problema que se puede resolver de varias maneras, por supuesto, no todas ellas implican la transferencia, pero es un problema. La programación informática no es uno de esos campos en los que el título es sobre todo un certificado de inteligencia y tu trabajo es algo totalmente diferente. Realmente necesitas saber sobre variables de condición y tablas hash y el significado de call-by-reference y todo eso.
Si asumimos que, de alguna manera, te las arreglaste para adquirir el mismo nivel de competencia de cualquier manera, entonces tu mayor desventaja va a estar en las primeras etapas del proceso de entrevista. Los reclutadores de las grandes empresas tecnológicas reciben un enorme número de currículos en sus escritorios, y sólo tienen recursos limitados para hacer una evaluación más profunda de las habilidades de una persona. Cuando tienes una entrevista telefónica de una hora más con un ingeniero y tienes dos currículos idénticos que son idénticos excepto que uno dice MIT y el otro dice CSU Chico... el candidato del MIT consigue la entrevista telefónica.
Una vez que estás en el proceso de la entrevista, sin embargo, importa menos. (He hecho muchas entrevistas en dos empresas de software diferentes de la zona de la bahía conocidas por tener unos estándares bastante altos, así que tengo algo de conocimiento interno en este sentido). Si tu currículum dice CMU pero no puedes invertir una lista enlazada, y el currículum de otra persona dice Instituto de Agricultura de Kazajstán pero son articulados y escriben un código claro y correcto... ya me entiendes.
Así que, volviendo a entrar por la puerta en primer lugar. Hay muchas otras formas de llamar la atención de los reclutadores. Ninguna de ellas es tan fácil como entregarles un currículum en una feria de empleo del MIT, pero tampoco son insondablemente difíciles. Y puedes empezar ahora mismo: las prácticas en programación pueden darte muchos conocimientos y experiencia útiles, ganas experiencia con el proceso de búsqueda de empleo aunque no consigas uno, y si lo consigues queda muy bien en tu currículum e incluso puede ser bastante lucrativo.
El mercado laboral es muy competitivo y los reclutadores siempre están buscando una fuente de buenos candidatos sin explotar. Si te va bien en las competiciones de programación, o haces un proyecto interesante de código abierto, o eres un TA para una clase seria en algo como algoritmos o sistemas, o tienes un negocio paralelo, o un proyecto de investigación... cualquier cosa que demuestre que te apasiona la programación hasta un punto que probablemente no tendrías si fueras malo en ello, eso' va a ayudar.
Muchas empresas ponen problemas de retos y garantizan una entrevista a cualquiera que los supere. Hackerrank los tiene periódicamente, por ejemplo. Con las startups, a veces puede valer la pena simplemente presentarse en su oficina y literalmente llamar a la puerta. (Asegúrate de poder explicar por qué te entusiasman y respeta su tiempo, por supuesto. Y una vez que estés allí, estate dispuesto a soportar que las startups sean startups, pero también a renunciar si está claro que no va a ninguna parte). Una vez que haya llegado físicamente a Silicon Valley (un área algo confusa que en estos días se extiende efectivamente todo el camino desde Milpitas hasta el Presidio), hay reuniones y conferencias públicas y espacios de hackers y todo tipo de lugares para aprender cosas y casualmente preguntar si alguien está contratando.
Oh, y por favor, por favor, ten un perfil de LinkedIn debidamente rellenado y un currículum de una página, con un formato claro, actualizado y completo (algo así).