DRY no es (sólo) lo que piensas

8 mins.
Tierra seca agrietada formando patrones. Foto de Micaela Parente en Unsplash

Seguramente DRY fuera una de los primeros principios de desarrollo de software de los que oíste hablar. Imagino que mientras programabas al lado de algún compañero copiaste y pegaste un bloque de código y éste te dijo algo así como: “¡Oye! Eso va en contra de DRY. No te repitas. Don’t Repeat Yourself!”. O viste un artículo en internet y, claro, con ese acrónimo tan pegadizo se te quedó grabado en el cerebro.

Y así venía a tu mente cada vez que veías el mismo código varias veces o tenías la tentación de copiar y pegar. Y así lo transmitiste siempre que viste una ocasión.

Así al menos fue para muchos de nosotros. Y al empezar a programar es genial tener reglas tan claras de lo que está bien y está mal, de lo que se debe y no se debe hacer. Pero según ganas conocimientos y experiencia te das cuenta de que nada es universal, correcto o incorrecto, blanco o negro. Que las líneas son difusas y que nada es tan fácil como parece, incluyendo DRY.

Hoy quiero escribir de por qué creo que DRY es mucho más de lo que habitualmente se piensa, y de que no trata de ti, no trata sobre repetir, ni siquiera se trata de código, y no siempre es “no”.

... Continuar leyendo

Despertando del País de las Maravillas

5 mins.
Conejo blanco en medio de la naturaleza. Foto de Hossam M. Omar en Unsplash

No sé cuándo cambió mi percepción del tiempo… Recuerdo ser pequeño y sentir que el tiempo pasaba muy despacio. Pensar en que faltaban meses para Navidad, para verano, para el inicio un nuevo curso con la oportunidad de empezar de cero. Meses para el próximo partido, para la próxima carrera, para que saliera ese nuevo juego, esa película que me apetecía ver, ese viaje de fin de curso. Recuerdo ir creciendo, cambiar etapas. Recuerdo mi último verano de verdad al acabar bachillerato, tan improvisado como inolvidable. Recuerdo empezar la universidad, llegar a ese lugar por explorar que era la facultad y presentarme a desconocidos que se convertirían en grandes amigos.

Me imagino que ahí es cuando empezó… En algún momento el tiempo pasó de ir despacio a acelerarse. Y es allí cuando lo vi por primera vez. Ese conejo blanco que sacó un reloj de su chaleco y empezó a decirme al oído una frase que me ha acompañado hasta hoy: “Llegas tarde, llegas tarde, llegas tarde…”

... Continuar leyendo

Pull Requests y otras herramientas de control

7 mins.
Pared llena de cámaras de seguridad. Foto de Lianhao Qu en Unsplash

Desde hace tiempo es recurrente el debate acerca de las Pull Requests en nuestro sector. Espero que sea sólo mi impresión, pero me parece que es la forma de trabajo que se ha impuesto en proyectos y empresas de todo tipo. Y es que, habiendo trabajado con y sin ellas, reconozco que es una forma de trabajo a la que veo muchos inconvenientes y me preocupan sus consecuencias a largo plazo.

Tengo la sensación de que, los que llevamos más tiempo en el mundo del desarrollo, hemos cambiado las normas del juego cuando a nosotros nos ha interesado. Cuando contábamos con más experiencia, lo que nos colocaba como gente más fiable a la hora de revisar, hemos decidido adoptar un sistema en el que se debe revisar todo el código que se escribe en el equipo. Y yo me pregunto:

  • ¿Hasta qué punto esto responde a una estrategia de control y no de trabajo colaborativo?
  • ¿A cuántos de nosotros nos han revisado cada línea de código que escribíamos cuando estábamos empezando?
  • ¿Qué hubiera pasado si así fuera? ¿Nos hubiera ayudado a mejorar antes? ¿O hubiera causado el efecto contrario, frustrándonos, quitándonos la confianza y afectándonos profesionalmente?

... Continuar leyendo

Pruebas técnicas y procesos de selección

10 mins.
Mujer concentrada anotando en un cuaderno con el portatil delante. Foto de J. Kelly Brito en Unsplash

Recuerdo perfectamente la primera vez que hice una prueba técnica hace 7 años, cuando buscaba mi segunda experiencia laboral después de una beca que se alargaba demasiado. Me sorprende a mi mismo recordar el nombre de la empresa, una empresa pequeña de un sector muy específico de la que nunca he vuelto a oír hablar y que seguramente no haya oído hablar casi nadie. En ese momento no era tan común. Me había inscrito a una posición de programador que tenían abierta, y la contestación fue un correo mandándome el enunciado de una prueba técnica y las instrucciones para realizarla.

Se trataba de implementar un modelo predictivo de la temperatura en base a unos datos históricos que adjuntaban. Recuerdo sentarme entusiasmado a resolverlo. Me habían contestado para hacerme una prueba, por lo que eso parecía muy buena señal. Era un problema muy interesante y en esos momentos soñaba con seguir trabajando en campos relacionados con la Inteligencia Artificial. Recuerdo pasar varias tardes estudiando, desarrollando la solución, explicando el proceso mental que me había llevado a ella. Recuerdo enviar la respuesta ilusionado, deseoso de saber el resultado. Recuerdo esperar varios días, semanas, volver a escribir para preguntar como iba el proceso, seguir esperando…

Fue la primera prueba técnica que hice y la primera vez que no recibí ningún tipo de respuesta ni explicación. Y lamentablemente, no fue la última vez que me ha pasado esto.

... Continuar leyendo

El balance del 2020

8 mins.
2020. Foto de Kelly Sikkema en Unsplash

Ya termina el día de Reyes y, como dirían en Juego de Tronos, aquí termina mi guardia y puedo hacer balance, con un poco de retraso, de este 2020 que hemos dejado atrás.

El año 2020 ha sido, como imagino que para muchos de vosotros, uno de los años más difíciles de mi vida. Aunque teniendo en cuenta las circunstancias tan excepcionales que hemos vivido, una pandemia global que ha afectado completamente a nuestra vida, lo raro es que hubiera sido todo normal y todo positivo.

... Continuar leyendo