Semana 387

Ha pasado la primera semana de movember, ya con algo que parece una sombra debajo de la nariz. Esta semana ya de vuelta a la normalidad y fue muy productiva; aunque tocó trabajar bastante también el fin de semana, cosa que no me hace ni puta gracia procuro evitar en la medida de lo posible.

Durante la semana volví a sacar algo de tiempo para el petproject con toggl, ya tengo un despliegue hecho en heroku en el que mis clientes ya pueden ver mi dedicación en el mes en curso.

Esta semana me llegaron otro par de posibles trabajos, en principio bastante manejables y que sí podría abordar. Por un lado un trabajo de consultoría para ayudar a un equipo a montar una infraestructura de tests para que ellos la puedan ir ampliando y mejorando; y por otro una ampliación del proyecto One step para añadir un puñado de nuevas features
propuestas.

Mientras tanto, esto es lo que dio en cuanto a trabajos propios y para terceros:

  • En Mosica finiquité una funcionalidad pendiente desde hacía semanas, tener la página de salas con sus respectivos próximos conciertos. Además estuve dedicándome a mejorar el tratamiento de datos tras la importación de de los datos abiertos de Zaragoza.
  • Hice algunos cambios internos en Alchups, nada que se aprecie en la web. El principal fue pasar de UTM a coordenadas geográficas en lo que se refiere a la geolocalización de los alchups en el gestor de contenidos, ahora todo en la web funciona con medidas en latitud y longitud.
  • Con Maubic estuvimos repasando el tema testing en backend y viendo algunos puntos de mejora a partir de los reportes de cobertura de tests, se nota que tuvimos unas semanas con mucha presión y fuimos menos exigentes de lo que veníamos siendo. También me tocó dar bastante soporte a la gente frontend y hacer algunos cambios a raíz de integrarnos; además estuvimos trabajando el envío de emails transaccionales a usuarios.
  • Dejé finiquitado y desplegado en producción el tema de integración con Delighted, ya sólo nos queda facturarlo.
  • Implementé un pequeño cambio en el proceso de compra en la tienda de Outreach Tool. También dediqué algo de tiempo en coordinar cuestiones de la web nueva.

Buena semana.

Semanas 385 y 386

De nuevo se acumula una semana sin retro, no sólo por temas profesionales, que ha tocado buscar piso y su correspondiente una mudanza; un agujero negro de tiempo y energía.

Aunque pude dedicar algo de tiempo libre a mandar algunos pequeños parches a varios proyectos open source. A loopback y al connector-remote extraídos de mi trabajo con Maubic y una chorrada que arreglé en quién manda.

También me puse con un pequeño sideproject. Uso toggl como time tracker y a algún cliente le facturo por dedicación, les paso mensualmente el reporte y la respectiva factura. El tema es que quieren tener la posibilidad de verlo en tiempo real sin necesidad de andar pidiéndomelo, así que he empezado a trabajar en ello a ratos y supongo que si le dedico un par de horas estos días podría tener algo utilizable.

Surgió una posibilidad de proyecto que había que hacer muy rápido, pero el presupuesto que había resultaba insuficiente para el equipo que tenía en mente. También llegó un lead que aún tengo pendiente contestar.

Y empezó Movember, por quinto año colaboro dejándome bigote y recaudando donativos. Si alguien se anima a donar puede hacerlo en mi perfil o en el de cualquier otro mobro.

En cuanto a proyectos en marcha:

  • Con Maubic estas semanas he estado combinando el dar soporte a frontend, implementar algunos cambios en los servicios de backend refactorizando algunas partes y en revisar documentación de nuevas funcionalidades para empezar a extraerlo en historias/tareas.
  • En Bichomanía resolví un bug.
  • En Outreach Tool estuve coordinando algunas cuestiones alrededor del rediseño de la web.
  • Empecé un pequeño trabajo de integración con Delighted usando node.js y ya lo dejé prácticamente listo.

Buena semana.

Semanas 382, 383 y 384

Semanas un poco locas las últimas 3: Puestas a producción, la software craftsmanship de Barcelona, tener que ponerse en modo cowboy para llegar a una entrega parcial con los pilares de por medio y algunos que otros dolores de cabeza más... Y sin poder reservar el tiempo y ganas necesarios para escribir la retro semanal.

Elegimos el ganador del Code 4 Pilar. Por mi parte estuve revisando el código de todo el que lo dejó libre, y aunque no se tuvo en cuenta la calidad del código, el conocer un poco como estaban enfocadas las soluciones de los proyectos con código abierto sirvió para resolver algunas dudas que surgieron durante la reunión del jurado.

También llegaron varias peticiones de presupuestos que aún tengo pendiente de responder, por el momento veo difícil poder atender esos proyectos. Y en cuanto a los que me han tenido bastante liado:

  • Hice los últimos ajustes y puesta en producción para Alchups. Estoy muy contento con el resultado de este proyecto, a ver si estos días saco un rato para explicarlo con más detalle.
  • En Bichomanía estuve haciendo algún arreglo en el desliegue con capistrano, le añadí monitorización con newrelic e integré los cambios de Pablo para arreglar algunas cosas del responsive que estaban rotas.
  • En One-stop pidieron algunos cambios pequeños cambios en el frontend, así que los introdujimos y ya están desplegados en producción.
  • Y lo que la mayor parte de mi tiempo absorbió fue el proyecto con Maubic. Tenía que tener listo el grueso de la funcionalidad del backend implementado para una entrega y al final la cosa llegó a su puerto razonablemente bien, aunque hubo que dedicarle muchas horas y me generó mucho estrés (¿he oído ritmo sostenible?). Realizar cambios de arquitectura bastante majos, implementar varias funcionalidades, revisar todas las cuestiones de niveles de acceso de los usuarios... Y entre todo el jaleo también me tocó buscar como parchear un issue que encontré loopback, todavía tengo pendiente intentar dejarlo un poco apañado para enviar un pull-request.

Buena semana.

Software Craftsmanship Barcelona 2015

Algunas de las primeras referencias que vi sobre el desarrollo de software como artesanía sería cuando leí The Pragmatic Programmer. Por aquel entonces me parecía muy oportuna la alegoría de que desarrollar software tiene más que ver con un trabajo de artesanía que otra cosa.

Con el tiempo para mi dejó de parecerme tan oportuna, no por que la alegoría ya no me parezca válida, si no por la sensación de ver utilizada la etiqueta de artesano de software en muchas ocasiones de modo que al ponérsela uno ya pertenece automáticamente a algún tipo de élite. Me recuerda bastantes a tiempos en los que ponerse la etiqueta ágil era ser élite, y ahora uno pasa de conocer de oídas scrum a ser todo un experto de todos los artefactos de las metodologías ágiles con un curso de un par de tardes.

En fin, que me lío. Todo esto para decir que hace un par se semanas que asistí a la Software Craftsmanship Barcelona y salí muy contento del evento. Y eso que me habían hablado muy bien tanto Néstor como la gente de No Flop Squad, iba con expectativas bastante altas y estas se cumplieron con creces.

Desde Aragón salimos una pequeña representación: Néstor, Javi, Miguel Ángel, Nacho y yo. Que como de costumbre lo dejamos todo para el último momento y al final fue un poco desastre el tema del alojamiento, como oí en alguna ocasión: "el último momento responsable está peligrosamente cerca del primero irresponsable". Llegamos el día de antes, con el tiempo justo para cenar algo con un grupo que ya habían estado de kata pre-evento.

Ya en la craftsmanship pude encontrarme con bastantes compañeros del gremio: algunos sospechosos habituales en saraos agilistas, gente de Barcelona que conocí en un code retreat que facilité hace un par de años, desvirtualizar por fin a Rafa Gómez (todo un favstar ;)) y conocer a unos cuantos que no tenía en el radar; entre ellos a la buena gente de 540.

En cuanto a las sesiones el primer día estuve en:

  • Mutation Testing que explicó Vicenç, una técnica para comprobar la calidad de los tests modificando (mutando) el código original y comprobando que los tests fallen (mueran las mutaciones). Justo la semana después me vi una charla que tenía pendiente sobre el tema en InfoQ también muy recomendable.
  • ReactJS para arquitectura de frontend en Schibsted Spain con Carlos Villuendas. Esta charla me gustó bastante porque no se limitó a hablar de cómo están usando React para los proyectos de Schibsted (infojobs, fotocasa...), si no además a cómo tienen planteada toda la arquitectura de frontend tratando de tener la lógica totalmente abstraída de cualquier framework. Me anoté lo de tener todo el código de lógica de negocio como un módulo npm.
  • Replanteamiento de diseño de software de Javier Ferrer fue la charla que más me gustó. Explicó los problemas que se estaban encontrando en uvinum para cambiar y evolucionar su software (deuda técnica, coste de mantenibilidad...) y cómo estaban abordando cómo atajar el problema. Desde tratar de mejorar el diseño a bajo nivel hasta encaminarse al Domain Driven Desing y cuál está siendo su experiencia con ello.
  • #NoEstimates con Alex Casquete y Fernando Escolar. Es un tema del que llevaba un tiempo viendo que se hablaba en algún evento pero nunca me había llamado la atención meterme en una sesión, tengo una opinión bastante formada acerca de la poca utilidad que suelen tener las estimaciones de tareas. Sobre la charla, la primera mitad de la charla me pareció interesante, pero a raíz de algunas interrupciones se terminó desviando un poco el tema y preferí salirme de charlas de pasillo.
  • TDD para crear una herramienta de TDD con Néstor (The troll). Me gustó mucho su charla acerca de las tripas de mamba y, como muchas veces he pensado que sería interesante juntarse a cerrar alguna issue con él, me sirvió como intro para conocer un poco los entresijos de este framework. Ahora será cosa de ver si no lo dejamos sólo en buenas intenciones.

El segundo día, terminé por no meterme en ninguna de las katas de programación que había en agenda. Me hice hueco en la zona del coffee break para poder ponerme con mi portátil a atender a algún compromiso que quería finiquitar antes de acabar el fin de semana. Por la tarde sí asistí a varias de las sesiones del open space que se organizó:

  • Equipos remotos. A esta llegué a mitad tras salirme de una sobre de DDD a la que no terminé de pillar el punto. El rato que estuve se habló más que nada de herramientas; desde las más o menos típicas de comunicación como slack, trello, hangouts... a otras para hacer pair programming como RemoteCollab, tmux, Screenhero.
  • Introducción a Clojure, ahí Manuel Rivero nos hizo una intro a vista de pájaro. No es que nos pudiera enseñar mucha cosa, pero a mi me sirvió para hacerme una idea inicial de cómo es la sintaxis del lenguaje y algunas de las características de este dialecto de Lisp.
  • Comunidades locales. Estuvimos un puñado de personas que estamos involucrados en diferentes comunidades locales de nuestras respectivas ciudades. Ahí vimos como algunos problemas eran diferentes en ciudades grandes respecto a ciudades medianas y pequeñas; pero también algunos problemas e inquietudes muy similares. No saqué soluciones en claro para los "problemas" en las comunidades en las que voy echando una mano, pero me resultó muy interesante compartir experiencias.

Para los que tengáis interés, se pueden ver los videos de algunas charlas que grabaron en el canal de youtube de Software Craftsmanship Barcelona y algunas fotos en su meetup.

Tras finalizar aún nos quedamos con ganas de más, en el viaje de vuelta en tren terminamos la mitad de trayecto viendo código de un par de proyectos míos y charlando sobre algunos temas técnicos.

Lo dicho, que me fui con buen sabor de boca del evento.

Semana 381

La semana pasada, igual que lo que llevamos de esta, fue de sacar el máximo de productividad posible. Son semanas de esas en las que sacamos mucho trabajo adelante pero nos pasamos un poco por el forro nuestro principio de tener un ritmo trabajo sostenible, de cualquier modo he intentado focalizarme en que la calidad no se viera demasiado resentida, que ya sabemos como acaba la cosa si vamos dejando ventanas rotas alegremente.

Esta semana tuvimos zaragozarb. Para esta edición íbamos a hacer una sesión de Mob Refactoring sobre una aplicación rails mía, que iba a tratar de facilitar yo. Finalmente estuvimos discutiendo alrededor del código de una aplicación ya vieja con modelos con sobrepeso y otra en la que estoy trabajando actualmente (con una base de código todavía pequeña). Aunque no trabajáramos sobre el código creo que el debate sobre el propio código resultó interesante.

En cuanto a proyectos:

  • Estuvimos trabajando en Alchups, finiquitamos los temas de diseño y frontend que coleaban, y ya estamos a la espera de que nos den la orden de dejarlo en abierto para que lo hagan público.
  • Introduje una modificación en la gestión de restaurantes de Minchador en el fork para la startup con la que estamos colaborando.
  • También trabajé en Bichomanía resolviendo algunas issues e implementando algunos cambios para tratar de mejorar el SEO.
  • Con la gente de Maubic estuve trabajando sobre uno de los microservicios con vistas a la próxima demo y estuve haciendo cambios en la documentación de los contratos del API. Fue una semana de programar mucho con node/loopback/mocha, y teniendo que dejar aparcado mi soporte al equipo de frontend en cuestiones de testing.
  • En OutreachTool tuve que trabajar en varias pequeñas funcionalidades para una campaña de captación leads. Además tuvimos reunión para ver los posibles caminos a seguir en los próximos meses, a raíz de ello empecé a darle alguna vuelta a un prototipo para el generador de planes de comunicación.

Buena semana.