· Jose Antonio López  · 18 min lectura

Trabajar como programador - lo que no te dicen

¿Eres un desarrollador junior? Descubre cómo un lenguaje poco demanadad puede afectar tu carrera, señales de alerta y lo que algunos jefes hacen en tu contra.

¿Eres un desarrollador junior?  Descubre cómo un lenguaje poco demanadad puede afectar tu carrera, señales de alerta y lo que algunos jefes hacen en tu contra.

Introducción

El primer trabajo dicen que marca mucho. En mi caso, fue el segundo. Voy a basarme en mi experiencia personal para que veas qué errores cometí y qué aspectos laborales deberías tener en cuenta si estás empezando en el mundo de la programación. Todos los nombres que puedan aparecer son ficticios. Los personajes sí son reales.

¿Por qué escribo este artículo?

La profesión de IT me encanta y no me imagino haciendo algo diferente. He visto mucho post en redes sociales con portátiles en cafeterías. Son primos hermanos de los post de hamacas en playas.

Seguro que son un lugar excelente para trabajar pero no es la realidad de la mayoría de los programadores. Más si pretendes programar sin tener experiencia previa y sin ratón. Solo con el pad…

Con este artículo quiero ayudarte a no cometer los mismos errores que cometí por falta de información. Quiero darte información real sobre mi experiencia real. Voy a contarte errores que cometí y cómo las cosas se tuercen de un día para otro cuando el proyecto o el cliente lo requiere.

No quiero alarmarte. Eso sí. Ten presente que también es una profesión exigente como cualquier otra. Quizás la idea no venda tanto como una cafetería pero aquí va un poco de realidad que te va a servir seguro.

Segundo Trabajo

Mi segundo trabajo fue en una empresa de desarrollo de software. Concretamente, fue en una empresa que desarrolla su propio ERP y lo implementa en empresas manufactureras para automoción.

¿Qué pasó en mi primer trabajo?

Me despidieron a los 5 meses teniendo contrato fijo y habiendo pasado el periodo de prueba. La realidad es que con 5 meses no estás roadado. Además había entrado Marc. Marc era un becario super competente que entró por 3 veces menos mi sueldo y 3 veces más mi conociemiento. Así que ya me esperaba yo algún movimiento.

“Al final lo tuyo no es programar” me dijo Eustaquio I, el manager. Lo paradójico es que Eustaquio I no sabía que yo no estaba programando. Mi equipo me tenía redactando pruebas funcionales en un Excel. Si eso es programar, entonces sí, no es lo mío.

Vayamos a las condiciones del segundo trabajo.

Sueldo

En 2014 el sueldo por el cuál empecé sin tener experiencia previa en desarrollo de software fue de 23.000€ brutos al año. Nada mal. Buscaban personas que tuvieran ganas de aprender, trabajar y que en inglés se defendieran. Este valor se ha perdido actualmente en el sector.

El sector busca personas que ya sepan programar en muchas herramientas que envuelven a un lengaje de programación. Puedes saber programar en Java pero si no sabes de SpringBoot, Junit y Mockito no te van a contratar.

Formación

Después de un proceso de selección, me cogieron y empecé una formación de 3 meses junto a 8 compañeros y compañeras más. Ahí aprendimos la parte básica funcional del ERP junto con un lenguaje de programación llamado Progress 4GL. Seguro que nunca has oído hablar de él. Puedes googlearlo si quieres pero sinceramente invierte esos minutos en aprender algo más útil.

Primer año

Ya era consciente de que el lenguaje que estaba aprendiendo no era el más demandado en el mercado. No me importaba. Me gustaba programar y estaba aprendiendo mucho. Tenía un jefe que me ayudaba y me enseñaba. La curva de aprendizaje no tiene porqué ser frustrante.

Si tienes a alguien que te guíe, todo es más fácil. En esta primera etapa tuve un gran jefe. Me dejaba equivocarme y me ayudaba a corregir mis errores. Prueba y error. No hay otra forma de aprender a programar.

Segundo año

Aquí empecé a ser más crítico con el lenguaje. Progress 4GL es un lenguaje que tiene una sintaxis muy sencillla y con pocas cosas te apañas bien. El problema es que te apañas con lo fácil y repetitivo.

Cuando necesitas cosas más complejas, el lenguaje se queda corto y empiezas a reinventar la rueda. Puede ser bastante furstrante tener ideas en la cabeza y no poder llevarlas a cabo por las limitaciones del lenguaje.

Para colmo, la documentación del lenguaje es bastante pésima. Le faltan ejemplos y la comunidad es muy pequeña. No hay foros, no hay blogs, no hay nada. Sólo un par de gurús que defienden a capa y espada el lenguaje. Les va la vida en ello.

Echando leña al fuego

Arranque de implementación ERP

Me metieron en un cliente de automoción muy importante. Hacía piezas de interiores de coches. Al cabo de 5 meses tocaba arrancar el proyecto y me enviaban a Michigan (EEUU) para ayudar en la implementación. ¡Qué guay! Eso mismo pensé yo en un principio.

Sin embargo, algo me decía que no iba a ser tan guay. Eché números y salía que estar ahí costaba un pastizal para el cliente. Entre aviones, estancia y dietas, el cliente se dejaba un pastizal. Ah y sumale mi hora a 100€ aproximadamente. De esos 100€, a mi me pagaban en sueldo unos 9,85 aproximadamente.

Cuando llegué a Michigan, me di cuenta del percal que se había montado. Mariana era una consultora que llevaba 1 año en el proyecto y me dijo que no había visto nada igual. El cliente no estaba preparado para el arranque.

Los usuarios no tenían claros los pasos a hacer en el ERP y las UAT (User Acceptance Test) habían sido una pantomima. Para colmo, la integración con el MES (Manufacturing Execution System) y el ERP fallaba por todas partes.

Consecuencias de errores en la integración con un MES

La integración con un MES es de las más importantes en una fábrica. Si falla, no se sabe que se tiene que producir. Si no se sabe qué producir la fábrica para máquinas. Los pedidos que hay planificados a dos semanas vista no se pueden producir y hay retrasos en la entrega.

Esto puede causar que pierdas a tu cliente porque vas a pararle las líneas de ensamblaje o le vas a obligar a comprarle a otro. Si pierdes tu cliente pierdes facturación y vas a tener que empezar a recortar gastos. Si recortas gastos, vas a tener que despedir a gente.

El cliente lo requiere

¿Por qué arrancan entonces? le pregunté a Mariana. “El cliente lo requiere” me dijo. Esa frase me la grabé a fuego. “El cliente lo requiere”. Esa frase fue la que me hizo trabajar fines de semana y en horarios fuera de mi jornada laboral.

¿Sabes por qué el cliente lo requería?

Lo requería el project manager global de implementaciones de todo el grupo del cliente. Cuando estás tan arriba los bonus por arrancar un proyecto son muy jugosos. El cliente lo requería porque el project manager global lo requería. El ritmo de fábricas que arrancaban era frenético. Iban a 3-4 fábricas por mes.

Esta es la realidad de muchos proveedores de software o altos ejecutivos a cargo de proyectos tecnológicos. Los bonus que deberían incentivar a la faena bien hecha se convierten en justificaciones monetarias personales para arrancar proyectos que no están preparados.

Dentro del fuego

El proyecto arrancó. El primer día fue tranquilo. El cliente tenía un montón de dudas y no sabía por dónde empezar.

El segundo día fue el absoluto caos. Estaba en la sala de reunions para reportar cómo estabamos solucionando los problemas. Escuchamos el rudio de un helicóptero. Cada vez se hacía más patente el ruido y algunos curiosos como yo salimos a ver qué era.

El cliente tenía tal follón en su ERP y en operaciones, que vino un helicóptero a llevarse piezas de coche. Su cliente iba a romper stock e iban a pararle las líneas de ensamblaje.

Si esto ocurre en automoción, es muy probable que el cliente te pida explicaciones. Y así fue. Tercer día y el cliente estaba supervisando en la fábrica qué estaba pasando. Con una situación tan tensa, es muy probable que si no se soluciona ya, el año que viene ya no vas a ser su proveedor.

A trabajar

Los siguientes 12 días vinieron turnos rotativos durante dos semanas. Querían 24h gente de la empresa dónde trabajaba. En mi departamento eramos sólo 2. El rotativo fue:

  • primer día: 8h mañana de trabajo, 8h tarde de descanso y 8h noche de trabajo.
  • segundo día: 8h mañana de descanso, 8h tarde de trabajo y 8h noche de descanso.

Así hasta completar 12 días. Te vuelves zombie y vives para trabajar. El cliente lo requería.

Eustaquio II

Después de trabajar fines de semana y en horarios fuera de mi jornada laboral, tocaba ajustar cuentas con Eustaquio II (el jefe de mi jefe). Sabía que con Eustaquio II(de aquí en adelante Eustaquio) había que tener todo bien atado.

Eustaquio es de esos profesionales que sabe de gestionar proyectos. No le pidas que sepa gestionar personas. Su dogma es el diagrama de Gantt. Vive en una especie de reino dónde todo se puede planificar y controlar. Las personas son tiempo y el tiempo es dinero.

Este tipo de rol es necesario en las empresas. El único problema que tengo es que mi tiempo libre, es mi tiempo. No es de Eustaquio, ni del cliente, ni del proyecto. Es mío.

Jornada extraordinaria

Antes de irme a trabajar a Michigan, le pedí a Eustaquio que quería un anexo a mi contrato laboral. El tiempo que trabajara fuera de mi jornada laboral debía ser retribuido. A Eustaquio no le gustó, pero RRHH se portó muy bien. Firmamos creo que una jornada extraordinaria de 15 días de duración.

Me dieron un total 10 días de vacaciones adicionales. Cuenta que cada día representa 8h de jornada adicional.

El bueno de Eustaquio sabía de proyectos y me regateó bastantes días. Imagínate el cabreo monumental que me entró. Me argumentó que las noches ni los fines de semana se podían contabilizar a 1,75 días por cada día trabajado. Era jornada extraoridnaria con un papel de por medio.

Ahora con perspectiva, me doy cuenta de que Eustaquio era un trilero. Había aceptado firmar un papel para luego jugar con las normas del papel. Bien jugado Eustaquio. Bien jugado. Las noches al final me las comí con patatas.

Ya basta

De fuego en fuego

Al cabo de una semana de todo este follón, resulta que el compañero de otro equipo que trabajaba para el mismo cliente se hace daño en la pierna y va a trabajar desde casa.

El mismo cliente va a arrancar en 1 mes otra fábrica en Alemania. El cliente lo requiere. Iba a ir mi compañero pero como estaba lesionado, me tocó a mí.

En 3 semanas aprende qué están haciendo en el proyecto nuevo y cómo se va a arrancar. El nivel de estrés de mi nuevo equipo era bestia. Roberto mi nuevo team lead había bajado en 2 meses 5kg por culpa del estrés.

A trabajar

En Alemania estuve 1 semana. Aquí no hice ni noches ni fines de semana. Eso sí las jornadas de 8 de la mañana hasta las 5 de la tarde que no faltaran.

Luego a seguir picando código en el hotel hasta las 11 de la noche. Se me olvidó hacerle una foto a la cafetería del hotel con el portátil. No era tan guay como en las redes sociales.

A la segunda semana me negué a seguir trabajando en cliente. No podía más. No podía seguir trabajando fines de semana y en horarios fuera de mi jornada laboral.

Estaba muy quemado. Cuando pasas tantas horas con tanta tensión delante de un ordenador, te das cuenta de que no es sostenible. No es sostenible trabajar en un proyecto en el que el cliente lo requiere.

Vas a dormir y sigues pensando en todo lo que va mal y sigues trabajando en tu cabeza. Te despiertas y sigues trabajando. Ese tiempo que deberías dedicar a ti mismo, a tu familia, a tus amigos, a tu pareja, a tus hobbies…lo dedicas a trabajar.

Revisión salarial

Llegó la revisión salarial y como suele pasar en la gran mayoría de compañías fue una broma. Los Juniors que entraban cobraban más que yo. Me enseñaron a que todo esfuerzo tiene su recompensa. Así lo había aprendido en casa y en la universidad. En este caso no fue así. Me sentía fuera de lugar y me entró mucha rabia.

Decidí comentarlo con Roberto mi jefe directo. Roberto me dijo que no podía hacer nada de forma muy empática. Había hablado con…¡Eustaquio! El pastel ya estaba repartido y por temas de presupuesto no podía hacer nada.

¿Es broma, no, Roberto? le dije. ¿Sabes a cuánto se cobra nuestra hora, no? La normal va a 100 €…

“Ya, tío”, me dijo Roberto. Estoy cansado de que la gente que entra se me vaya en 2 años. Ya no sé cómo decirlo. Esto acaba siempre que la gente se quema y se va cuando fuera ofrecen 3000€ más.

La respuesta de Roberto me tranquilizó. Me di cuenta de que no era el único que estaba quemado. La rabia se convirtió en aceptación. Acepté que no podía hacer nada.

Reflexión

Al cabo de las horas me entró rabia. Estaba enfadado. Se me había ido la rabia y había vuelto. Estaba muy cabreado. Tanto esfuerzo para nada. Se están riendo de mí.

Con perspectiva del tiempo y trabajo personal de todos estos años, me doy cuenta que quien estaba herido era mi ego. Habían herido a mi niño pequeño interior de 7 años.

Mi niño pequeño de 7 años se esforzaba en la escuela. Una de las muchas razones por las que me esforzaba en la escuela era para que me dieran buenas notas.

Con ese reconocimiento en forma de buenas notas, contentaba las personas que me rodeaban. Aliviaba la carga de mi madre. Me sentía bien conmigo mismo.

El problema fue mío. Me di cuenta de que estaba proyectando mis emociones en la empresa y todos sus elementos. Estaba proyectando mis emociones en Eustaquio, en el cliente, en el proyecto.

Por contentarlos a ellos, me olvidé de mí. Ni Eustaquio representa a mi padre, ni el cliente al profesor, ni el proyecto a la escuela.

Sal de ahí

Tal era mi situación en 2017 que empecé a buscar trabajo. Mi rabia y descontento hizo que pusiera cara a la programación. Proyecté mis emociones a algo tangible. Personofiqué a la programación en la imagen de la empresa en la que trabajaba.

Para hacerlo fácil metí en un saco a la programación, la rabia y el descontento. Relacioné la programación con Eustaquio y el cliente que lo requería.

Decidí que no quería seguir programando. No quería seguir en la industria de IT. Me daba igual si había veces que me lo pasaba bien programando. No quería seguir. A esto a día de hoy se le llama burnout.

Años más tarde, he descubierto que el proceso de rabia y aceptación no es inmediato. El precio a pagar es el dolor. Una vez has quemado esa rabia te das cuenta que luchas contra la realidad.

Luchas contra ti mismo. No aceptas la realidad. Una vez aceptamos la realidad, ya no sufrimos. Hemos aceptado la realidad tal y como es.

Reencuentro con la programación

Encontré otro trabajo cegado por la rabia en una empresa de automoción para ayudar a gestionar el ciclo de vida de un coche que iba a salir en 2 años. Pintaba muy bien. La realidad es que me metieron con calzador a hacer powerpoints y excels…

Después de 4 meses de power points y excels, empecé a echar de menos la programación. Intenté automatizar mis tareas con VBA. Propuse a Eustaquia que podríamos automatizar las partes más tediosas de nuestro trabajo. ¿Eustaquia?

Eustaquia

Eustaquia era mi jefa. Le preparaba los power points que luego ella presentaba.Se esforzaba en hacerme saber que no sabía hacer power points. A Eustaquia se le daba mejor maquillarlos. Especialmente, quitar mi nombre y poner el suyo en todas las diapositivas.

Las nuevas ideas no convencieron mucho a Eustaquia y me soltó: “No es necesario. Aquí siempre lo hemos hecho así…¿Has perseguido ya a la de parachoques?”.

Visto lo visto, decidí buscar trabajo. No quería seguir en un departamento dónde te dinamitan las ideas sin argumentar. Yo persigo ideas y sueños, no a la de parachoques que es 10 veces más persona que Eustaquia.

Lecciones Aprendidas

Lenguaje de programación equivocado

No me informé sobre el lenguaje de programación que iba a aprender. Ni siquiera sabía que habían más de un lenguaje de programación. Lo hice por desconocimiento.

Si buscaba por programador Progress 4GL no había ofertas. Si buscaba por programador Java, había muchas ofertas.

Me di cuenta que la cosa pintaba peor de lo que pensaba. No sabía programar en ningún lenguaje de programación demandado: Java, Python, C#…no sabía programar en nada de lo que se pedía en las ofertas de trabajo.

Era menos competitivo que el resto de candidatos simplemente por tener experiencia en un lenguaje de programación que no era demandado. Programar sí sabía. Pero no sabía programar en los lenguajes que se pedían en las ofertas de trabajo.

Sueldo alto de inicio

Un sueldo alto de inicio indica una posible bandera roja. Quizás puede ser que una empresa quiera atraer talento. Pero si no tienes experiencia previa en desarrollo de software y te ofrecen un sueldo alto, algo falla. La primera pregunta que deberías hacer es ¿en qué lenguaje de programación voy a trabajar?

Pueden tirar balones fuera diciendo que en la empresa tienen muchos proyectos y diferentes stacks tecnológicos. No te lo creas. Si no te dicen en qué lenguaje de programación vas a trabajar, busca otra oferta.

En etapas tempranas importa mucho tu día a día. Cuando tengas más experiencia podrás expandir miras y ser más flexible.

Si no es un lenguaje de programación demandado, vas a atarte demasiado a esa tecnología y tus opciones ahí fuera se limitan. Quitarte ese estigma creeme que cuesta. Es un palo tener que explicar una y otra vez que sabes programar pero no en el lenguaje que se pide. Genera desconfianza y te hace menos competitivo.

Entorno no web

Mayoritariamente había trabajado con aplicaciones de Escritorio y EDI (Electronic Data Interchange). Nada de web.

Para que te hagas una idea de los conceptos que desconocía después de casi 3 años de experiencia por no trabajar en web:

  • No sabía qué era una API REST.
  • No sabía la diferencia entre frontend y backend.
  • No sabía el concepto de framework.
  • No sabía qué era un IDE. Programábamos con una especie de NotePad++.
  • GIT eran los padres.

No conocer que es una API no es un pecado. Pero si llevas 3 años de experiencia encima y no sabes qué es una API, algo falla y saltan las alertas en las entrevistas. No es culpa de nadie pero es algo que una nueva empresa no va a querer asumir.

Código Legacy

Trabajar con código legacy es un lastre. Están en versiones antiguas, inseguras, sin soporte y sin tests. Da igual el lenguaje de programación. El código legacy es un lastre que te va a hacer menos competitivo.

En Java, el código es del tipo que aún sigue en versión 8 de Java y que no tiene tests. Siguen con código de las librería awt y swing. Su tomcat ya es medio gato medio perro, de tanto parche que le han metido.

Entender el mercado

Desde la divulgación tecnológica nos esforzamos en que lo importante es que entiendas los conceptos y no el lenguaje de programación. La realidad es que si no sabes programar en su stack tecnológico, no te van a mirar ni el CV.

Con Progress 4GL sabía de esos conceptos que decimos los que divulgamos que importan:

  • Entendía la programación orientada a objetos.
  • Bases de datos.
  • Importancia del testing.
  • Diferenciar Agile de Fake Agile.

Sin embargo, no sabía programar en Java, ni C#, ni Typescript. No sabía programar en ningún lenguaje de los que se pedían en las ofertas de trabajo.

Eustaqui@s

Te dejo algunas pistas para que puedas detectarlos:

  • No te deja proponer ideas
  • No te deja equivocarte
  • Se hace suyo tu trabajo
  • Proyecta sus limitaciones en ti
  • Se justifica con “el cliente o el proyecto lo requiere”

El tiempo me ha hecho ver que el problema no era la programación. L@s Eustaqui@s son un problema en cualquier profesión. El mayor error es no plantarte a tiempo ante ellos y decirles que no.

Tu tiempo, tu energía y tu salud mental son lo más importante. Estos personajes pueden hacer que te sientas mal contigo mismo. No lo permitas. Si detectas a un Eustaqui@ en tu cadena de mando más cercana, busca ayuda en RRHH o en tu superior para un cambio de proyecto. No tengas miedo. Si no te hacen caso, busca fuera.

Te sugiero que busques en la mochila interna que quizás lleves. Ahí pueden estar las respuestas como las que yo encontré al mirar en mi interior. Quizás podrás descubrir que estás proyectando tus emociones más primerizas en el ámbito empresarial.

Saber decir que no

No es sostenible trabajar en un proyecto en el que el cliente lo requiere o trabajar fines de semana y en horarios fuera de tu jornada laboral. A todo eso personalmente le digo que no.

Si le digo que sí es con una remuneración acorde a lo que se me pide. Si no, no. Y el límite de jornadas extraoridnarias lo fijo yo. Ni el cliente, ni el proyecto, ni Eustaqui@.

Saber decir que sí

En tu día a día, lo más seguro es que no llegues a un extremo como el que llegué yo o muchos otros compañeos que he ido conociendo. Si un día te quedas un rato tampoco pasa nada.

Eso sí, si cualquier día llego 30 minutos tarde, no me lo recrimines ni me mires mal. Y si bajo a hacerme el café, no mires el reloj cuando vuelvo con mi equipo.

  • Trabajo
  • Desarrollo
Compartir: