Zahoribo: la cara ‘B’ del desarrollo de un proyecto personal

Manu Pijierro
9 min readJul 29, 2020

Hace varias semanas que presenté Zahoribo y desde entonces, por unos u otros canales, no han dejado de llegar enhorabuenas, felicitaciones, vítores y aplausos variados por parte de conocidos y desconocidos. Y eso está bien, me alegra enormemente que haya tenido tan buena acogida. Además, el 19 de Junio El Periódico Extremadura publicó un artículo sobre Zahoribo que impulsó esa ola anterior de felicitaciones, palmadas en la espalda y enhorabuenas que me han rodeado en los últimos días. Días de vino y rosas que dicen algunos.

Pero ya basta, este artículo no va de tirar más flores. Todo lo contrario, hoy me gustaría escribir sobre esa cara “B” de los proyectos personales. De lo que esconden, del coste personal y profesional que conllevan y que no siempre es tan positivo como pudiera parecer.

Seguramente mucho de lo escrito puede resultar muy de Captain Obvious pero os puedo asegurar que cuando uno se mete en un jaleo así se hace difícil establecer la frontera entre lo asumible y lo inasumible.

Así me he sentido escribiendo algunas partes de este artículo

El tamaño sí importa

Que no te engañen los que dicen que no. El tamaño (o alcance) del proyecto importa, y mucho, sobre todo si es una única persona la que desarrolla y la que se ocupa de todo, como suele ser lo normal en proyectos personales.

A mí personalmente Zahoribo se me ha hecho muy extenso en todos los sentidos, demasiado, a veces hasta pesado. Pensar y programar todo el back y todo el front incluyendo ‘el javascript, el diseño, el responsive y la usabilidad’, gestionar y administrar los servidores, configurar el motor de búsqueda, investigar sobre los boletines, programar todo el indexado diario…etc etc etc. Demasiadas áreas para una sola persona y demasiado complejas algunas de ellas como para conocerlas y llevarlas a cabo correctamente. Al final, uno termina conformándose con hacerlas de forma que no dé mucha vergüenza ajena cuando vean la luz.

Si vas a llevar a cabo un proyecto personal, valora y mide el alcance de tu proyecto o al menos de aquella parte que quieras terminar primero. Valora también buscar compañeros de viaje. Gente que te ayude, que te apoye, que resuelva y si puede ser que conozca áreas que no tú no domines.

¡Ah!, y aunque resulte obvio, piensa bien las característica que te gustaría incluir en la primera versión. Cualquier funcionalidad por pequeña que creas que sea siempre se hará más larga de lo calculado en un primer momento. Hay que dedicar tiempo a pensarla, diseñarla para que más o menos encaje en el diseño de forma decente, programarla, probarla..corregirla…reprogramarla si fuera necesario…etc., a mí me ha pasado varias veces. Hay funcionalidad que una vez terminada la tirado a la basura porque no me convencía.

En resumen, personalmente, a día de hoy creo que no volvería a llevar a cabo un proyecto con un alcance medio-grande como Zahoribo de forma solitaria. A día de hoy considero que estaría desarrollada más o menos hasta la mitad de la plataforma de todas las ideas que tenía en un principio. Y ojo, únicamente estoy hablando del proyecto desde el punto de vista técnico, es decir, realizando trabajos para la solución técnica del problema. Si además añadimos tareas de negocio relacionadas con intentar crear un producto…eso ya si que, al menos para mi, se presenta como una tarea imposible para una sola persona dentro del concepto de proyecto personal.

La presión del fullstack

El término “fullstack development” cada vez me genera más estrés. Si hay alguien que no lo conoce le dejo esta búsqueda de Google. Cualquier enlace de los aparecidos explicará más o menos el mismo concepto.

No sé cuáles serán las expectativas de la mayoría cuando piensa en el término fullstack pero yo personalmente veo muy complejo saber y ser bueno en todo. La tecnología, los lenguajes, los frameworks, las herramientas…etc., cambian y evolucionan tan rápidamente que me parece increíble poder estar al día y desarrollar con solvencia en cualquiera de los ámbitos referidos.

En mi caso con Zahoribo, he lidiado con las muchas áreas de conocimiento que engloban un proyecto así pero reconozco que, por ejemplo, las he pasado canutas con parte del diseño y de la gestión de los servidores. Son áreas en las que me defiendo a base de googlear y stackoverflowear mucho…pero yo no me atrevería a poner en mi currículum que soy fullstack. Ni la vida ni la mente me da para tener tanto conocimiento.

Libros y tutoriales

Aún así, en un intento por hacer las cosas lo mejor posible e intentar mejorar mis áreas de conocimiento para el desarrollo de software en general y Zahoribo en particular, me he leído el famoso libro de usabilidad “No me hagas pensar” de Steve Krug. Sobre el motor de búsqueda me leí su documentación y el libro de Sphinx Search, Además, seguí el curso de Javascript del canal de Ada Lovecode y varios vídeos con tutoriales sobre CSS, Bootstrap 4 y CSS Flexbox. La verdad que ha sido enriquecedor.

Para terminar este apartado me gustaría mostrar mi admiración, respeto y reconocimiento para todos ellos que de verdad sean desarrolladores fullstack.

Dedicación: horas, horas…y más horas

Ni siquiera sé cuántas han sido exactamente, pero han sido muchas. Diría que demasiadas. Diría, incluso, que si hubiera llevado un control exacto del tiempo dedicado probablemente habría tirado la toalla hace tiempo y creo que nunca hubiera terminado Zahoribo. Digo que son muchas teniendo en cuenta que es un proyecto personal, que puede que no me dé nada o solo disgustos en el peor de los casos.

Seguro que voy a decir otra obviedad pero hay que tener en cuenta que los proyectos personales salen del tiempo libre de cada uno. Y tiempo libre significa sacrificar tiempo de familia, tiempo de ocio personal o tiempo de descanso. En mi caso han sido muchos días de muchas semanas levantándome a horas intempestivas para dedicarle al menos una o dos horas diarias aumentando esta cantidad los fines de semana. He sacrificado mucho y ahora mismo estoy en un punto en el que no sé si he hecho bien o mal.

Es difícil justificar de forma continuada durante semanas o meses en el entorno familiar o en el círculo de amistades, el tiempo dedicado a un proyecto sobre cuyo final recae una alta incertidumbre. Soportar la presión no es fácil y hacer entender a personas no relacionadas con el mundo del software que a veces programar puede ser también un hobbie puede resultar bastante complicado…y cansado.

…si hasta la redacción de este artículo me ha llevado fácilmente algo más de cuatro horas…

Una línea de meta cada vez más lejos

El paso del tiempo hace que los proyectos personales parezcan no tener fin. Lo que al principio veías asumible y cercano vas notando que con el paso de las semanas todo se complica y el objetivo se aleja. Lo difícil sigue siendo difícil y lo fácil se convierte en difícil, eso es así.

El paso del tiempo hace que asalten todo tipo de dudas personales y profesionales. ¿Estaré haciendo bien?, ¿conseguiré terminarlo?, ¿quedará algo decente o será una chapuza?, ¿valdrá la pena el tiempo invertido?…Todas estas dudas y muchas otras surgen conforme avanza el tiempo de desarrollo. Dudas que se vuelven más intensas cuando, por ejemplo, llegas a callejones sin salidas y tienes que reprogramar algunas partes de la aplicación o te das cuenta que has recorrido un camino equivocado y toca seguir invirtiendo más tiempo. A veces pasa y frustra mucho.

Ilustración perfecta de lo que es un proyecto personal

El paso del tiempo hace que la motivación decrezca. Recuerdo las primeras semanas, estaba deseando tener un rato libre para dedicarle al proyecto. Sin embargo, ha habido semanas en las que realmente se me ha atragantado y no encontraba ni la motivación ni la fuerza mental suficiente para programar en él. No ver resultados a corto plazo y de manera continua facilita la pérdida del interés y la motivación y, por lo tanto, es difícil mantener la intensidad y la concentración en un proyecto personal a largo plazo.

El paso del tiempo hace que transites por rachas positivas y negativas de ánimo respecto al objetivo marcado. Supongo que como todo en la vida, en un período largo de tiempo, da tiempo, valga la redundancia, a pasar por épocas positivas en las que todo marcha bien y ves la salida del túnel y épocas negativas, en las que te preguntas ¿qué ******* estoy haciendo con mi vida?

El perfeccionismo es otro enemigo que aleja la meta. Creo que ser demasiado perfeccionista puede hacer que conviertas un proyecto personal en algo infinito. A poco que te lo propongas, seguro que siempre encuentras motivos para dedicar más tiempo a mejorarlo. No seas tan exigente y busca un punto intermedio que te ponga entre lo perfecto e imperfecto y lo finito y lo infinito. Seguro que lo hay.

Por último, si estás desarrollando un proyecto personal y te encuentras en alguna fase de estas…mucho ánimo, de todo se sale :) …ya llegarán tiempos mejores. No te fuerces y descansa.

Síndrome del impostor

A continuación, dos párrafos muy personales.

Creo que cuando alguien presenta un proyecto propio al resto del mundo en cierto modo es un salto al vacío en el que queda expuesto de forma personal y profesional. Ese salto da vértigo, la verdad. En esos días previos a la presentación es fácil dejarse llevar por pensamientos del tipo “vaya chapu me está quedando”, “esto no va a ir bien”, “seguro que se cae”, “el diseño se verá mal”, “que vergüenza”, “otros lo harían mucho mejor”, “todo funcionará mal”, “¿cómo vas a enseñar esto?”…etc. Lo peor de estos pensamientos es el desgaste que produce protegerse uno mismo de sus propios pensamientos. Es curioso, pero es así. Supongo que tengo una idea bastante asumida de que todo el mundo sabe mucho de todo y yo mucho de poco y/o incluso poco…de poco, en comparación con el resto.

Pero, una vez superado ese salto al vacío anterior, por suerte y en mi caso llegan las enhorabuenas y los ‘cracks’. Es como irse al otro extremo, de pensar que todo va a salir mal a parecer que todo es perfecto gracias a que uno es un “crack”. “Eres un crack”, “vaya crack”, “menudo crack”…¿yo?, ¿seguro?, ¿has mirado bien?, ¿crack yo?, ¿de verdad?. Y es justo aquí cuando aparece el síndrome del impostor con más fuerza. Honesta y sinceramente no creo que sea ningún crack ni por este proyecto ni por ningún otro. Que va. Ni por asomo. Ni en sueños. Yo me conozco, sé dónde están mis límites y hasta dónde llegan mi conocimiento y experiencia. No sé que tipo de expectativas ha generado todo esto sobre mí en lo personal y en lo profesional pero sí sé que no deberían ser nada especiales. Me da cierto reparo que algún día no pueda cumplir con estas expectativas que se han generado en torno a mi persona como profesional por el éxito, mayor o menor, siempre relativo, que puedan tener proyectos como Zahoribo.

A fin de cuentas, yo lo único que hago es dedicarle mucho tiempo a la programación, que me gusta mucho, y ya está, tampoco tiene, ni tengo, mucho más misterio. Así que ‘vamo a calmarno’.

Como dijo Sócrates:

Solo sé que no sé nada

La corona de espinas

Desarrollar y finalizar un proyecto personal de programación con “éxito” (lo entrecomillo porque el significado de éxito es bastante subjetivo y depende de cada uno), es algo así como colocarse una corona de espinas. Te coronas, si, pero ojo a las marcas y las consecuencias que deja. El tiempo, el esfuerzo, los pensamientos, las dudas,…son espinas de esa corona que tienes que aprender a sobrellevar de la mejor manera posible. Tras el “éxito” que pueda tener un proyecto de este tipo, hay un coste personal y profesional muchas veces oculto e infravalorado que desgasta mucho al programador y a su entorno.

Pero si llegas al final te alegras y el pensamiento de que todo ha merecido la pena gana lugar en tu mente. Y al final llegas sobre todo porque no queda otra, porque no hay plan ‘B, porque sacas fuerzas y ánimo para continuar, porque lees, porque te documentas, porque pruebas y lo intentas una y otra vez y sobre todo porque tienes un objetivo y un compromiso que cumplir contigo mismo y, además, porque llega el momento en el que te encuentras en un punto de no retorno en el que sabes que ya no hay marcha atrás y solo queda continuar y terminar. Y también porque en el camino aprendes mucho y aprender es bonito. Y también porque te das cuenta que tu proyecto ayuda a la gente y construir cosas para ayudar a los demás también es bonito.

No quisiera terminar sin enviar un fuerte abrazo y un recuerdo a todos esos programadores y sus respectivos proyectos personales que se quedaron a medias y no vieron la luz. Zahoribo también va dedicado a vosotros.

Y hasta aquí esta reflexión sobre lo que puede suponer llevar a cabo un proyecto personal. Cómo siempre, cualquier comentario, duda, sugerencia y/o corrección son bienvenidos. Gracias por llegar hasta aquí.

¡Chimpún!

Créditos

--

--