No suelo escribir mucho y cuando lo hago trato de que sea algo útil para quien me lea. Algo que responda alguna duda, que ayude con algún problema… Esta vez escribo para desahogarme, para cuestionarme algunos temas que consideraba más que zanjados y para ver si escribiendo un poco pongo en orden mis ideas.

Tampoco es que sea un perro viejo en este mundillo, mi vida laboral se remonta a unos 6 años y pico. Pero en este tiempo he tenido la suerte de pasar por al menos 7 empresas. He trabajado en un montón de proyectos, algunos los he empezado yo, otros he tenido el placer de continuarlos y otros la mala suerte de conocerlos.

Voy a hablar de este último grupo de proyectos. Esos proyectos horrendos de esos que harían vomitar a una cabra. Me gustaría hablar de como se llega a esa situación y quien la promueve, quien la permite…

¿Quién de vosotros se ha encontrado con un proyecto tan mal hecho que no hay por donde cogerlo?

A los que habéis tenido la suerte de coincidir en el tiempo y espacio con los desarrolladores originales seguro que os suena este tipo de excusas:

“Es que había unos plazos muy ajustados y teníamos que decidir entre hacerlo mal o no llegar”…

“En este momento no podemos perder el tiempo automatizando tests”…

“Ahora mismo no tenemos tiempo de pensar en eso”…

“Es que tenemos que ser ágiles”…

“blah blah blah… bullshit bullshit bullshit”…

En la mayoría de los casos lo que yo pienso es: “En Software, hacer las cosas bien no es ni más caro ni más lento. La cuestión está en saber hacerlo o no saberlo”. Yo escribo muy rápido. Escribir el código no es el problema. Ni siquiera crear 5 clases más o menos (los ides hacen casi todo el trabajo por ti). En mi día a día me encuentro con problemas del estilo de

  • ¿cómo llamo a esta clase?
  • ¿donde está el equilibrio entre lo que necesito ahora y lo que necesitaré en el futuro?
  • ¿cómo puedo probar esta funcionalidad?
  • ¿cómo pongo esto en producción?, y ¿cuanto tardaré en desplegar?

En definitiva, mi día a día es diseño y gestión de configuración, además de ponerle mimo a mi trabajo.

Me gusta mucho lo que hago y trato de aprender algo nuevo cada día. Cuando llego a casa procuro leer un rato, procuro programar y aprender nuevas tecnologías. Deliberadamente he decidido no especializarme en nada a costa de poder tener una visión más global de todo el proyecto para el que estoy trabajando.

Hasta aquí todo bien. Yo soy un empollón y entiendo que otra gente no lo sea, pero el conflicto viene en el momento en el que te ves en la tesitura de comerte todos los marrones que otros van generando.

Si tienes suerte, en tu entorno (tus compañeros, responsables, etc) valora tu esfuerzo y lo agradece. Llegado ese punto disfruta lo que tienes y arregla todo lo que te dejen arreglar. Siendo justo me siento muy arropado por todos mis compañeros y eso me anima a seguir intentando mejorar.

Pero no siempre es así. Como parte de mi personalidad de alguien que se preocupa por su trabajo, si pienso que algo es inviable o simplemente no entiendo la razón por la cual se hacen las cosas, mi primera reacción es cuestionarlo, expresar claramente mi opinión, o llegado el momento decir que eso no es viable y que no lo puedo hacer. Aquí es donde empieza el problema gordo. Si tienes a uno de esos generadores de entropía (generalmente tirando a incompetentes) es muy probable que te veas en la situación en la que tu querido compañero se ofrecerá a hacerlo, en menos tiempo, más barato y sin cuestionar lo más mínimo. Entiendo que para un jefe es una postura muy cómoda esa de tener a gente con la actitud (con C). Es gente que dice que si a todo. De estos que no temen a nada, en general porque desconocen las implicaciones de cualquier cosa. Y en general tratarán de hacerte sentir mal porque estás parando el desarrollo de negocio. Estas imposibilitando esa oportunidad única de forrarte.

Lo que los jefes incultos no entienden es que cuando tratamos de negociar con el alcance del proyecto para no prescindir del mínimo de calidad no es por capricho ni por joderles. Que si nosotros fuéramos capaces de hacer lo que hace Google o Twitter o Facebook en una semana, lo haríamos. Pero que las cosas llevan su tiempo.

O siendo más directo… estoy cansado de ser el que queda como un energúmeno por intentar hacer comprender que las expectativas del jefe de conquistar Silicon Valley no son realistas. Que tenemos que ir paso a paso y construir una buena base para que SU negocio perdure. Que las ventanas de oportunidad no son tan justas como ellos piensan (salvo en contadas ocasiones) y que no hace falta tener un producto perfecto para poder lanzarlo y validarlo. Pero si tienes que tener un producto robusto para poder ampliarlo y virarlo en la dirección que te indique el mercado.

También me cansa escuchar el razonamiento (por llamarlo de alguna manera) ese de que

“nos hemos gastado mucho dinero en esto así que tiene que estar si o si”

o el clásico entre los clásicos de

“es que los del equipo técnico no os preocupais por el negocio, nada más que os interesa programar”

Estoy cansado y me da coraje (por ser suave) de que llegue el listo de turno que no sabe hacer la O con un canuto sea el que que se apunta el gol, el que se lleva la fama, el que deja un proyecto de mierda y un legado de mierda y luego ser el tonto que tiene que arreglar el desaguisado. Tampoco es que yo sea especialmente bueno en mi trabajo, pero al menos le pongo cariño y muchas muchas horas de estudio. Pero me estoy planteando seriamente pasar de todo esto y ver que tal se vive sin preocupaciones. Diciendo que si a todo y viendo como otro se come el marrón*

¿tú que opinas?

*¡¡ni de coña!!