Si.
He estado “programando” durante 25 años. Pero comencé a hacerlo profesionalmente hace solo 8 años.
El desarrollo de software parece depender en gran medida de tres habilidades.
- Familiaridad con el lenguaje y la base de código que está utilizando.
- Habilidad para resolver problemas lógicos mediante la creación de patrones interpretables por máquina.
- Habilidad para comprender cuáles son realmente los problemas a resolver.
Sin duda, le faltará el primero en comparación con los desarrolladores que han estado trabajando en el campo más recientemente. Pero puede obtener esto en un período de tiempo bastante corto ya que es solo una cuestión de exposición y estudio.
- No puedo decidir si debo especializarme en Ingeniería Informática o Informática. ¿Cuál debería elegir?
- Quiero hacer una maestría en ingeniería de energías renovables. ¿Qué país es mejor en términos de perspectivas de empleo para un recién graduado no perteneciente a la UE: Alemania o Suecia?
- Quiero ser ingeniero de software y hardware. ¿Debo ir con informática o ingeniería informática?
- Estoy desempleado después de graduarme con B.Tech en Ingeniería Civil de IIT Madras. ¿Qué debería hacer ahora?
- Siempre he sido artista, pero siempre he tomado el camino “práctico” para la empleabilidad: la ingeniería. ¿Me arrepentiré de no hacer trabajos infundidos de pasión?
La habilidad general de resolver problemas es algo que se puede enseñar y aprender a través de la experiencia y la práctica. También es algo en lo que algunas personas tienen más facilidad para avanzar que otras. Yo diría que esta habilidad tiene el mayor impacto general en la efectividad de un desarrollador.
Donde puede compensar su falta de trabajo reciente en cualquier desarrollo es tener experiencias del mundo real de otros tipos que muchos desarrolladores carecen cuando vienen directamente de la universidad.
Es común ver personas trabajando en problemas que no son necesarios para completar el proyecto. Esto se debe a que no tienen la visión que viene con la experiencia de trabajar fuera de una pantalla. No ven las diferencias significativas de importancia de una característica sobre otra. Pierden el tiempo codificando cosas que, si bien pueden ser soluciones excelentes, no eran muy importantes.
Estos factores realmente actúan como “factores” en el sentido de que su efectividad es el resultado de multiplicarlos. El más débil de ellos reduce su productividad general más que desarrollar habilidades adicionales en los demás.
El desarrollador más productivo será rápido con la base de código, elegante con soluciones y solo trabajará en los problemas más impactantes en un momento dado.
También hay otros factores que pueden hacerlo más efectivo, como la capacidad de comunicarse bien con otros humanos.
Su edad y su experiencia laboral no relacionada aportan elementos al trabajo que las personas más jóvenes no tendrán.
Su debilidad de falta de familiaridad con las tecnologías de software actuales se puede reafirmar con bastante rapidez.
Espero que pueda encontrar una posición de nivel de entrada y crecer rápidamente después de tener acceso al trabajo necesario para obtener experiencia.
Elija su primer trabajo en función de qué tan bien le permitirá capacitarse o capacitarse, no en qué tan bien paga.
Si aún no puede encontrar un primer trabajo, o no puede aceptar un recorte salarial de su trabajo actual, busque proyectos en Código Abierto Público en los que pueda contribuir y comience a hacer un currículum para usted.
La productividad en el desarrollo de software parece crecer geométricamente a medida que una persona aprende a ver y resolver los patrones comunes de problemas y construye su propia base de código desde la cual copiar.
Los empleadores generalmente buscan productividad, no la oportunidad de capacitar a alguien. Tienes que darles suficiente de lo primero para obtener algo de lo último.