¿Por qué tantos graduados de CS odian la programación?

Bueno, muestra de uno, aquí – no estoy seguro de que me gustaría generalizar.

No es exactamente un graduado de CS: grado interdisciplinario, combinación de EE, CS, psicología cognitiva (¿puedes oler el enfoque de la IA?). Y, principalmente, soy un arquitecto e ingeniero de sistemas, centrado más en redes y sistemas distribuidos que en productos de software independientes.

Con ese contexto: la informática es en gran medida una disciplina de INGENIERÍA, y para mí, la programación es, en última instancia, el equivalente a cablear los tableros de circuitos. Cuando uno construye hardware, el diseño es el trabajo interesante, no el ensamblaje. De manera similar, al diseñar software, o un sistema, la programación es lo que hace DESPUÉS de todo el análisis de requisitos, la resolución de problemas, el diseño de alto nivel, como pasar de un esquema a un tablero de circuitos. Hay habilidades y desafíos, y arte, involucrados en dar ese paso final, pero, personalmente, una vez que sé cómo se verá el resultado final, encuentro que la implementación es tediosa.

Más en general, como en las ciencias, hay teóricos y hay experimentadores. Es una mentalidad general o una cuestión de temperamento. Diferentes trazos para diferentes personas, y todo eso.

[Un lado: En mi caso, es algo gracioso. Paso mucho tiempo escribiendo propuestas. Al igual que con la codificación, hay una fase de resolución de problemas y una fase de implementación. Escribir una prosa convincente (hacer oraciones, por decirlo así, y dibujar figuras) es tan tedioso como la programación; y la edición es tan estresante como la depuración; pero por alguna razón realmente lo disfruto. Codificación, no tanto. Impar.]

Algunos lo hacen, otros no. La informática no es todo acerca de la programación. La programación es una aplicación, y de ninguna manera es el único canal de aplicación para un científico informático. Es posible que los científicos informáticos teóricos no necesiten escribir ningún código en sus vidas diarias.

El escenario no es diferente de los físicos teóricos y experimentales, o los biólogos que viajan a largos viajes de campo para recopilar datos y los que prefieren analizar los datos en sus laboratorios, etcétera.

Yo era así cuando entré en la universidad. La programación se utiliza para expresar algoritmos que es esencial en CS. Es un nuevo idioma que debes aprender, y creo que esa es una de las razones por las que llegarían a odiarlo. Expresar un flujo lógico a un nuevo idioma que aún no conocían sería difícil. Debe hacer un esfuerzo para aprender la sintaxis, el flujo, etc. para que pueda implementar el algoritmo que desee. Te tomará tiempo entender esto pero vale la pena.

Para cuando entienda completamente un idioma, será más fácil cambiar a nuevos idiomas. Solo sé paciente y sigue aprendiendo.