Yo estudié programación (analista programador), aunque me salí a la mitad y ahora me dedico a otra cosa. Efectivamente programar es distinto de "codear". La programación requiere entender paradigmas -- y no hablo sólo de la programación estructurada y la programación orientada a objetos, me refiero a entender cómo funciona el procesamiento de la información tras el código, qué sucede una vez que ejecutas el compilador. Es distinto saber programar una matriz que entender cómo están interactuando los datos tras esa matriz, y cómo puedo hacer ese proceso más óptimo a través del código. En este sentido, estoy absolutamente de acuerdo con el baisani que dice que la programación comparte características con ciertas disciplinas artísticas; es problemático catalogar a la informática simplemente como una ciencia o como una ingeniería, como diría Harold Abelson es mucho más fácil considerarla una disciplina mágica.
Una de las cosas que absolutamente detesté de la carrera es el enfoque puramente comercial que le daban. De diez ramos que tenía por semestre, más de la mitad eran de programación, y en todos siempre hablaban del mercado laboral de la programación, de qué lenguaje era más cotizado que el otro, etc. La informática es una carrera que atrae a muchas personas primariamente porque tiene un gran mercado laboral.
Cuando estudiaba comencé a usar Linux, y saltando de distro en distro veía todas estas miles de contribuciones voluntarias en cientos de repositorios y realmente no pienso que todas esas personas programen con el mercado en mente. Por otra parte, en algún momento comencé a contribuir en proyectos de Savannah (lo cual no he hecho en años), y realmente no pareciera que todas esas personas programen con dólares en mente. Más bien siempre me parecieron expertos o hechiceros en términos de Abelson.
Por esta razón es que no considero a la programación como una profesión. Puede que para otros lo sea, eso está bien, si para algunos programar es sólo una pega que hacen para ganarse la vida y de la que se olvidan cuando salen de la oficina. Y por esto también es que estoy de acuerdo con el baisani que decía que era un oficio. Definitivamente un oficio es una actividad en la que estás más involucrado como persona. El aprendiz de zapatero vive en el taller, y eventualmente se convierte en un artesano.
Volviendo a la carrera, recuerdo que recién en el cuarto o quinto semestre me tocó un ramo con un profesor que yo sentí era un experto hechicero también. Antes, los profesores iban y nos leían diapositivas, y luego dedicaban el resto de la clase a mostrarnos cómo programaban ciertas funciones o nos recomendaban ciertas elecciones laborales y así. Pero este profe llegaba exponiendo la historia de la programación y al final dedicaba una pequeña media hora a mostrarnos en el código lo que había explicado. Luego se tomaba clases enteras para hablar de conceptos abstractos relacionados a la programación, de paradigmas, y al final habían clases enteras en que no veíamos una sola línea de código. Nos recomendaba libros, nos contaba anécdotas: buscaba que nos interesáramos por el campo en sí. Resulta que este profesor era autodidacta, él venía de otro campo, estudió telecomunicaciones en un tiempo en donde no existía la carrera de programación y en esa carrera tuvo un pequeño ramo de programación en Assembly. De ahí comenzó a indagar más y eventualmente llegó a dominar el campo. Los más geeks de la clase siempre se quedaban hablando con él después de las clases, pero la mayoría no le hacía mucho caso y encontraban tediosas sus lecturas. Te aseguro que para todos ellos la programación se convirtió en una profesión, pero también te puedo asegurar que no tienen ni idea -ni tienen el interés en averiguar- de cuántos bytes puede almacenar una cadena en C y cuántos en Java. Porque aprender a hacer cadenas en C y en Java que funcionen era suficiente, para qué leerme el capítulo introductorio del libro.
Tu puedes ser autodidacta y aún así ser muy buen programador (y con buen programador, me refiero a tener el interés por ir un paso más allá que el resto para entender el lenguaje). O puedes haber estudiado en la universidad y aún así ser un mal programador, a lo mejor sólo te interesaban las lucas, o hay weones que salen de la universidad y trabajan muy pocos años programando y luego dirigen proyectos al tiro, y nunca vuelven a mirar una línea de código. De ahí estriba el dicho "el que sabe sabe, y el que no, es jefe". La mayoría de las universidades no son estos centros del saber en donde se atesoran los conocimientos. Más se parecen a centros de capacitación.
En fin. Así es como yo veo este asunto. Sé que le di color pero esa fue mi experiencia. Lo siento
>>1-san, pero no puedo estar de acuerdo contigo, te pasaste de arribista. Y si tuviera que adivinar, diría que lo que te motivó a hacer este hilo es que otra persona te quitó una pega y luego te enteraste que esa persona no tenía título, o algo parecido.