Cómo saber si debo ser un desarrollador / ingeniero de software

La pregunta puede ser más matizada o puede ser tan simple como parece. Comenzaré con lo último y procederé con lo primero.

Debe ser un desarrollador / ingeniero de software si y solo si:

  • Te gusta trabajar con tecnología informática.
  • Cree que puede pensar como un desarrollador de software en general (es decir, problemas de factores, desarrollar algoritmos para abordar los problemas, aprender las herramientas y trucos del oficio, etc.)
  • Encuentra el desafío de los dos puntos anteriores lo suficientemente interesante como para perseguir este campo.

En la superficie, realmente podría ser así de simple. La pregunta no es más específica, como el desarrollo web, el desarrollo de aplicaciones móviles, el desarrollo de servicios micro o monolíticos, el desarrollo de pila completa, el desarrollo de sistemas de big data o cualquiera de varias palabras de moda que se pueden concatenar para formar un subcampo de software Ingenieria. O desarrollo de software.

Así que ese es el comienzo de la respuesta más larga.

Yo mismo tengo un título de ingeniería y, aunque no estaba específicamente en Ingeniería Informática (los títulos generales de ingeniería son lo que Harvey Mudd College estaba entregando), me gustaría pensar que la Ingeniería en sí misma implica una inmersión más profunda en un campo. Para mí, un ingeniero de software es alguien que está diseñando sistemas, desarrollando protocolos, acercándose al hardware (tal vez el desarrollo del kernel o los sistemas integrados), escribiendo compiladores, o tal vez simplemente abordando un proyecto a un nivel de sistema total.

Por otro lado, un desarrollador de software podría ser alguien a quien le gusten las computadoras lo suficiente como para haber entrado en el campo, o tal vez alguien que haya tomado algunos cursos y haya aprendido cómo desarrollar completamente la web o cómo crear aplicaciones móviles. Creo que un Desarrollador o “Programador” quizás se centre más en un área particular de un sistema. No menos interés o incluso pasión, sino un alcance menos amplio de experiencia académica y práctica.

Estas son mis propias definiciones, otros pueden tener otros puntos de vista. Desde mi punto de vista, un SE es como un compositor, un SD es como un violinista. Nada impide que el violinista cree música, mientras que el compositor seguramente tiene que entender el violín.

Además, nada impide que un SE desempeñe el papel de SD o viceversa, y de hecho, todos estos actores deberían estar aprendiendo y mejorando sus habilidades en el camino de todos modos.

La tecnología nos rodea y eso no va a cambiar en el corto plazo. Si tiene el más mínimo interés, sería una buena idea aprender algunas habilidades de Desarrollador de software y tomarlo desde allí. Si el campo es fascinante y emocionante, bueno, no hay tiempo como el presente para comenzar a aprender todo …

¿Eres analítico? Si no, no intentes convertirte en desarrollador. El desarrollo de software es 95% de análisis.

La ingeniería de software es aún peor. (Originalmente, cuando llevé al dinosaurio 8AM a trabajar, éramos programadores o analistas. Luego nos convertimos en desarrolladores. Luego, muchos desarrolladores (o incluso personas que aún se aferran al título de “programador”) comenzaron a llamarse ingenieros de software. Un título de SE el programa es diferente a un programa de CS, pero el trabajo es casi el mismo en todos los casos: analice el problema para encontrar una o más soluciones. Si hay más de una, analice las soluciones para llegar al mejor. escríbalo en una computadora y ejecútelo para ver si hay algún error. Es la parte del análisis el 95% del trabajo, así que si no es analítico, es una persona de 4 pies de estatura tratando de jugar baloncesto profesional.