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.
- ¿Cuál es su sistema operativo de elección para fines de desarrollo?
- ¿Por qué la leyenda urbana dice que Steve Jobs, Jeff Raskin y el resto del equipo 'robaron' de Xerox?
- ¿Cuáles son algunas sugerencias y temas que debo considerar si voy a dar una charla sobre tecnología y desarrollo de software a un grupo local de no técnicos en mi comunidad local?
- ¿Cuál de los sitios web de compras es mejor en términos de patrones de diseño de interfaz de usuario?
- Arquitectónicamente, ¿cuál es la mejor manera de convertir un motor de base de datos de instancia única a distribuida?
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 …