El mundo laboral del desarrollador. La pescadilla que se muerde la cola

Este fin de semana he estado pasando un buen rato con mis compañeros de la universidad. Hace años que salimos de allí, pero por suerte seguimos manteniendo el contacto a pesar de que la vida nos ha llevado por caminos distintos. Laboralmente los hay que están muy contentos, los hay que están tranquilos (que no está mal en los tiempos que corren) y los hay que están más quemados que la pipa de un indio.

En especial tengo un compañero y amigo, que está bastante cansado de la informática y que se ve dentro de un bucle sin fin. Los proyectos en los que cae son un asco. Como son un asco, tanto organizativamente como en tecnologías utilizadas, no acaba de aprender nada nuevo o útil. Como no progresa y no adquiere experiencia en tecnologías o metodologías nuevas, no puede dar el salto a proyectos mejores. La pescadilla que se muerde la cola. ¿Cómo salir de ahí?

De dónde venimos

Antes de pensar en alguna solución para salir de ese día de la marmota, me gustaría analizar por qué hemos llegado hasta esta situación. Cuándo digo hemos, me refiero al colectivo de desarrolladores de sofware, ya que el caso de mi amiguete no es, ni mucho menos, un caso aislado.

Bien, en España (no voy a opinar de otros países, porque no conozco sus problemas), la gran mayoría de empresas de sofware se dedican a los servicios. Estas compañías se encargan de contratar desarrolladores de sofware con experiencia en distintas tecnologías y plataformas. Despuésofrecen servicios de consultoría a otras empresas, conocidas como empresas cliente. Aunque el esquema organizativo de estas empresas puede variar, suele tener una estructura común: un gerenteque vende servicios al cliente; un jefe de proyecto que organiza, gestiona y es responsable del proyecto vendido; y uno o varios desarrolladoresque llevan a cabo el proyecto. Obviamente hay más roles implicados, como analistas o arquitectos, pero creo que más o menos se entiende.

En definitiva, una empresa cliente contrata a otra empresa proveedora de servicios de desarrollo de software, para que lleve a buen puerto un proyecto que no pueden (o no quieren) desarrollar con personal propio de la empresa. Esta forma de funcionar, que no es mala en sí, en España se ha viciado hasta límites peligrosos. Muchas veces las empresas consultoras no son más que empresas de trabajo temporal que contratan a un empleado para mandarlo a las instalaciones del cliente y llevarse la comisión correspondiente sin mayor preocupación. Esto ya depende del proyecto en el que el empleado caiga, pero muchas veces, al no ser empleado de la empresa en la que está cedido, es tratado como personal de segunda. Conozco casos así, aunque por suerte, nunca he estado en essa situación.

Luego está el tema de los costes. Un cliente paga X por un  proyecto sofware (X siempre tendiendo a 0). El desarrollador cobra una cantidad bruta Z, por lo que la empresa consultora siempre busca que esa cantidad Z, sea menor que  X. Cuánto mayor sea la diferencia mejor, porque así harán más dinero. ¿Cuál es el problema de todo esto? Pues hay muchos:

  •  A veces, los proyectos se llevan a cabo por gente poco preparada, ya que su coste es menor, aumentando el beneficio.
  • Si los proyectos se planifican mal, y se va con retraso en la entrega, la única manera de recuperar es a base de horas extras (no pagadas, claro).
  • Se utilizan tecnologías obsoletas estables para evitar problemas, ya que son, o han sido, tecnologías muy utilizadas.
  • En el desarrollo la calidad queda en segundo plano, porque es más importante que sea barato, y por mucho que digan en Lidl, la calidad, sí es cara.

Al final los programadores somos vistos como recursos. Sí, como impresoras, o memoria RAM. ¿Qué se ha roto un recurso (está enfermo)? Pues lo sustituimos por otro. ¿Qué los recursos no son suficientes? Pues metemos más en el proyecto. Si un desarrollador tarda tres meses, tres desarrolladores tardarán un mes. Claro, y si a una mujer le lleva 9 meses traer un niño al mundo, 9 mujeres lo harán en un sólo mes …

En fin, que cuándo te ves inmerso en ese mundo, es difícil salir.

A dónde queremos ir

Todo esto son opiniones personales, pero para salir del bucle infinito de la muerte,  veo varias opciones:

  • Cambiar de profesión. Solución radical y cortando por lo sano. Un huerto con lechugas o hacerte carpintero son algunas de las opciones.
  • Cambiar de rol. Si no te gusta ser programador en una consultora, cambia de rol. Puedes hacerte arquitecto, jefe de proyecto o incluso gerente. En mayor o menor medida dejarás lo de picar código.
  • Trabajar para el cliente final.
  • Montar algo por tu cuenta. Si no encuentras lo que buscas, invéntalo.
  • Cambiar de proyecto. Se trata de buscar el trabajar para una empresa con una filosofía similar a lo que estás buscando, qué te pague bien y que trabaje con proyectos punteros e interesantes.

Si os fijáis he ignorado la opción de emigrar a un país mejor. Es una buena opción, pero para la gente que ya tiene su vida en su país, con familia, hijos e hipoteca, muchas veces no es una opción factible. Además yo soy de los que piensan que esto se puede cambiar desde dentro, poco a poco.

En cuánto a las opciones enumeradas, personalmente la primera opción y la segunda no me gustan. Me gusta el mundo de la programación, y no me veo haciendo algo totalmente distinto. No quiero trabajar en otra cosa, pero tampoco quiero pasarme el día escribiendo documentos y moviendo líneas de tiempo en un Project.

La tercera opción es interesante si no quieres más complicaciones. En ocasiones hay clientes que necesitan programadores para realizar sus proyectos internos. Si la empresa es una multinacional, se suele vivir bien. Obtendrás muchos beneficios sociales y estabilidad a largo plazo. Lo malo es que lo que hacen suele ser sota, caballo y rey. Es decir, siempre lo mismo. Y las tecnologías que usan no serán ni mucho menos el último grito. Si algún día tienes que dejar una empresa así, probablemente tengas que reciclarte, porque tu experiencia estará algo anticuada. En mi opinión, la mejor opción para los conformistas.

La cuarta, es la opción ideal, pero muy difícil de llevar a cabo. Tan difícil que muy pocos lo consiguen. Intentarlo puede significar tu ruina financiera, aunque seguramente aprendas de lo lindo (aunque sea de temas legales).

Así que la última opción es la más interesante, sin correr riesgos financieros. Pero no es una opción fácil. En España hay pocas empresas de este tipo y encima las que hay, buscan a los mejores. Programadores preparados, con amplios conocimientos de programación, que tengan pasión por su trabajo y que estén dispuestos a vivir en continua formación. Gente a las que les guste lo que hacen y que siempre estén buscando maneras para hacerlo mejor.

Qué hacemos para llegar allí

En definitiva, que para que te contraten en una buena empresa, tienes que ser bueno. Así que:

  • Tienes que estar al día. Tienes que estar al día de las últimas tecnologías. No hace falta que las conozcas en profundidad, pero si te hablan de SignalRo aplicaciones SPAno pienses que están hablando de una nueva pasta de dientes y de aguas termales.  Para esto viene muy bien seguir blogs especializados o apuntarte a charlas dónde se hable sobre temas actuales. También hay que saber filtrar, que este mundo se mueve muy rápido. Lo que hoy es tendencia, mañana está olvidado.
  • Fórmate. Sí, probablemente terminaste una carrera, pero nunca está de más seguir formándote en cosas como programación orientada a objetos, estructuras de datos, programación funcional o seguir aprendiendo cosas de las 97 que todo programador debe saber. No te cierres las puertas aprendiendo cosas que solo te sirvan para tu trabajo. Trastea con otros lenguajes de programación o con otros paradigmas de programación. Manten viva la curiosidad.
  • Lee los clásicos. Code complete, The pragmatic Programmer o Clean Code pueden ser algunos de ellos. Pero hay muchos más. 
  • Participa. Enseña al mundo lo que sabes hacer. Invéntate un proyecto personal y publícalo en GitHub. Si no se te ocurre nada puedes buscar algún proyecto Open Source y colaborar con él. Hay muchos y para todos los gustos. También puedes ayudar a otras personas en foros como Stack Overflow o MSDN.
  • Certifícate. Sí, es cierto que una certificación no implica que sepas más o menos de una tecnología, pero de alguna manera tienes que demostrar a los de RRHHque sabes de algo. Ten en cuenta que la primera entrevista para conseguir un empleo, suele ser con alguien que no tiene conocimientos técnicos, por lo que será difícil convencerle de que eres un experto en C#, pero que lo has aprendido en tu casa. Cuándo pases a entrevistas más técnicas, ya podrás convencer al entrevistador con tu verborrea técnica.
  • Conecta. Con el auge de las redes sociales, es mucho más fácil seguir a personas con tus mismos intereses. Si eres un apasionado de MongoDB, puedes seguir a gente interesada en este tema. Puedes conversar con ellos aunque no los conozcas y poco a poco ir haciendo contactos.

En definitiva, un trabajo titánico. Pero al final, pero si eres perseverante, seguro que obtienes los frutos del duro trabajo. Nadie dijo que conseguir el trabajo de tus sueños fuera fácil, pero tu destino laboral depende principalmente de ti, así que si no te gusta, cámbialo. 



¿Quiéres que te avisemos cuando se publiquen nuevas entradas en el blog?

Suscríbete por correo electrónico o por RSS