Deberías hacer ambas cosas, por supuesto. Los dos te dan habilidades muy diferentes.
1. Los departamentos de informática no están configurados para enseñar programación, y los mejores suponen que ya sabes cómo programar antes de llegar. Si te enseñas a ti mismo, tendrás la costumbre de encontrar respuestas sin tener que esperar a que la gente te diga qué hacer. Podrás hacer algunas inmersiones profundas en áreas que no estarán cubiertas por ninguna de tus clases. ¡Y es divertido!
2. Lo que los departamentos de ciencias de la computación hacen muy bien es darle una imagen más amplia. Antes de tomar una clase de redes, considerarás que la programación de socket es magia oscura o (si estás en un lenguaje de nivel superior) ni siquiera te darás cuenta de que la magia es particularmente oscura. Cuando ve el modelo OSI para redes, comienza a comprender que los protocolos de red fueron diseñados para resolver problemas específicos (en particular, problemas que existían hace 30 años, algunos de los cuales aún no se han resuelto). En lugar de aprender otro lenguaje de programación, aprenderá a pensar en términos de clases de lenguajes de programación. Se le enseñará la estructura de los sistemas operativos, no solo sus API. Tener una visión general te hace mucho más efectivo como programador.
Si eres autodidacta y no tienes un título, estarás rodeado de cajas mágicas que funcionan como se espera casi todo el tiempo. Si tiene un título y no es autodidacta, tendrá una excelente comprensión del panorama general, pero probablemente no pueda hacer nada al respecto. Así que ambos.
- ¿Qué pasaría si Rusia lanzara una cabeza nuclear en la ciudad de Nueva York?
- ¿Qué pasaría si el Presidente intentara hacerse cargo de todo el gobierno declarando la ley marcial?
- ¿Qué pasaría si producimos lo suficiente durante 3 años y luego cerramos todas las fábricas y automóviles de gasolina?
- ¿Qué harías si estás en medio de un debate y te das cuenta de que estás equivocado?
- ¿Cómo sería Estados Unidos si en realidad estuviera gobernado por corporaciones?