Pregunta central: ¿Qué tipo de seguridad profesional se puede esperar en el campo del software y cuánto tiempo se puede esperar dedicar para mantenerse relevante? ¿Y también son ciertos campos más vulnerables? (Diseño de juegos versus software financiero, etc.)
* Cuando digo seguridad profesional, quiero decir que no importa cuánto tiempo esté en un determinado trabajo, se trata más de si mantiene el mismo título/responsabilidades básicas del trabajo.
Motivo de la pregunta: Soy estudiante y durante un discurso de presentación un maestro mencionó que la vida profesional en el campo es corta. Su principal ejemplo fue que los empleadores ahora quieren contratar ingenieros de software en lugar de programadores y luego explicó algunas vagas diferencias entre los dos. Me preocupa lo corta que es la vida profesional.
Mi comprensión de la situación actual -
Seguridad profesional positiva:
Seguridad profesional negativa:
¿Qué tipo de seguridad profesional se puede esperar en el campo del software?
Excelente. ¿Qué, crees que la gente va a dejar de usar las computadoras de repente? ¿O que los dispositivos electrónicos personales van a disminuir en uso en los próximos 50 años? ¿O que los diversos electrodomésticos del mundo no van a estar conectados a internet?
Alguien tiene que escribir el software para todos esos dispositivos, y los miles de millones más en los que la gente no piensa mucho (automóviles, audífonos, sistemas de seguridad, marcapasos, semáforos... y continúa).
¿Cuánto tiempo se puede esperar dedicar para mantenerse relevante?
Esto es más difícil de decir. Los buenos programadores pasan bastante tiempo aprendiendo y ampliando sus habilidades. Es muy cierto que tendrás que dedicar parte de tu tiempo libre a ser bueno en el oficio. La probabilidad depende de tu especialidad, cuánto te importa ser bueno y cuál quieres que sea tu nivel de vida. Conozco bastantes programadores que no dedican tiempo a mantenerse relevantes. No son buenos programadores, pero (generalmente) están empleados y ganan salarios decentes. ¿Eso se mantendrá en el futuro? Quién sabe.
Su principal ejemplo fue que los empleadores ahora quieren contratar ingenieros de software en lugar de programadores y luego explicó algunas vagas diferencias entre los dos.
En general, la distinción que se hace es entre alguien que puede escribir código y alguien que puede hacer software. El primero no es ningún tipo de gran habilidad. Dado que es una habilidad común, no es particularmente valiosa. Diseñar software robusto y de calidad es mucho más difícil, y la variedad de habilidades necesarias para hacerlo bien es mucho más rara. Lo convierten en un empleado más valioso y es mucho menos probable que se convierta en un producto básico. Hacerlo bien también requiere una buena coordinación con el resto de la empresa, lo que hace que sea menos probable que lo deslocalicen.
Las diferencias en los lenguajes de programación son principalmente sintaxis y se pueden entender con bastante facilidad.
Esto no es seguridad de carrera: si alguien puede hacerlo, la barrera de entrada para tomar su trabajo es menor.
La mayoría de las empresas evitan el cambio como la peste.
Esto no es específico del software, ni es particularmente cierto. Las empresas cambiarán a menudo, aunque solo sea para parecer que están "haciendo algo".
Los idiomas más antiguos tienen una nueva demanda debido a la necesidad de mantener el soporte de software.
Escribir COBOL para ganarse la vida no es una carrera . Es una ruta rápida hacia la obsolescencia; una excelente manera de estar desempleado dentro de 10 a 15 años. Aunque para ser justos, es probable que ganes un montón de dinero haciéndolo mientras tanto (ya que nadie quiere hacerlo).
La variedad de empleadores puede crear una curva de aprendizaje más pronunciada de lo normal.
En mi experiencia, esto no es cierto. De hecho, esto es generalmente una ventaja de seguridad de carrera. Realmente no importa si su empresa trabaja con widgets, orcos o marcapasos. Todavía son identificaciones que provienen de una base de datos, todavía usan html para presentar sus datos... siempre se aplican buenas prácticas de desarrollo de software.
En resumen, sí, deberá continuar aprendiendo para mantenerse actualizado sobre las cosas nuevas/buenas que se están inventando. Pero una vez que haga eso, puede trabajar en casi cualquier industria con negocios que están creciendo, evolucionando y son vitales para la duración de su carrera.
Pregunta central: ¿Qué tipo de seguridad profesional se puede esperar en el campo del software y cuánto tiempo se puede esperar dedicar para mantenerse relevante?
El "campo del software" es tan amplio que creo que uno puede predecir fácilmente que siempre habrá algo en ese campo que necesite hacerse y por lo que las empresas estén dispuestas a pagar. Es fácil imaginar una carrera larga y gratificante en software.
Si te dedicas al software, debes esperar pasar toda tu carrera tratando de mantenerte relevante.
La historia del software es tal que los cambios son rápidos e interminables. Lo que era importante (y lucrativo) hace unos años puede fácilmente no tener importancia mañana.
Dicho esto, la globalización tiende a mercantilizar prácticamente todo y a todos, en particular los trabajos que se pueden realizar de forma remota. Los trabajos que no requieren coordinación física cara a cara pueden trasladarse fácilmente a una fuente de mano de obra más barata. Y el impulso en los negocios en estos días es hacer que la mayor cantidad posible de gente de software sea fungible.
Si desea estar en el software, es posible que desee mantenerse lo más flexible posible, estar listo para pasar a diferentes aspectos del software según sea necesario y dedicar mucho tiempo a mantenerse al día con la tecnología.
Si tiene una educación sólida y experiencia en desarrollo de software, debería poder aprender un nuevo lenguaje, un nuevo marco o lo que sea necesario. Los principios de alto nivel para escribir un buen código: ser legible, fácil de mantener, etc., siempre se aplicarán, incluso si los métodos exactos que utiliza varían un poco.
Sin duda, debe esperar continuar aprendiendo nuevas tecnologías, técnicas, etc. con el tiempo. Por otro lado, probablemente también habrá un nicho para conocer los sistemas heredados que de otro modo ya no se usan porque los costos de revisión pueden ser altos.
Finalmente, otros factores obviamente afectarán mucho esto, y puede haber muchas diferencias regionales en términos de qué tipo de cosas están en demanda.
Bueno, si el profesor te dejó con una vaga impresión de la diferencia entre programador e ingeniero de software, uno de los dos está en un verdadero problema.
Breve diferencia: la habilidad de un codificador es escribir código. La habilidad de un ingeniero de software es usar el software para resolver problemas.
La mayoría de las empresas no necesitan contratar a alguien para escribir código. Necesitan a su gente para solucionar problemas, reducir gastos y producir y entregar productos vendibles. A veces, eso significa contratar a un camionero para que entregue productos horneados a los supermercados. A veces, eso significa contratar a un abogado para defender una marca registrada y, a veces, eso significa contratar a un ingeniero de software para automatizar las prácticas contables, optimizar los pedidos de la cadena de suministro o cualquier otra cosa que esté sucediendo.
El dueño de un negocio no ve, "Necesito un codificador de Java para extraer mis registros de inventario y hacer llamadas al servicio web para hacer pedidos a mis proveedores". Lo que ven es: "¡Siempre me estoy quedando sin levadura, y parte de mi harina se está enmoheciendo porque ha estado aquí demasiado tiempo! ¿No podemos conseguir una computadora para realizar un seguimiento de estas cosas?"
Sí, deberías aprender a escribir código. Al final del día, todos en el software deben ser funcionales en algunos idiomas diferentes. Sin embargo, prepárate para renunciar a esos idiomas y aprender otros nuevos. Últimamente no he visto mucha demanda de PASCAL en los comercios (y mira, acabo de despertar a 3 desarrolladores que lo usan).
El mejor consejo que puedo darte para la seguridad laboral: Aprende el negocio con tanto entusiasmo como aprendes las herramientas. El dueño de un negocio quiere decir 4 o 5 palabras al grupo de desarrollo: "Reparar mi {0} {1}" donde 0 es el insulto del día y 1 es una función comercial: {cadena de suministro, facturación, cuentas por cobrar, nómina}. El ingeniero/analista de negocios descubre cómo y lo soluciona.
El "codificador" es un elemento genérico en un diagrama de Gantt. Si su única habilidad es C#, y WhizBang Software presenta "Emeralds on Asphalt" como el próximo lenguaje "caliente", sus años de experiencia en C# no significan nada. Sin embargo, si puede comprender la NECESIDAD del desarrollo en primer lugar, y comprender lo que ya existe y se puede usar, y lo que se necesita construir, tiene una carrera larga y exitosa por delante.
Grifo
Grifo
teego1967
Grifo
Grifo
teego1967
Grifo
cjs