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.

Semana 380

Semana de ir a ritmo, sacando cosas con bastante trabajo pero cierta estabilidad. Tocó rechazar una posibilidad de colaboración a modo de contractor, que aunque el proyecto siempre me pareció muy interesante desde que lo conocí, es incompatible con mis actuales compromisos.

También se hizo pública la convocatoria del concurso/hackathon Code 4 Pilar, de la que formo parte del jurado. Es un concurso en el que se puede presentar cualquier aplicación (web o nativa) donde, además del premio en metálico, se considerará la aplicación oficial de pilares, así que imagino que también se llevará bastante promoción.

En cuanto a saraos, aunque llegué algo tarde, estuve por la conferencia abierta del Google Developer Groups Summit. Las charlas eran de media hora, por lo que los temas técnicos no pudieron ser más allá que introductorios. También se habló de una iniciativa que no conocía: Tech&Ladies, para tratar de dar visibilidad a las mujeres que trabajan en el sector para fomentar su mayor incorporación y participación (tema que por aquí tratamos en su momento en forma de entrevistas).

Y en lo que se refiere a mis proyectos y colaboraciones en marcha:

  • Dejé medio hecho lo poco que quedaba de Alchups a nivel de programación, más que nada temas de integración con el API de google maps. Esta semana parece que cerraremos los flecos de diseño y maquetación.
  • Dediqué algunos ratos para hacer pequeños cambios tanto en OutreachTool, como en Bichomanía y Mosica.
  • Con Maubic tuvimos la primera demo con el cliente, parece que salió bastante satisfecho aunque se nos quedaran algunas cosas en el tintero.
    Hicimos nuestra primera retrospectiva como equipo y como era de esperar salieron bastantes puntos de mejora; por otro lado, como arranque del siguiente sprint, estuvimos extrayendo las tareas e hicimos una sesión de planning poker.
    Mientras que a nivel individual, además de seguir trabajando en tareas de backend, me tocó preparar una sesión de introducción a testing unitario en javascript con Jasmine. Y también aproveché para retomar el tema de cucumber, dejando un par de escenarios cubiertos con tests end-to-end que puedan servirnos de referencia para retomarlo algo más adelante.

Buena semana.

Semanas 378 y 379

Seguimos con semanas bastante moviditas, la anterior no reservé un tiempo para escribir la retro, así que de nuevo vuelvo a hacer retro quincenal.

La semana anterior había de nuevo Geek’s Talks. Sigo notándome muy atascado respecto a cuando era habitual y andaba algo más rodado, últimamente me estoy volviendo a plantear el buscar alguna formación más “formal” y ya me han recomendado alguna cosa.

Por otro lado este viernes retomamos los FridayDojo, en este Gualis se preparó una kata un tanto diferente, ya que era acerca de trabajar con el sistema de ficheros y forzar el trabajar con mocks para los tests.

También tuve conversaciones alrededor de Minchador, tengo pendiente una reunión de la que veremos si sale algo interesante.

En cuanto a proyectos en curso:

  • Pusimos en producción el nuevo Bichomanía, aún a sabiendas que existen algunas mejoras pendientes de implementar teníamos que lanzarlo ya. Poco después del despliegue arreglé un pequeño bug que encontramos y añadimos soporte para recibir pagos por Paypal, transferencia y a contra reembolso.
  • En Alchups tenemos ya casi todo diseñado, maquetado y programado. Estamos a poco de cerrar a falta de una sección de la web, con todo ya desplegado en un entorno de staging y con los encargados del contenido trabajando con normalidad sobre el backoffice.
  • Tuvimos una sesión de trabajo de todo el equipo de OutreachTool para definir la renovación de la landing page, también dediqué algunos ratos para bocetar algunas cosas de la aplicación web.
  • Hice alguna pequeña mejora en Mosica, principalmente relacionado con la sección para pilares. También le he estado dando vueltas a implementar alguna mejora para la aplicación móvil, aunque últimamente ando fatal de tiempo para ello.
  • Con la gente de Maubic encarábamos las 2 últimas semanas para preparar la primera demo con el cliente. Por mi parte estuve trabajando principalmente en cerrar tareas del backend, tanto implementando algunas features y cambios como haciendo algunos refactors, para algunas de ellas estuve haciendo pair programming con un desarrollador que ha entrado hace poco. Por otro lado, me tocó investigar y hacer alguna prueba con Karma para el testing de frontend y viendo qué tal era Instambul para controlar la cobertura de tests tanto en los frontends como en el backend.

Buena semana.

Semana 377

Última semana del mes de Agosto, y aunque fuera un mes complicado para estas cosas no quisimos dejar pasarlo sin una edición de Zaragoza Ruby el último jueves del mes.

Al ser verano Pedro ha venido proponiendo sesiones de katas al estilo randori como alternativa a las habituales charlas. En esta ocasión fue Compras en el Mall, una kata alrededor de la que surgió bastante debate y resultó divertido.

A parte de esto no pudo dar mucho más de sí la semana además de los proyectos en los que vengo trabajando, que ando con bastante lío. Estuve haciendo un puñado de pequeñas cosas y algunas no tan pequeñas:

  • Mejoré la importación de salas/lugares en Mosica, a raíz detectar que tenía duplicidades que no tenían mucho sentido (con vistas de que algún día le dedicaré tiempo a las páginas de salas).
  • Con Maubic principalmente continué con mi trabajo en el backend con node/loopback implementando algunas funcionalidades y cambios en los microservicios existentes. Además continué definiendo y documentando los detalles de sus APIs para la gente de frontend y que quede constancia de ello en el futuro.
  • Dejé mhop funcionando con stripe, que era el proyecto que aún tenía coleando el hacer el cambio de pasarela de pago.
  • Estuve haciendo algún pequeño cambio en la nueva Bichomanía e hicimos paso a fase beta.
  • En Alchups implementé la importación de rutas desde KML para mostrar rutas en google maps vía su API, hice algún pequeño refactor para dejar el código un poco más majo y continué con temas de coordinación.

Buena semana.

Semanas 375 y 376

De nuevo se me acumulan semanas sin retro, que entre unas cosas y otras he ido dejando el escribirla. Parte de la “culpa” fue el estar un par de días de vacaciones, que últimamente los días de antes y de después de tomarme unos días libres van coincidiendo con fechas cercanas de entregas/demos/… En fin, que en ese sentido me lo monto fatal, debería conseguir tener un ritmo más sostenible.

Aunque en este par de semanas también vengo sacando ratos para leer bastantes posts y verme un buen puñado de videos. De temática variada: testing, novedades, diseño de software

Y en cuanto a proyectos y colaboraciones en curso:

  • De nuevo mucha dedicación con Maubic. Empecé a mirar un poco ExtJS, que es con lo que se está trabajando el frontend, con la idea de empezar a ayudar en cómo hacer el testing, pero al tener otras prioridades lo dejamos un poco aparcado. Sí dejé lista la infraestructura y unos primeros tests de aceptación con Cucumber y Phantom/Selenium. Mi trabajo principalmente sigue estando dedicado a trabajar en la definición de las APIs y en temas de backend, donde tuve algún problemas a causa de mi falta de rodaje con Loopback.
  • Estuve refactorizando el importador de conciertos de Mosica e incluí una nueva pequeña feature en la versión web, se genera el icalendar de los conciertos para quien quiera añadírselo en la agenda. También empecé con una sección especial con los conciertos de las Fiestas del Pilar 2015 que espero ir mejorando.
  • En Bichomanía dejé fina la importación de datos, estuve con las páginas de contenido estático, resolví un par de pequeños bugs y estuvimos finiquitando algunos detalles en el frontend con Pablo para dejarlo todo prácticamente listo.
  • También tocó trabajar en Alchups. Estuvimos definiendo a modo de boceto la arquitectura de información de la web con Lizano y ya dejó listo el diseño de la home, además estuve implementando la sección de gestión de rutas a nivel de backoffice.
  • Para cerrar la semana pasada, dejé migrada la pasarela de pago de OutreachTool a stripe. Y, aprovechando, estuve refactorizando como estaba implementada esa parte, que no estaba demasiado bien.

Buena semana.

Semana 374

Son un poco raras estas semanas veraniegas, será que esto de ver a mucha gente de vacaciones hace que no apetezca demasiado trabajar. Pero no queda otra, para mi más con lo de pagantis, que encima no pude dejar listo la semana pasada.

No tengo mucho que destacar más allá que los proyectos en los que ando:

  • Dejé lista buena parte del frontend de Bichomanía, a falta del contenido estático y terminar con algunas cosas de layout. También hice un pequeño ajuste a la configuración de despliegue con capistrano relacionado con las imágenes de productos.
  • En el proyecto con Maubic, además de andar echando una mano a los desarrolladores frontend cuando era necesario e ir pendiente de que el trello estuviera actualizado, me centré en adelantar trabajo de backend. Estuve implementando un pequeño servicio de logging que utilizarán el resto de servicios para notificar los eventos ocurridos en cada uno de ellos, además de seguir trabajando en tareas relacionadas con las historias/épicas de usuario que tenemos definidas. Terminé la semana encontrándome un problema a partir de ver resultados extraños escribiendo los tests, me fui el fin de semana bastante mosqueado y con encontrar la raíz del problema sigo.
  • En Alchups hice un pequeño arreglo y estuve dándole vueltas a unos prototipos en papel.
  • Resolví un problema en Minchador, para el formato de fecha en los envíos de los emails se estaba utilizando el locale en inglés.

Buena semana.

Semanas 371, 372 y 373

Tres semanas sin hacer retro semanal, TRES! Igualando el record al que he llegado un par de ocasiones. Al menos no es un mes completo, que ya me daría mucha vergüenza.

Me hubiera gustado sacar un rato este domingo para escribirla mientras volvía de unas insuficientes y rápidas cortas vacaciones en Salamanca, pero al final preferí ponerme a terminar de leer Extreme Programming Explained. Ya hace mucho que XP es lo que más me convence del mundillo agile y no me había dado la ocasión de leer el libro de referencia, desde hacía varias semanas que tenía pendiente dedicarle tiempo para acabarlo y por fin pude hacerlo.

Casi toda la semana pasada me la pegué de vacaciones, sólo trabajé 2 días y salvo responder algunos emails y un hacer un par de commits furtivos, estuve de relax.

En cambio las otras 2 semanas no fueron precisamente tranquilas.

Han sido y son semanas en las que me he acordado y acuerdo mucho de los amigos de pagantis, que me han dejado sin pasarela de pago en 3 proyectos diferentes. Proyectos que hemos empezado a mover a Stripe. Dieron un aviso de que en 30 días iban a dejar de dar servicio, pero que ya si eso igual vuelven otro rato… Me gustaría conocer las razones del genio al que se le ocurrió mandar a tomar viento a toda la clientela de ese modo.

Volví a unas Geek’s Talks tras varios meses sin hacerlo. Noté mucho mi falta de asistencia, a ver si vuelvo a hacerme de los habituales y aunque siga pronunciando fatal consigo soltarme un poco de nuevo.

Estuvimos en la gala de entrega de los premios del Heraldo de Aragón para los que seleccionaron Mosica como finalista en la categoría de aplicación móvil. Ya al proponerlo no veíamos mucho recorrido, esperábamos que nos seleccionaran entre los finalistas con el objetivo de que nos diera algo de tráfico/visibilidad y para ir a la gala en modo comando canapé; lástima que en lo del tráfico y la visibilidad no cubrió las expectativas.

Le estuve dando una vuelta a un pequeño sideproject al que no sé si vale la pena darle dedicación. Últimamente se me han acercado empresas de varios tipos preguntando sobre programadores para trabajar en sus empresas y proyectos, tanto freelancers como contratados. Por eso se me ha pasó por la cabeza montar un pequeño job board para que quienes se me acercan publiquen sus ofertas de empleo, rememorando un poco mis tiempos con Jobsket :). Le dediqué algunos ratos a ver con más detalle algunos job boards que me parecían interesantes, a hacer algún boceto en papel y a tomar notas de ideas de cómo desarrollaría una primera versión.

Si tuviera un verano más libre sería un proyecto ideal con el que experimentar un poco, pero por el momento no va a ir mucho más lejos de esas anotaciones, que no hay mucho tiempo y bastantes cosas que cerrar. Sólo hay que ver un resumen de estas semanas sin excesivo detalle:

  • Dejamos desplegada la versión marca blanca de Minchador en un entorno de pruebas y tocó limar algunas cosas que se habían colado de la versión comercial. Si todo va bien no tardaremos demasiado de pasar a producción.
  • En el proyecto de Alchups dejamos ya finiquitado el backoffice con Razvan. Aparte yo estuve haciendo tareas de coordinación tanto con el cliente como con Lizano para el diseño, la generación de códigos QR para carteles físicos y el despliegue en un entorno de preproducción donde ya se ha empezado a cargar el contenido.
  • Con Outreach Tool y Mhop estuve haciendo algo de trabajo para la migración a Stripe. En ambos proyectos la integración es casi calcada, por lo que espero acabarla esta semana.
  • En Bichomanía dejé lista la integración con stripe y continué trabajando en la adaptación de las vistas de Spree al diseño.
  • Y como viene siendo habitual en las últimas semanas, mi trabajo como contractor en Maubic es lo que ha centrado la mayor parte de mi tiempo.
    Estuve definiendo y documentando los contratos de las APIs de los 2 primeros microservices, donde el uso de API Blueprint y Apiary están siendo de gran ayuda.
    Continué trabajando en implementar parte de los primeros servicios y en investigar como están hechas algunas cosas en LoopBack para ver como se puede adaptar el framework a algunas de nuestras necesidades.
    Tocó pasar a paneles rollo kanban tanto las historias/épicas de usuario como las tareas; inicialmente empezamos con uno físico y otro en trello, ya ha dado tiempo de ver que tal y como está planteado el panel físico carece de utilidad y acabará pasando a uno en trello en breves.

Buena semana.

Semana 370

Semana de cierre de trimestre: Recopilación de facturas y gastos, gestorías y algún que otro papeleo. Semana en la que también supimos que seleccionaron Mosica como finalista a en la categoría de aplicación móvil en los premios de Heraldo.

Y semana en la que estuvimos trabajando en sacar varias cosas adelante:

  • En Bichomanía, finalmente pudimos hacer el despliegue a un entorno staging e hicimos la importación de la base de datos, con idea de que se puedan ir trabajando cambios en el catálogo.
  • Esta semana empezamos el proyecto Alchups, que consta de un pequeño gestor de contenidos para documentar los aljibes que hay en San Esteban. Estuve preparando las historias de usuario en trello y tuvimos una sesión de arranque de proyecto con Razvan Puscas (uno de nuestros kohais en SenpaiDevs), que me está ayudando en este proyecto.
  • Dediqué unas horas a desplegar minchador como marca blanca, pero surgieron varios problemas y no pude acabar con ello.
  • Y de nuevo el grueso de mi dedicación fue orientado a trabajar con loopback, seguir trabajando en el testing y en conceptualizar cómo vamos a exponer el API de los primeros servicios que vamos a desarrollar. También tuvimos una reunión para hacer una puesta al día de cuestiones de alto nivel del proyecto, ya que se van a ir incorporando más personas al proyecto.

Buena semana.