Hay tres tipos generales por lo que veo:
- Grados en Informática
– Saben el ‘cómo’ y el ‘por qué’ de la ciencia de la computación, la filosofía subyacente detrás de la ingeniería de software, y están bastante bien equipados para resolver casi cualquier problema computacional (con suficiente tiempo). Pueden aprender rápidamente a programar en cualquier idioma y ser excelentes ingenieros de software. - Aprendiendo a programar
– Generalmente, esto consiste en aquellos que toman clases en lenguajes específicos y algoritmos básicos y estructuras de datos para aprender el “cómo” de la programación. Una forma decente de comenzar rápidamente en la ingeniería de software, estas personas tienden a chocar contra una pared cuando se enfrentan a problemas de computación complejos y problemas de optimización sin tomar clases adicionales. - DIY-programador / hacker
– Estas personas tienen la motivación suficiente para aprender a programar, de modo que se sumergirán de inmediato, serán competentes en un idioma y luego comenzarán a explorar el “por qué” detrás de los conceptos de programación. Son los mejores de su clase como estudiantes de ciencias de la computación, o se especializaron en algo que no está muy relacionado con la informática, o simplemente nunca fueron a la universidad. Si puede aprender lo que se necesita para obtener un trabajo de ingeniería de software, será imparable porque naturalmente absorberá todo con lo que trabaja, pero en realidad no es para todos.