Hoy en día, en la era del boom del software en la que estamos inmersos, muchas personas de todas las edades intentan hacer carrera como programadores.
Aunque es cierto que existe una gran demanda de programadores (tanto presente como en el futuro previsible) y que los sueldos son superiores a la media, como explicamos hace unas semanas en el artículo El mercado laboral para desarrolladores en España y Europa - Año 2020 , no todo lo que reluce es oro.
La programación no es un trabajo bien remunerado porque sí. Lo es porque es un trabajo que exige mucho esfuerzo y muchas horas de frustración llegar a hacer de ello una profesión. En otras palabras, para llegar a ser un profesional tienes que invertir muchísimo tiempo, y para dedicarle tiempo te tiene que gustar, pero de verdad.
En este artículo voy a intentar explicar cómo es posible que haya una gran escasez de programadores y que al mismo tiempo se dé la paradoja de que algunas personas que saben programar no puedan encontrar trabajos de programación.
Abordaré esta cuestión desde diferentes ópticas, pero todas con el mismo denominador común: si quieres tener una larga y exitosa trayectoria desarrollando software, tiene que ser casi tu propio ikigai o, al menos, un puente imprescindible hacia el mismo 😊
Lo siguiente no es una clasificación por orden de importancia, solo un listado. No debes tomarte cada uno de los puntos como una verdad absoluta. A veces, uno solo puede ser suficiente para estar influyendo en que alguien no encuentre trabajo, y otras veces es un poco de cada uno. Son más bien ideas, sacadas de mi experiencia en empresas, de cuestiones que influyen negativamente en la contratación de profesionales por mucha necesidad que haya. También puede haber otros muchos factores personales que influyan, desde el carácter a la actitud. Algunas realidades no son bonitas, pero existen.
Motivos por los que, aún sabiendo programar, es posible que te cueste trabajar haciéndolo
1. Te cuesta adquirir un nivel de conocimientos más profundo
Hoy en día muchas personas que se adentran en el mundo de desarrollo empiezan con un IDE o una plataforma low-code, que les automatizan mucha parte del trabajo, y hacen así sus primeros pinitos. No está mal para empezar, pero esto no es más que una forma de introducirse en el desarrollo, para descubrir si realmente es tu vocación.
Si empiezas así y no sientes curiosidad por lo que está pasando a un nivel más bajo de código, si no te haces preguntas fuera de las funciones asistidas y de las estructuras de control predeterminadas por el sistema, si no tienes ganas de hacer tus propios procesos o de modificar los existentes, quizás la programación no es para ti.
Las empresas necesitan personas que sepan programar de verdad (no necesariamente con una licenciatura, no te engañes tampoco), que se adentren en los fundamentos de programación, que sientan una profunda curiosidad por cómo funcionan los lenguajes, que sientan la necesidad de entender la arquitectura interna de un ordenador y que no se sientan abrumados por tener que seguir aprendiendo siempre.
Si no tienes estas inquietudes y no te apetece profundizar, muy difícilmente podrás hacer una carrera dilatada como programador.
2. El factor edad
La edad es un factor que influye. Nos guste o no, es así. Ser muy joven o muy mayor te puede perjudicar. Pero no es la edad en sí: es el riesgo que implica el perfil de la edad. Sobre este tema ya hemos hablado en unas cuantas ocasiones.
Si eres una persona adulta que se ha reciclado y ha decidido orientar su trabajo hacia la programación, la falta de formación y la "lentitud" a la hora de aprender te va a perjudicar porque es una industria que tradicionalmente ha sobrevalorado la juventud, ya que da por sentado que los muy jóvenes tienen mayor capacidad de adaptación a los cambios y de aprendizaje, aunque esto también está cambiando.
Si eres uno de estos perfiles de más edad, lo importante es tener un plan y echarle horas. El hecho de "no ser un chaval" no es un obstáculo insalvable, y si demuestras interés y competencia profesional, la madurez y la estabilidad son valores muy apreciados que no aportan los perfiles más jóvenes, que generan problemas como la alta rotación y también son recursos a los que hay que enseñar lo que realmente significa trabajar en una empresa.
Por el contrario, si eres muy joven, la falta de experiencia laboral también es un inconveniente. Desde hace unos años, las empresas de desarrollo están dispuestas a invertir en personas que garanticen cierta continuidad en la empresa, ya que el factor rotación es una de los mayores quebraderos de cabeza en la industria.
Cuanto más joven eres, más probabilidades tienes de rotar, y es normal. Si la empresa te forma y, sobre todo, te enseña a trabajar, en el momento que adquieres cierta experiencia empiezas a enviar CVs en otros sitios buscando mejoras salariales y demás condiciones. Es ley de vida.
Para reducir esa rotación, las empresas hacen procesos de selección que evalúan conocimientos, experiencia y riesgo de rotación. Muchos perfiles jóvenes no pasan dichos procesos por ello. Muchas empresas prefieren un perfil con menos conocimiento (pero sí potencial y pasión por la programación), a cambio de madurez y estabilidad a largo plazo.
Si estás entre los 30 y 40 años y tienes experiencia y sabes programar de verdad, las empresas se te rifan, pero esos perfiles ya se salen del ámbito de este artículo. De todos modos, ten en cuenta que, si eres muy hiperactivo cambiando de empresa, tu candidatura también puede verse perjudicada incluso en este caso.
3. Saber venderse y desarrollar las habilidades blandas
Muchos desarrolladores no saben venderse, va con el perfil. Si te gusta vender y estar todo el rato hablando con los demás, ¿por qué estás todo el día sentado delante de una pantalla desafiando tu capacidad de abstracción? Porque no te gusta vender, ni te gusta estar todo el día visitando clientes y llamándoles por teléfono para convencerles de que tienes algo que le va a cambiar la vida...
Antiguamente podías ser un "tarugo" social/comunicativo, que no pasaba nada. Los programadores trabajaban siguiendo una metodología clásica o en cascada, en la que cada uno era responsable de una parte del código de forma independiente del resto.
Hoy en día se trabaja en proyectos siguiendo metodologías ágiles, que implican compartir código, desarrollo colaborativo, y demás formas de trabajo en equipo. Para ser bueno en este tipo de entornos, es necesario trabajar la venta personal, las habilidades de negociación, la persuasión y demás habilidades de las llamadas blandas.
Los programadores que más dinero ganan son aquellos que son capaces de liderar este tipo de proyectos. En las entrevistas de trabajo de las mejores empresas no pasas el proceso de selección si no tienes estas habilidades desarrolladas. Nadie quiere depender de un programador que no es capaz de compartir código puesto que, si ese profesional se va de la empresa, el coste de su marcha es altísimo.
4. No estar dispuesto a formarse constantemente
Si eres de los que piensan: "Mira que bien, ya estoy licenciado y tengo tal o cual título o certificado" y te "echas a dormir", la programación no es para ti.
No lo digo porque aquí vendamos cursos de programación para que no te quedes desfasado, lo digo porque es una realidad del sector (es, más bien, ya una realidad casi universal en cualquier sector). Lo importante es saber qué elegir para continuar aprendiendo y no seguir las modas.
Todo esfuerzo formativo debe ir orientado al largo plazo cuando eres joven y a medio a medida que pasan los años. A corto, solo es bueno aprender algo para salir de un problema, pero las urgencias no deben motivar tu formación. Tienes que tener un plan que te aporte competencias a medio plazo.
De esto hemos hablado mucho en este blog por lo que no me voy a extender más en este punto.
Conclusión
Para encontrar estabilidad laboral como programador, tienes que "amar" programar el 50% del tiempo, aunque el otro 50% lo llegues a odiar. Es decir, la frustración del 50% del tiempo tiene que compensarse por lo mucho que te gusta (como en casi cualquier trabajo). Si alguien te dice "a mí encanta la programación siempre" probablemente está mintiendo, o peor aún, no es un programador de verdad. La gestión de la frustración es normal que te lleve a odiar lo que haces por momentos.
También es lo más normal del mundo sentirse abrumado por todo lo que no sabes hacer. Pero eso es buena señal: todos los grandes programadores son conscientes de lo que saben hacer, pero sobre todo de lo que NO saben. Cuanto más profundizas en un campo, más humilde te haces y menos ego tienes. Por eso es tan común ver a un novato que se cree que sabe todo, en contraste con los programadores senior, que demuestran lo que saben en el código y lo que no con las palabras.
Como probablemente sepas ya por tu propia experiencia, aprender a programar a fondo lleva tiempo (años) a pesar de lo que digan algunos de los cursos de "aprende programación en 2 semanas"...
Cuando se empieza, es importante crear buenos hábitos para aprender eficientemente. Al principio te pasas los días con tutoriales, guías, documentación y a menudo incluso con todo a la vez. Esto es lo que todo el mundo hace, es lo normal, al igual que lo es sentirse abrumado.
Lo importante es maximizar el rendimiento de cada hora de aprendizaje y entender bien los conceptos. Copiar y pegar código de terceros te puede dar la sensación de que estás progresando, pero de nada sirve si no entiendes lo que estás haciendo.
Si quieres compartir tu experiencia, constructivamente, no dudes de hacerlo abajo en la sección de comentarios. Gracias por leernos 😉