No sé dónde has oído que la mayoría de los puestos de trabajo serán subcontratados. La industria del Software está bastante saturada de profesionales extranjeros, pero eso es simplemente oferta y demanda. Dicho esto, las razones por las que no deberías ir a por un título de CS en orden de importancia:
- No me bajes el sueldo. El software se paga bien porque hay mucho más trabajo que talento. Personalmente no creo que el trabajo sea difícil per se, es más que nada que no hay suficiente gente que quiera el reto de aprender todo el background que necesita. No quiero tener que volver a formarme a mitad de carrera porque demasiada gente se ha dado cuenta de que la ingeniería de software es un trabajo bastante sólido.
- La programación profesional no requiere necesariamente un título de CS. Si sólo quieres codificar entonces realmente no necesitas un título de CS. Personalmente, he trabajado con un desarrollador talentoso cuya formación era en Artes Marciales Húngaras y Traducción Profesional de Mandarín antes de hacer la transición al Desarrollo Web. Sin embargo, añadiré un par de advertencias. Para que te contraten en casi cualquier sitio necesitarás un título de algún tipo y alguna prueba de que eres competente. Para que te contraten en una empresa importante como Google, Facebook, ... necesitarás un título de CS. Para pasar de un puesto de software de nivel jr. en cualquier cantidad de tiempo razonable, necesitarás un título de CS.
- Los programas de CS son realmente bastante desafiantes y estresantes. Si no tienes experiencia en programación, prepárate para un primer año estresante. Personalmente, asistí a la universidad de primer año antes de ir a una universidad más notable que descartó mis créditos de CS y golpeó "reset" en 2 años de trabajo de curso dentro de mi especialidad. Habiendo experimentado el nivel de CS de primer año en 2 entornos diferentes, diría que mi observación consistente en ambas ocasiones fue que el 50-70% de los estudiantes de primer año sin experiencia cambiaron de carrera después de 1 o 2 cursos de CS, y que al menos otros tantos estaban estresados, consideraron cambiar de carrera, o abandonaron un curso para evitar el fracaso. El mayor obstáculo es que muchos estudiantes llegan sin saber nada de programación, y la realidad es que los conocimientos básicos de programación son el primer paso.
- El CS de primer año es todo una prueba de pánico. Después del primer año, los cursos realmente se vuelven más fáciles. Siguen siendo un gran reto, pero se pasa de 2 cursos de CS a la vez que son un infierno para muchos, a 3 a la vez que son manejables aunque un poco estresantes. La realidad es que muchos profesores no se aprenden tu nombre, no se aprenden tu cara, y no te dan tregua en el nivel de primer año porque hay más probabilidades de que después de ese semestre cambies de carrera o termines alguna optativa general básica y nunca más te interese el tema. Esto sigue ocurriendo en el nivel de segundo año, sólo que no tanto, pero en general todo está cargado por adelantado para eliminar a las personas que realmente no quieren estar en CS tan rápido como sea posible.
- Si no tienes ninguna exposición al Desarrollo de Software, entonces es difícil saber si te va a gustar. Personalmente, fui a un programa de CS porque la universidad junior en la que empecé no tenía un programa de física y me imaginé que estaba principalmente sacando optativas del camino y recogiendo algunas habilidades matemáticas de nivel superior. CS lograría esos objetivos hasta ir a un instituto de 4 años igualmente. Una vez que aprendí algo de C++, ensamblador y algoritmos, decidí que no quería cambiar de camino, me gustaba demasiado CS. Sugiero encarecidamente que tomes un curso de introducción a la programación y quizás algo de matemáticas discretas. Si estás en tu primer año de carrera, entonces estás tomando mayormente cursos electivos y tanteando una carrera de todos modos, no es demasiado tarde para cambiar de curso. Si tu nivel de segundo año, entonces es probable que necesites decidir lo que quieres hacer, y decidirlo rápidamente.
- No bajes mi sueldo. Ver punto 1.