En cierto modo, sé cómo te sientes, aunque las cosas han cambiado desde que tomé CS. Cuando ingresaba a la universidad, no estaba seguro de querer tomar CS. Mirando la descripción, parecía demasiado teórico para mi gusto. Me interesaba lo que pensaba que era el desarrollo de aplicaciones (tenía mis propias ideas al respecto, que no necesariamente coincidían con la realidad). Miré a entrar en CIS (Computer Information Systems, una gran empresa) en su lugar, y tampoco me gustó lo que vi allí. En ese momento era principalmente la programación de Cobol, con algo de gestión de bases de datos y programación de bases de datos, por si acaso. Como decías, parecía la ruta “fácil”. Finalmente tuve una conversación con el profesor de computación de mi escuela secundaria. Ella tenía un título de CS, y por eso podía hablar con autoridad al respecto. Ella dijo que tomar CS me enseñaría cómo funcionan las computadoras, y eso me serviría para trabajar en el campo. Seguí su consejo, y fui a la carrera de CS. En retrospectiva, creo que ella tenía razón en parte. Aprendí algunas cosas sobre cómo funcionan las computadoras, pero no tuve una idea muy buena de lo que es la computación al tomarlas. No quiere decir que un título en negocios hubiera sido mejor en ese sentido. Solo digo esto porque en los últimos años he estado tratando de completar lo que no obtuve.
Sin embargo, pude utilizar las ideas que aprendí en CS, como el conocimiento de punteros, la comprensión de las estructuras de datos y la comprensión de las técnicas de ingeniería de software con buenos resultados en el trabajo de desarrollo de software que estaba disponible en ese momento (esto era en la década de 1990). El panorama del software ha cambiado, y ahora parece más incumbente para los estudiantes elegir qué tipo de desarrolladores van a ser de los que yo era consciente en ese momento. El desarrollo de aplicaciones web y el desarrollo de dispositivos móviles se han convertido en tendencias importantes en la informática empresarial (aunque esto podría cambiar para cuando salga de la universidad. Eso es algo que debe tener en cuenta). Ahora, CIS incluye algunas de estas tecnologías en su programa de capacitación. Se introducen en los detalles técnicos de las aplicaciones web empresariales, con una gran cobertura de Java, organización y acceso a bases de datos, por supuesto, HTML e infraestructura de TI.
CS ha entrado tibiamente en estas aguas. Recuerdo que hace algunos años hablé con mi antiguo consejero universitario sobre esto, y dijo que el Departamento de CS de mi alma mater había iniciado un programa de TI, con un énfasis de CS, que cubría el mismo material, pero no le entusiasmaba. eso. La razón es que centrarse en la infraestructura de TI pone más énfasis en la ingeniería, no en las ideas matemáticas exploratorias en las que a los científicos de computación les gusta enfocarse.
CS ha sido criticado últimamente por estar “atrasado en los tiempos”, aún enfocándose en técnicas antiguas que son cada vez más irrelevantes. Creo que esto se debe a que lo que se enseña en CS solía ser más relevante para la informática empresarial. Ahora, no tanto. La razón de esto es que parte de lo que CS enseña ahora se incorpora a los tiempos de ejecución del lenguaje y los marcos de las aplicaciones, que hacen el trabajo que los desarrolladores de software de negocios solían hacer por sí mismos. Todavía es un conocimiento útil, pero los programadores de aplicaciones ya no tienen que crear esa infraestructura. Solo necesitan saber cuál es la mejor opción para elegir, de una selección de técnicas, algoritmos y estructuras de datos.
Creo que CS aún tiene relevancia en términos de una carrera en el sector privado en el desarrollo de sistemas, como controladores de dispositivos, desarrollo de lenguajes de programación, desarrollo de juegos (donde el código rápido, la comprensión del hardware, la inteligencia artificial y el conocimiento de las estructuras de datos aún cuentan ), sistemas integrados, trabajando en proyectos de código abierto (donde todavía hay mucho código C / C ++), y / o sistemas operativos. El punto es que estas tecnologías existen en diferentes mercados de la informática empresarial.
No creo que tomar CS te saque del desarrollo web o desarrollo móvil, si eso es lo que quieres hacer. Es solo que tendrías que hacer un trabajo fuera de clase para recuperar las habilidades necesarias.
Cuando tomé CS, la facultad se enorgullecía de hacer que sus estudiantes fueran flexibles, capaces de adaptarse al panorama tecnológico a medida que cambiaba. No sé que CS tenga ese espíritu hoy, tal vez en ciertos programas, pero no parece tan extendido como solía ser. Solían hacerlo exponiéndonos a muchos lenguajes de programación diferentes. Ahora ese tipo de programa parece ser más difícil de encontrar, ya que CS Dept. Enseña principalmente con C ++ y Java. El énfasis ahora parece ser enseñar a los estudiantes a comprender diferentes marcos (bibliotecas de códigos).
La mejor de las suertes.