Nota: En este post los términos desarrollador e ingeniero se usan de software de forma intercambiable
Introducción
Ser desarrollador de software está de moda, hay mucha demanda, buenos salarios y con un poco de cuidado, es fácil encontrar una compañía decente para trabajar. Sin embargo, es muy común escuchar historias de desarrolladores que dejaron la industria después de 5 o 10 años de trabajo.
En este post hablaré, desde mi perspectiva, sobre cómo es el día a día de un desarrollador. Tanto lo bueno como lo malo. A la mitad del post, me desviaré para hablar sobre el campo laboral en Yucatán y lo terminaré dando unas cuantas recomendaciones para los que aún están cursando la carrera o están por salir.
¿Qué es un ingeniero o ingeniera de software?
Cualquier persona que implementa y mantiene aplicaciones de software satisfaciendo las necesidades de algún usuario puede considerarse desarrollador de software. Aunque un título universitario no es necesario, estudiar una carrera te da cierta estructura y guía sobre que temas aprender para ser un buen profesionista.
A diferencia de alguien que se dedica a las ciencias de la computación, que en su mayoría hacen investigación, o alguien en ingeniería en computación, que se especializan en hacer hardware y software embebido, un ingeniero o ingeniera de software pasa la mayor parte de su tiempo implementando sistemas siguiendo un proceso que asegura cierta calidad con el objetivo dar “valor” a un grupo de usuarios. Donde “valor” puede ser algo objetivo como generar ingresos o algo subjetivo como “mejorarles la vida”.
¿Qué hace un ingeniero de software en el día a día?
Aunque no es un panorama total de lo que hace un desarrollador de software en el día a día, el ciclo de desarrollo de software es un buen punto de inicio para entenderlo.
![](https://soydev.mx/wp-content/uploads/2021/09/img_0847-1024x768.png)
- Análisis de requisitos: Descubrir y detallar el problema que se quiere resolver y por qué.
- Diseño de software: Definir a alto nivel cómo se va a implementar la solución al problema.
- Construcción de software: Implementar la solución y afinar detalles de diseño a nivel código
- Pruebas de software: Verificar y validar que la implementación cumple con los requisitos. Es decir que soluciona el problema y que además cumple los estándares de calidad.
- Mantenimiento de software: Tener métricas de rendimiento y monitoreo para asegurar que la aplicación funciona de forma correcta y saber cuando existe un fallo.
Aunque en el ciclo de desarrollo los pasos estén enumerados de esa manera no significa que debe ser guitar así. Por ejemplo, actualmente es común utilizar técnicas de pruebas y mantenimiento desde la fase de análisis de requisitos.
Al ciclo de desarrollo de software también hay que agregarle otros procesos administrativos, como la planeación, mitigación de riesgos, costos, retrospectivas, finanzas, etc.
A continuación doy un ejemplo de mi día a día como desarrollador dentro de un equipo que sigue una metodología de trabajo ágil parecida a SCRUM:
Al inicio de un sprint mi equipo se reúne en una junta de planeación para definir el trabajo que haremos en las siguientes 2 semanas. Empezamos con una lista de historias de usuario previamente priorizadas por el product owner y los stackeholders, durante la planeación estas son detalladas por el equipo junto con el product owner para entender muy bien cuáles son los problemas que se quieren resolver o las mejoras que se quieren implementar.
Una vez entendemos que se quiere que resolver empezamos a discutir posibles propuestas de solución a alto nivel y posibles riesgos que se podrían encontrar al empezar a implementar las soluciones, esto con el objetivo de disminuir la incertidumbre de lo que tendremos que hacer. Cuando tenemos más confianza de nuestro entendimiento en las historias de usuario decidimos cuales se harán durante las siguientes semanas y se lo comunicamos a los stakeholders.
Durante las siguientes semanas, trabajamos en las historias ya sea de forma individual, parejas o en grupo, codificando las funcionalidades; preparando el entorno donde se desplegará la aplicación; escribiendo las pruebas automatizadas de aceptación, integración y unitarias necesarias; etc.
Una vez terminada la implementación de una funcionalidad esta es subida a un repositorio donde el pipeline de continuos integration ejecuta todas las pruebas para asegurarse que la aplicación no está rota. Si todo sale bien entonces el equipo comunica a los stakeholders que la funcionalidad está lista y está ya puede utilizarse por los usuarios en producción.
Al final de las dos semanas nos reunimos para tener una retrospectiva y hablar sobre lo que aprendimos durante estas semanas, que problemas tuvimos y que se podría mejorar en la forma en como estamos trabajando.
El ejemplo anterior es básicamente mi día a día como desarrollador y seria bueno que te preguntaras si es algo que te vez haciendo por muchos años de tu vida. No todos los equipos siguen la misma forma de trabajo y es común escuchar descontento sobre cómo se trabaja en muchas empresas. Sin embargo es tu responsabilidad y del equipo, tratar de mejorar la manera en como trabajan para crear un proceso de trabajo sostenible y que agregue valor. Como el libro “The devops handbook” menciona: Los equipos que no se toman el tiempo ahora para reparar lo que está mal en su manera de trabajar solo empeorarán su forma de trabajar conforme pase el tiempo.
Aunque el trabajo de desarrollo tiene muchos beneficios y puede considerarse en cierto punto creativo, es común escuchar de personas que luego de unos años trabajando terminan sintiendo que su trabajo no agrega valor a nadie y terminan renunciando o cambiando de empresa para repetir la historia. Otra vez es tu responsabilidad buscar entornos donde puedas perseguir tus intereses profesionales y afortunadamente dada la alta demanda de desarrolladores es fácil encontrar un entorno donde puedas florecer profesionalmente.
También hay que agregar que como desarrollador siempre tienes que estar aprendiendo nuevas cosas, por lo que si quieres crecer profesionalmente pasarás gran parte de tu tiempo libre aprendiendo nuevas tecnologías y metodologías. Lamentablemente no he conocido una empresa que vea el aprendizaje continuo como algo que sea parte del trabajo. Excepto por Thoughtbot.
¿Cómo está la industria de software en Merida?
Debido a la pandemia la mayoría de la industria de software ahora es remota. Eso trajo como beneficio que las empresas estén más abiertas a contratar sin importar tanto en donde estas ubicado, y como consecuencia la variación de sueldos ahora es mayor. Por lo que tienes ejemplos de personas ganando 10 mil pesos netos al mes mientras qué otros ganan 80 mil pesos o más.
Es común encontrar ofertas de trabajo con sueldos en el rango de los 10 mil pesos a los 20 mil pesos netos para recién egresados. Mientras más experiencia profesional tengas antes de egresar más fácil es encontrar un trabajo que ofrezca un mejor sueldo y prestaciones.
Los sueldos para alguien entre 2 a 5 años de experiencia y que habla ingles están entre los 30 mil a los 80 mil pesos netos mensuales. Hay que mencionar que existen casos excepcionales de personas que gana aún más.
Es importante mencionar que estos sueldos no son normales en Yucatán, y en realidad ni en México. Es común escuchar que un profesionista no tech gane entre 8 mil a 12 mil pesos durante los primeros 3 año de su carrera y son muy pocos los sueldos arriba de 30 mil pasado ese tiempo. A diferencia con profesionales tech donde es muy fácil encontrar personas ganando más de 30 mil. A mi parecer las razones de estos sueldos elevados son dos. La primera es debido a la escasez de desarrolladores a nivel mundial, la demanda de desarrolladores va en aumento desde hace unos años y aún no sabemos cuándo habrá suficiente oferta. La segunda razón es la moneda mexicana que aún con sueldos altos, seguimos siendo más baratos a las empresas extranjeras. Por lo anterior no deberían de tener problema en encontrar un trabajo bien remunerado.
¿Qué recomiendo a las personas que están estudiando ingeniería de software?
Estudiar una carrera te da la oportunidad de usar 4 o más años de tu vida para aprender a fondo la teoría de un área de conocimiento pero también para poner ese conocimiento en práctica en un entorno seguro. No es lo mismo tomar un riesgo y sacar una mala calificación a tomarlo y generar pérdidas a una empresa.
Mis recomendaciones para a todos y todas los que están estudiando son:
- Las calificaciones no importan (a menos que quieras una beca): Ninguna empresa pide calificaciones. Enfócate en aprender, las calificaciones solo te sirven para obtener becas y si quieres una maestría o doctorado. Un título también es importante para poder emigrar a ciertos países como Estados Unidos.
- Tomate tu tiempo para aprender y experimentar: Si hay una materia que quieres tomar pero se oferta en el próximo semestre tómala, puedes trabajar mientras la estudias. Si quieres irte de intercambio hazlo, te abrirá la mente a otras culturas. No ganas nada por terminar a tiempo. En cambio, una vez entres a trabajar verás que es más difícil apartar tiempo para aprender.
- Es tu responsabilidad el aprender: Por la naturaleza de las universidades, estas no pueden mantener el ritmo de innovación de la industria de software, por ello, cae en ti aprender más sobre las áreas que se te hagan interesantes y profundizar sobre que practicas se utilizan afuera actualmente. Sin embargo, aprovecha a tus profesores y pregúntales cómo estás practicas se relacionan con la teoría que están viendo en las clases. Tal vez hasta ellos aprendan algo.
- No solo se enfoquen en software a menos que quieran dedicarse a investigación: Como desarrollador tu responsabilidad es agregar valor al usuario final esto l lo que tienes que aprender a disfrutar el aprender sobre nuevas áreas de negocio y conocimiento. Cada vez es más común que las empresas buscan personas no solo con conocimientos técnicos específicos, si no también, que tengan conocimientos de algún dominio de negocio como e-commerce, fintech, health, etc.
- Consigue experiencia profesional: Para poder considerarle desarrollador o desarrolladora debes de ser capaz de crear cosas y agregar valor. Intenta ganar experiencia profesional lo mas pronto que puedas, pero busca entornos donde puedas aprender de gente que hace las cosas bien. Trabajar con un desarrollador con buenas prácticas por 6 meses puede potenciar tu carrera exponencialmente mas que estar 2 años en una empresa con malas prácticas donde posiblemente no aprendiste nada. Pregunta por prácticas profesionales en Google, Microsoft, Encora, Wizeline, etc.
- Aprende a comunicarte: No solo importa lo técnico. El trabajo de desarrollador es extremadamente colaborativo. Tendrás que hablar con gente de diferentes profesiones, diseñadores, product owners, vendedores, usuarios finales, etc. Aprende a comunicarte con cada uno de ellos. Recuerda que cada quien tienen un background y modelos mentales diferentes en su cabeza.
Aprende a explicarte de forma clara y consiza. En tus primeros años de trabajo no se espera que seas bueno comunicandote o colaborando pero si esperan que aprendas a hacerlo lo más rápido posible. Al final, en mi opinión las soft-skills son de lo más importante para poder avanzar en tu carrera. Ya sea que quieras un puesto de Engineer manager o ser Staff engineer. De nada sirve un gran nivel técnico si no eres capaz de utilizarlo para ayudar a los demás. - Aprende ingles: Así de simple, aprende a hablar y escribir en inglés. Las oportunidades crecen exponencialmente solo por saber el idioma.
- Aprende a tomar entrevistas: Actualmete el proceso de entrevistas está roto, y los procesos de reclutamiento no evalúan tu capacidad de resolver el tipo de problemas que podrías enfrentarte en el día a día de trabajo. Hasta que esto se solucione recomiendo que aprendas a tomar entrevistas de algoritmos, de sistemas y de comportamiento. Piénsalo como una habilidad más que debes de tener en tu caja de herramientas para lograr tu carrera profesional
- Haz un plan de carrera: Solo tu sabes lo que quieres de tu vida, hay muchas maneras de vivir y todas son buenas, pero recuerda que la única persona responsable de crear el estilo de vida que deseas eres tu. Hay personas que quieren tener un gran crecimiento profesional, otros solo quieren un trabajo que les de suficiente tiempo para poder enfocarse en sus hobbies. Ningún estilo de vida es malo siempre y cuando lo decidas tu. No dejes que la vida pase y tome las decisiones por ti.
Conclusión
Espero que este post te haya ayudado a tener un panorama más claro sobre que es la ingeniería de software, cómo está el campo laboral en Mérida y que las recomendaciones te ayuden a evitar situaciones que yo tube que vivir para aprender.
El desarrollo de software es una buena carrera, te permite convertir casi cualquier idea en algo tangible y en el entorno correcto es muy satisfactoria. Si decides ser desarrollador espero tener la suerte de colaborar contigo.
23 replies on “Ingeniería de Software ¿A qué te has metido?”
Este post es el resultado de una charla que Hidalgo ha ofrecido durante varios años en la Facultad de Matemáticas de la UADY. Desde la charla versión 1.0 hasta el contenido del día de hoy, ha evolucionado en su contenido y se ha vuelto un punto de referencia para quienes pasan por la asignatura de Fundamentos de Ingeniería de software de UADY. La importancia de compartir la experiencia adquirida para con los futuros ingenieros es una forma de crear comunidad y muestra de profesionalismo.
Me encanta la manera en la que se nos comparte de manera general la vida de un ingeniero de software en el ámbito laboral (en especial las experiencias de sueldo y campo) y la manera en que construye el término “Ingeniero de Software” y las distintas tareas que tiene un IS al momento de ejercer para algún proyecto. Así pues agradezco, como actual alumno de LIS, poder observar consejos muy detallados que pueda tomar en cuenta en mi paso por la Ingeniería.
Mis preguntas:
-¿Cuál es la recomendación general ,desde tu punto de vista como Ingeniero de Software, en el área que consideres que sea una necesidad y que me permita ser más accesible en una empresa (grande o reconocida) a la hora de solicitar empleo?
-De manera empírica ¿Cuál crees que ha sido el más grande desafío o desventaja con el/la que te topaste mientras estudiabas la carrera?
Hola, soy estudiante de Ingeniería en Software en 1er semestre de La Faculta de Matemáticas de La UADY y me da una idea mas clara de lo que me podría deparar en el futuro y lo que debo mejorar y avanzar por mi cuenta con la ayuda de mis profesores. Mi pregunta es…
¿Qué diferencia habría si las empresas consideraran el aprendizaje continuo de un ingeniero de software?¿Lo valorarían? y si es así ¿Cómo lo sabríamos?
Le agradezco si tengo respuesta en ello, muy buen articulo y espero encontrarme con usted laboralmente
¡Hola Hidalgo! Muchas gracias por compartir tu experiencia, realmente se me hizo bastante interesante que mencionaras como el proceso de entrevistas en tech está roto.
Me gustaría conocer tu opinión respecto a:
Si actualmente el proceso de contratación de las big tech companies se basa en entrevistas técnicas de estructura de datos / algoritmia, ¿Qué tan importante consideras que es tener un portafolio personal cuando lo que buscas es entrar a esta clase de empresas?
Si la respuesta a la anterior pregunta fue importante, ¿Qué clase de proyectos consideras que debería incluir dicho portafolio? 👨💻
¡Hola Hidalgo! Me gustó mucho tu post porque presenta la información de manera breve y fácil de comprender.
Me gustaría saber:
¿Cómo resolverías problemas que no has visto antes en tu trabajo o aprendido en la escuela?
¡Hola Hidalgo! Agradezco que nos comparta su experiencia en el día a día como un ingeniero de software, así como algunas recomendaciones para los que estudiamos la Licenciatura, este post siento que me servirá de mucha ayuda. En mi opinion el artículo estuvo muy interesante y fácil de entender.
Tengo algunas preguntas que me gustarían aclarar:
En el mundo laboral
–>¿Qué recomendaciones nos podrías dar?
–>¿Cuáles son las soft skills que consideras necesarios?
–>¿Es mejor emprender por cuenta propia o ser un trabajador de una empresa?
De antemano gracias y que tenga un excelente día.
Hola, Hidalgo. Gracias por compartir ese conocimiento y experiencia, es de gran utilidad para nosotros los que aún nos estamos formando en este área.
Es muy interesante cómo es el día a día de un Ingeniero de Software, y cómo es que a pasar de que cierto día estaremos detrás del diseño de algún sistema de software tendremos que sí o sí hacer uso de nuestras Soft Skills para poder sobresalir profesionalmente y para poder entablar un entendimiento con el cliente y brindarle una buena experiencia al usuario. Gracias por las recomendaciones que puntualizas las tomaré en cuenta, para poder implementarlas en mi vida lo nates posible. Espero también poder colaborar contigo algún día.
Las preguntas que me planteé durante la lectura fueron las siguientes:
1. ¿Cuáles consideras que son las habilidades que tiene o debería tener el IS ideal?
2. ¿Cómo encontramos ese punto de partida para generar un “valor” a un sistema de software?
Lo que más me gustó del artículo es la última parte de las recomendaciones, para un estudiante que está empezando en el mundo de la Ingeniería en Software son consejos por parte de un profesional útiles para saber sobrevivir a la carrera y que me serán útiles para el ambiente laboral.
Me gustaría tener una opinión sobre lo siguiente:
Durante la carrera: ¿Qué recomendaría con las ofertas de trabajo a estudiantes que surgen de vez en cuando en la facultad? ¿Qué requisitos considera indispensables para poder entrar a estas empresas a agarrar experiencia?
Fuera de la carrera: ¿Qué es lo que usted considera es más importante en una entrevista de trabajo? ¿Nos podría contar sus experiencias en estas?
¡Hola, Hidalgo! Esta publicación me ha ayudado a aclarar un poco más mis pensamientos sobre mi carrera universitaria y que voy a hacer una vez que egrese.
Mi pregunta sería: ¿Cómo se reconoce una empresa con malas prácticas? ¿Cuáles serían señales de que debería cambiar de lugar de trabajo?
Hola! después de leer y analizar su post, quiero agradecerle por dar una vista más amplia de lo que es la realidad de ser ingeniero de software, unos consejos útiles y que espero que funcionen a lo largo de mi carrera universitaria y laboral.
Me gustaría preguntar
Al no ser el mejor de tu carrera, ¿Qué tantas posibilidades existiría de conseguir un buen trabajo y que hacer si no hay una opción viable?
¿Qué recomendaría para encontrar esa experiencia en diferentes ámbitos que no sean software?
¡Hola Hidalgo! Agradezco que haya compartido tanto su experiencia laboral como la situación actual de la ingeniería de software y sobre todo sus consejos que me serán de ayuda para saber lo que necesitaré como ingeniero de software.
Me he quedado con una pregunta con respecto al blog:
-¿Cuáles herramientas son esenciales para un desarrollador de software?
¡Hola Hidalgo! Este post definitivamente me ha dado una visión más clara de lo que me espera cuando termine de cursar la carrera de Ingeniería de Software, la parte que se me hizo más interesante fue como relatas tu proceso de trabajo, por lo que quiero preguntar
¿Qué cosas hay que considerar al organizarse al trabajar en equipo?
¿Qué aspectos priorizan al empezar un proyecto?
En lo personal, me pareció un post muy interesante porque se nos presentan puntos de vista interno que, por lo general, estudiantes de primer semestre no conocen y muchas veces nos dejamos llevar por los clichés de que en el mundo del software todo es perfecto y maravilloso, que no dudo que sea una de las profesiones con mejores prestaciones y ambientes de trabajo pero es muy valioso recibir la la información de primera mano. Agradezco las recomendaciones que nos hace referente al desarrollo profesional y como depende mucho de nuestra pro-actividad. En el post usted hizo una única cita, precisamente del libro “The devops handbook” lo cual me llamó mucho la atención, por lo tanto, mi pregunta es…
¿Qué es DevOps y a qué se debe que últimamente este tema este teniendo tanta repercusión en la industria de la tecnología?
Me llamó mucho la atención en énfasis en la responsabilidad del desarrollador por educarse a sí mismo, pienso que es de gran ayuda para nosotros los estudiantes saber desde el principio que no nos podemos quedar solo con lo que aprendemos en la escuela, sino que hay que expandir nuestros conocimientos a otras áreas.
Mis preguntas son:
-¿Qué lenguaje de programación piensa que debemos aprender primero para poder conseguir nuestro primer trabajo?
-¿Qué tan difícil es emprender en el mundo del desarrollo de Software?
¡Hola Hidalgo! me encantó el post; sobre todo los consejos, porque no hay mejor consejo que el de alguien que ya lo ha vivido.
Me pareció muy interesante la frase “En cambio, una vez entres a trabajar verás que es más difícil apartar tiempo para aprender” porque realmente sí será más difícil pero seguirá siendo igual de necesario.
Mis dudas:
¿Cuál es la mejor forma de conseguir experiencia profesional durante la carrera? y ¿en qué momento? (considerando que algunos aún estamos empezando y las prácticas profesionales son hasta sexto semestre)
¿Qué otras habilidades técnicas se deben aprender además de programación?
Hola! Muy interesante artículo, de verdad fue de gran ayuda conocer un poco más acerca del día a día de un desarrollador y las habilidades que son necesarias como ingenieros para desarrollarnos mejor en nuestra área de trabajo. Tengo algunas preguntas y me gustaría saber su opinión:
1.- ¿Qué recomendaciones nos podría dar para mejorar nuestras soft skills respecto a trabajo en equipo?
2.- ¿Qué actividades nos recomendaría realizar y sumar a nuestro currículum durante la carrera para tener más valor frente a las empresas?
3.- ¿Qué considera usted el comportamiento adecuado para una entrevista exitosa?
Hola!
Debo decir antes de anda que agradezco mucho el tiempo que le hayas dedicado a este post, siempre he creído en el apoyo mutuo entre las personas para su propia realización y plenitud de vida, algo que este post demuestra en cierta medida.
De antemano comento que me pareció no solamente interesante este post, sino que muy útil y lo tendré en consideración para semestres futuros.
Sin embargo, me ha surgido una duda y es el cómo podremos combatir contra el vértigo que genera esta profesión, quiero decir, ¿hay alguna forma de evitar sentirnos inseguros respecto a lo que realizamos?. No es tanto una duda respecto a construir confianza en si mismo, sino en cuanto a asegurarnos de tomar la mejor opción ya sea en desarrollo de software como en desarrollo profesional.
Mi otra duda al respecto seria ¿cómo podremos lidiar ente el estrés o ansiedad como ingenieros de software?, no solamente ante el ámbito laboral, sino también ante los distintos acontecimientos que ocurren en nuestra vida como la perdida de un ser querido, o la ruptura de una pareja. Me intriga el saber como lidiar ante estas situaciones durante el nuestro proceso de trabajo o cuales serian tus consejos para lograr enfocarse y realizar un buen trabajo.
¡Un saludo!
Las recomendaciones dadas me parecen muy buenas las empezaré a implementar. Además la explicación del ciclo de desarrollo de software me pareció muy interesante. En cuanto a las preguntas me gustaría saber:
-¿Todo lo que digo que hace en la explicación de su día a día, lo hace en solo 2 semanas?
-¿Cuánto tiempo aproximado le toma resolver/solucionar un problema/proyecto grande?
El post sin duda me dio un panorama más amplio del que ya tenía, el camino luce emocionante y con grandes retos que hay que superar a lo largo de la carrera. La parte del post que más me llamo la atención fueron las recomendaciones, en especial, me llamo la atención el peso que tienen las soft-skills dentro del campo laboral y como las mismas llegan a jugar un papel importante en tu desempeño laboral.
Pregunta: ¿Cómo liderarías con problemas con un entorno de trabajo, me refiero a problemas como “Mashroom management” o “Seagull management”?, Entornos de trabajo con los que probablemente nos lleguemos a topar.
¡Hola, Hidalgo!
Primero que nada, muchas gracias por tomarte el tiempo de escribir esto, orientarnos un poco y darnos una pequeña idea de hacia que nos dirigimos los que seguimos estudiando la carrera.
Debo decir que la parte que más llamó mi atención es lo de los posibles campos laborales, su pago y tal, pero esto me generó una curiosidad
– ¿Cuál cree que sería la rama más demandada y buscada por las empresas en la actualidad? (me refiero a seguridad de datos y demás ramas por el estilo)
Y otra cosa que me genera intriga es, además de aprender inglés, aprender a comunicarnos de forma eficaz, ¿qué otra cosa o habilidad recomienda que aprendamos para poder estar mejor preparados para una vida laboral temprana?
Y ya para finalizar, una duda ¿qué lenguajes de programación recomiendas aprender primero?
¡Un saludo y bonita noche!
unas preguntas, desde un punto de vista productivo, ¿Qué tan eficiente es siempre estar laborando en conjunto con un equipo de trabajo? es claro que el tiempo de desarrollo se reduce, pero, el costo de producción se incrementa, ¿Qué tan viable es esto para una empresa?
Desde hace unos años tenía en mente estudiar esta carrera, y una de las dudas más grandes que me surgen es: ¿Qué es lo más difícil de la carrera? y ¿Cómo puedo mejorar mis conocimientos adicionalmente de los que te enseñan en la universidad?
¡Gracias!
Hola Hidalgo, me gustó mucho el artículo para jóvenes que se proyectan en su meta como ingenieros de Software, y me gusta mucho el pro y los contras que platicas. Pero me gustaría que me resolvieras una duda muchos más a fondo, dado que estamos en un mundo donde la tecnología avanza a pasos agigantados, es muy fácil quedarse en la obsolescencia por lo tanto quisiera saber
¿cómo recomiendas mantenerse constantemente actualizado en el campo de la ingeniería de Software y siempre estar en la vanguardia de los cambios?