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. Al mirar la descripción, parecía demasiado teórica para mi gusto. Estaba interesado en lo que pensaba que era el desarrollo de aplicaciones (tenía mis propias ideas al respecto, que no necesariamente coincidían con la realidad). En cambio, estudié la posibilidad de ingresar a CIS (Computer Information Systems, un negocio importante), y tampoco me gustó lo que vi allí. En ese momento, era principalmente programación de Cobol, con algo de gestión de bases de datos y programación de bases de datos. Como decías, parecía la ruta “fácil”. Finalmente tuve una conversación con el profesor de informática de mi escuela secundaria. Ella tenía un título de CS, por lo que 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 de mucho para trabajar en el campo. Seguí su consejo y fui a la carrera de CS. En retrospectiva, creo que en parte tenía razón. Aprendí algunas cosas sobre cómo operan las computadoras, pero no entendí muy bien qué es la computación al tomarla. 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 usar 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 para mí en ese momento (esto era en la década de 1990). El panorama del software ha cambiado, y ahora parece más importante para los estudiantes elegir qué tipo de desarrollador van a ser de lo 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 a tener en cuenta). Ahora, CIS incluye algunas de estas tecnologías en su programa de capacitación. Entran en los detalles técnicos de las aplicaciones web de negocios, 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 unos años hablé con mi antiguo asesor universitario sobre esto, y dijo que el Departamento de CS en mi alma mater había puesto en marcha un programa de TI, con énfasis en CS, que cubría el mismo material, pero no estaba entusiasmado con 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 informáticos les gusta enfocarse.
CS ha sido criticado recientemente por estar “atrasado”, 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 está incorporado en los tiempos de ejecución de lenguaje y en los marcos de aplicaciones, que hacen el tipo de trabajo para usted que los desarrolladores de software de negocios solían hacer ellos mismos. Todavía es útil tener conocimiento, 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.
Donde creo que CS todavía tiene relevancia en términos de una carrera en el sector privado es en el desarrollo de sistemas, como controladores de dispositivos, desarrollo de lenguaje 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 todavía 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 lo saque de la carrera para el desarrollo web o el desarrollo móvil, si eso es lo que quiere hacer. Es solo que tendrías que hacer un trabajo fuera de clase para desarrollar 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é si CS tiene 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 usando C ++ y Java. El énfasis ahora parece estar enseñando a los estudiantes a comprender diferentes marcos (bibliotecas de códigos).
La mejor de las suertes.