Gracias por el A2A.
Primero, permítanme abordar una inquietud: la programación es para CS lo que la escritura es para la historia, por lo que me preocupa que no puedan o no quieran completar su especialidad de pregrado si no tienen interés en la programación. Sin embargo, también sospecho: por lo general, cuando tengo un experto en CS que hace el reclamo que tienes, no tienen interés en los problemas de programación que me han asignado. Esto se debe a que no podemos darle un sistema complejo para construir clases de introducción. Tienes que construir hasta un trabajo interesante. Les digo a estos estudiantes: “busquen algo que quieran hacer y vean si disfrutan haciéndolo”. Lo compararía con cocinar. Cuando la futura chef famosa Julia Child comenzó a estudiar en Le Cordon Bleu (posiblemente la mejor escuela de cocina del mundo), fue empujada a un curso para amas de casa que no sabían nada de cocina, y su primera clase fue sobre cómo hervir huevos (literalmente ) Ella quería aprender a hacer platos como lenguado único . Sospecho especialmente cuando escucho a alguien referirse a la programación como “codificación”, lo que lo hace sonar críptico y trivial / de memoria, cuando no es así.
En segundo lugar, hay dos formas de leer la frase “hacer una carrera en ciencias de la computación”. Podría significar “quiero ser investigador en ciencias de la computación en un laboratorio de investigación”, o podría significar “quiero un trabajo en tecnología de la información”. (IT). ”IT es el término amplio para todos los roles tecnológicos fuera del laboratorio de investigación. Un desarrollador de software que trabaja está en TI, al igual que un administrador de sistemas.
- Soy consultor de ingeniero de software en un banco grande, ganando 120 / hora. Me pidieron que me uniera a tiempo completo haciendo 160k. ¿Puedo solicitar un bono de registro de 50k?
- Cómo ganar suficiente dinero para comprar una bonita casa dentro de cinco años como ingeniero de software de 22 años en el Área de la Bahía, además de unirse a una startup anterior a la OPV y ganar $ 1 millón por un pago inicial en una OPI
- ¿Debo dar este paso?
- ¿Cómo debe vestirse un estudiante graduado para la clase? Quiero ser tomado en serio como estudiante profesional, pero no parecer pomposo.
- ¿Cómo convertirse en un médico científico (MD / PhD) en Australia?
Comencemos con TI. Esta es la posibilidad más realista si no es por otra razón que es donde el 90% de las especialidades de CS terminan (incluida una gran proporción de las personas con títulos de posgrado). Hay muchas áreas en TI pero fuera del desarrollo que implican poca o ninguna programación. Por ejemplo, hay roles en la administración del sistema / red / base de datos, y roles en soporte, que respaldan a estos administradores y / o usuarios finales (es decir, mesa de ayuda).
Hay áreas de desarrollo de software que no implican programación, como los analistas de negocios (que investigan un problema, hablan con expertos en dominios, escriben documentos de requisitos y abogan por el usuario). Si bien hay excepciones, los gerentes de proyectos y productos pasan por los rangos de ingeniería o análisis empresarial. Ciertamente, a nadie que no le guste el desarrollo de software le gustará o será bueno en el diseño de software.
Otro papel muy importante en este momento es devops; Estas son personas que se aseguran de que cualquier sistema necesario para el desarrollo esté en funcionamiento, por lo que son una especie de soporte técnico para desarrolladores. Es un papel desafiante que está bastante bien pagado, una vez que te has establecido.
Existe un análisis de seguridad, que generalmente implica buscar puntos débiles en software y redes, a menudo utilizando herramientas y observación, en lugar de código (aunque hay mucha programación en algunos roles). Hay poco enfoque en la criptografía en sí, aunque algo de interés en cómo se usa.
Eso cubre los principales roles de TI. Ahora en los roles de investigación.
Para los roles de CS en PNL e IA, ni siquiera me molestaría a menos que esté lo suficientemente interesado como para convertirse en un programador lo suficientemente bueno. Hay personas en estas áreas que están más inclinadas matemáticamente (o yo diría computacionalmente) de lo que están interesadas en la programación, pero aún hacen bastante programación. El trabajo de David Blei en la asignación de Dirichlet Latente en el descubrimiento de temas es muy matemático, casi tan matemático como la inteligencia artificial, pero ciertamente no es un programador débil. Con la PNL, los científicos cognitivos y los lingüistas computacionales se unen al trabajo, pero esas personas generalmente programan bastante bien, incluso si no están capacitados como informáticos.
En las redes, la mayor parte de la investigación (en términos de dinero y personas) involucra una combinación de hardware y software. El diseño del hardware lo realizan personas en EE / CE / ECE. La programación es realizada por la gente de CS. Se realizan más investigaciones matemáticas, ya que las redes se extienden desde la teoría de grafos (gran sorpresa allí), pero esa es una porción estrecha.
La criptografía es en gran medida un campo de las matemáticas. Hay tres roles: criptografía (escribir algoritmos de cripta, generalmente realizados por personas con doctorados en matemáticas), criptología / criptoanálisis (algoritmos / mensajes criptográficos “cracking”, pero no es lo que parece, ya que casi siempre se trata de explotar una debilidad alrededor el sistema criptográfico), y la implementación criptográfica, que está construyendo sistemas de software alrededor de la criptografía (basados en algoritmos diseñados por otros). Si está dispuesto y es capaz, puede obtener un doctorado en matemáticas aplicadas en un área como la teoría de números y estudiar criptografía. La criptología / criptoanálisis se trata, como se señaló, en gran medida del análisis de seguridad, en busca de puntos débiles en el sistema (por ejemplo, intercambio de claves no seguro).
La computación cuántica, si realmente puede existir, se realiza en física (y en cierta medida CE).
No conozco a nadie en ninguna de estas áreas con un título universitario cuyo trabajo no sea administrativo o analista como se describió anteriormente o en el desarrollo de software.
Sin embargo, iría con un rol de TI que no es de desarrollo. Con la excepción de las matemáticas y la ingeniería del trabajo, que requerirían títulos adicionales, todo el trabajo de investigación de CS requiere al menos un MS CS, y no pasará por uno de esos programas sin una gran cantidad de programación. Incluso en programas avanzados de matemática o ingeniería para aplicaciones informáticas, es probable que haga una buena programación.
Hay investigaciones de CS que no implican programación, pero no están en las áreas en las que está interesado. El modelado cognitivo computacional, un subcampo en la IA, involucra una gran cantidad de psicología cognitiva y relativamente poca programación, pero entonces a) necesitaría estar interesado en la psicología cognitiva experimental, y todavía haría algo de programación. También hay científicos sociales en áreas como la interacción humano-computadora, pero dudo que estén haciendo un trabajo de CS que se alinee con sus intereses.
De todos modos, parece claro que lo mejor para usted es completar su licenciatura y luego encontrar trabajo y ver si puede encontrar un campo que justifique el regreso a la escuela. Raramente recomiendo que las personas sigan un trabajo de posgrado en informática sin trabajar primero durante unos años; Hay muchas ventajas y prácticamente ningún inconveniente. Si descubre que no puede completar los cursos de CS de pregrado, cambie a un CS menor, y posiblemente a una especialización en matemáticas.
¡Buena suerte!