Es habitual oír en los mentideros del sector cómo los programadores se quejan de lo mal pagados que están y cómo les explotan las cárnicas. Queja que entiendo en parte, porque yo también fui una vez un programador contratado en precario por la subcontrata de la subcontrata de la megaconsultora (la difunta Andersen Consulting). Pero ahora sé que es inevitable que los programadores estén mal pagados, sean o no sean buenos.
Para entenderlo, basta con que te des una vuelta por la zona turística de tu ciudad y veas la oferta de los restaurantes. Con toda seguridad, la inmensa mayoría ofrecen un menú con un precio muy similar y basado en platos “típicos”. Tú sabes que apenas unos centenares de metros más lejos hay restaurantes más baratos, mejores y más auténticos, y te preguntas por qué los turistas insisten en ir a los malos restaurantes.
Lo que sucede, y os habrá pasado cuando habéis sido vosotros los turistas, es que tienes muy poca información acerca de la oferta gastronómica del lugar. Cada vez más hay quien busca en Internet, pero una buena crítica online no garantiza nada. Y por otro lado, tampoco tienes incentivos para dedicar muchas horas a analizar la oferta, porque ese tiempo prefieres dedicarlo a conocer el lugar. Así que miras tres o cuatro sitios, compruebas que el precio no es muy diferente y te metes en el que te convence un poco más que el resto. Tu comportamiento, y el de otros miles de turistas poco selectivos, presiona a los restaurantes para ofrecer comida de calidad justita a un precio casi estandarizado.
Con la oferta de “desarrolladores por horas” sucede exactamente lo mismo. El cliente no tiene ninguna manera de saber a priori si el producto (es decir, tú) será bueno o malo. No sirve la reputación de la empresa, porque no hay diferencia apreciable entre los programadores que provee Consulting Megacorp SA y los programadores que provee Desarrollos Paco SL. De hecho, es normal que los programadores de Desarrollos Paco aparezcan subcontratados en proyectos de Consulting Megacorp. Tampoco el precio sirve como referencia, porque el abanico de precios es muy corto. Consulting Megacorp tiene una sede fastuosa, comerciales perfectamente trajeados y directivos con sueldos estratosféricos, pero eso lo paga con proyectos de cientos de programadores, no cobrando tres veces más.
Y no cobra tres veces más porque no quiera hacerlo, sino porque ningún cliente se lo va a pagar. Entre otras cosas, porque el cliente no es tonto y sabe que de cada tres programadores que le vienen de Consulting Megacorp uno es un principiante, otro un torpe y el tercero un subcontratado de Desarrollos Paco, y no está dispuesto a pagar una fortuna por ese elenco de estrellas.
¿Podría entonces una empresa hacerse un hueco en el mercado ofreciendo programadores de calidad, al precio al que hay que cobrarlos? Es decir, puede una empresa pagar sueldos de 50.000€ e ir a los clientes diciendo, “te ofrezco programadores realmente competentes, con 5 años de experiencia, pero tienes que pagarme 15.000€ al mes en lugar de 6.000. Recuerda que según todos los estudios un buen programador es 5-10 veces más productivo que uno malo.”
Pues no, no podría. Porque también por el lado del cliente actúa el efecto “restaurante turístico”. Cuando el cliente subcontrata programadores “al peso”, es porque los proyectos a los que los destina no son críticos. Normalmente los tiene un tiempo prolongado, con lo que se van formando sobre la marcha, y acaban con una productividad decente para lo que cuestan. No le compensa asumir el riesgo de pagar mucho más por un beneficio que no sabe si realmente va a obtener.
Para los proyectos realmente críticos, o bien cuentan con personal propio, experto en su campo, o bien contratan el proyecto, no horas de programador. Es decir, si realmente necesitan expertos, lo que hacen es trasladar el riesgo del proyecto al proveedor: “necesito un sistema que haga X para dentro de N meses. Si no hace X para dentro de N meses, no cobras”. Como hay riesgo, hay beneficio. Y entonces el proveedor sí contrata programadores a los que paga bien para que hagan un buen trabajo a tiempo.
Por tanto, para salir de la rueda de las cárnicas, lo único que puedes hacer es:
- Dejar pasar el tiempo. De esta manera, o bien te echan de la empresa o bien te consideran un senior y pueden facturar algo más por ti (y pagarte un poco más). En cualquiera de los dos casos, ya no eres el último mono.
- Formarte y especializarte. Si la empresa solo te da cursos de Java, serás como otros miles de programadores iguales a ti, de modo que procura especializarte en algo, a ser posible algo con demanda. Bien formándote por tu cuenta, bien buscando que te coloquen en proyectos punteros.
- Hacer lo anterior y establecerte como freelance. Si realmente eres bueno, y tienes poca competencia, no tienes por qué dejar que otros se lleven todo el beneficio. Puedes eliminar un nivel de subcontrata, y ganar bastante más por hora.





