TravelgateX Participa En La GopherCon Europe 2019

Escrito por Oscar Pérez | 28-jun-2019 12:40:34

Sigue creciendo la comunidad de Go, un calendario lleno de eventos, meetings, workshops y conferencias. Solo este año habrá más de 12 conferencias alrededor de todo el mundo.

Go, y su comunidad, son jóvenes, pero sobradamente preparados. Hay mucho que andar y conocer. En esta ocasión, un equipo de desarrolladores de Go de TravelgateX, ha tenido la oportunidad de asistir a la GopherCon Europe 2019, en Tenerife. Un evento donde han reunido a grandes activos de la comunidad así como representantes del equipo de Go (GoTeam).

En esta segunda edición el lugar designado ha sido Tenerife (el año pasado fue en Reykjavik, Islandia), una isla preciosa de clima cálido, perfecto caldo de cultivo para que los gophers (así como se les denomina a los desarrolladores de Go de forma coloquial)  puedan relacionarse y crecer en comunidad.

Los Workshops (jueves 30 de Mayo)

El primer día de las conferencias estaban dedicadas en su totalidad a talleres muy completos impartidos por profesionales con años de experiencia en la tecnología. Pudimos ver de nuevo a Bill Kennedy (@goinggodotnet) con su taller “Advanced Ultimate Go” profundizando en cómo mejorar el rendimiento de sistemas existentes dando valiosísimos trucos y técnicas para mejorar el rendimiento.

TeamX. Carlos, Zechao, Miki, Jose.

También estuvo Miki Tebeka (@tebeka), CEO de 353solutions con su taller “The Daily Go” centrado en la mantenibilidad del código, concepto que muchas veces se pierde de vista en proyectos de larga duración. Estructura del código, manejo de dependencias, test unitarios, logging y métricas, etc… conceptos del día a día que el desarrollador ha de lidiar y que si no se tienen en cuenta pueden hacer que el coste de incorporar nuevas funcionalidades sea demasiado elevado.

GoBridge (@GolangBridge)

La misma tarde del Jueves 30 hubo un evento impulsado por GoBridge (@GolangBridge), una comunidad donde se intenta construir puentes para educar y ayudar a comunidades subrepresentadas y acercarles a la tecnología. Sus iniciativas se pueden ver en el siguiente enlace: https://github.com/gobridge/about-us/blob/master/README.md

Se trataba de un evento social donde los participantes de los workshops y otros miembros de la comunidad pudieron, de forma distendida, compartir experiencias, inquietudes y por qué no, pasarlo bien tomando una copa al atardecer de Tenerife.

Allí conocimos a desarrolladores de todas partes del mundo, como Ishuah Kariuki (@ishuah_) de Nairobi, “Ricco” (@fiskeben) de Noruega o a Aaron Schelesinger (@arschles) de USA, entre muchos otros.

También se dejaron ver por ahí celebridades como Cassandra Salisbury (@Cassandraoid) y Bill Kennedy compartiendo interesantes reflexiones sobre el estado de la comunidad y interesándose mucho en cómo pensamos los que participamos en ella con intención de mejorar y tener un mejor feedback.

TeamX con Cassandra Salisbury.

Las conferencias (Viernes 31 de Mayo)

Llega el día grande, estamos muy emocionados con todas las charlas que se presentan. 

Comienza abriendo, como no podía ser de otra manera, Cassandra Salisbury, cara visible de Google para sus proyectos de Open Source, haciendo un análisis preciso del estado de la actualidad, necesidades e inquietudes y camino a seguir. Le da un valor importantísimo a la comunidad y como los estándares de desarrollo y prioridades están cambiando. 

Antes, lo habitual es que la compañía propietaria de la tecnología tenga su hoja de ruta y prioridades en las nuevas funcionalidades, pero ahora el funcionamiento es diferente, es la comunidad que decide cuales son las prioridades, trabajando y dirigiendo los esfuerzos en una u otra dirección y a posteriori la compañía apoya estos movimientos dependiendo de su repercusión. Muy interesante reflexión que nos recuerda que nada se mueve si no somos nosotros los que ponemos la primera piedra.

Continuamos, por un lado, con Julie Qiu (@JQiu25) del equipo de Golang dando valiosos consejos de como encontrar paquetes desarrollados por terceros (third party packages) de calidad dentro del ecosistema de Go, todavía no muy estandarizado y, por otro lado, con Tom Ogoma (@tom_ogoma) exponiendo su amplia experiencia en el desarrollo de API RESTful en Go.

Ahora presenta Mat Ryer (@matryer), un veterano desarrollador, co-maker de machinebox.io, escritor del libro “Go Programming, blueprints” y conocido colaborador en proyectos de software libre y que nos comparte su experiencia en más de 8 años de desarrollo con Go. Una presentación muy elegante donde toca casos de uso comunes en el desarrollo de aplicaciones web, muchos de ellos directamente relacionados con desarrollos actuales que tenemos en TravelgateX. Nos pareció un divulgador fantástico además de cercano al no rechazar ningún debate durante los días que duró el evento.

Después de una breve pausa para el café proseguimos con Aaron Schlesinger (@arschles) que nos cuenta el proyecto en el que está trabajando The Athens Project (https://docs.gomods.io/), que intenta cubrir una necesidad actual sobre la gestión de dependencias en Go, ofreciendo un servidor proxy donde poder configurar las dependencias que requiera tu organización, incluso las que necesitan de autentificación. Una muy interesante aproximación al problema actual con la gestión de dependencias.

Al mismo tiempo, en la otra sala, está exponiendo Kevin Hungai (@Hungai), experimentado desarrollador de Nairobi que nos cuenta su experiencia con el tracing en sistemas distribuidos. Charla muy interesante pues es un caso de uso muy común en TravelgateX, donde tenemos necesidad de monitorizar los millones de transacciones que recibimos en un sistema puramente distribuido.

Ahora es el turno de Carlos González (@carlosglezvila) y Sara Báez (@Bz_Sara) desarrolladores para System73 (https://system73.com/), una compañía enfocada al streaming de vídeo con su charla titulada “API Gateway, a success story” que nos pareció muy interesante, pues su modelo tecnológico es muy parecido al que tenemos en TravelgateX dónde un único punto de entrada (gateway) distribuye las peticiones en diferentes microservicios en sistemas con alta concurrencia.

Describieron los problemas con los que se encontraron durante su desarrollo y nos sentimos muy identificados con ellos pues hemos tropezado con las mismas piedras durante el desarrollo de nuestro gateway, problemas con el escalado de servicios en la nube y cómo manejarlos. Nos dimos cuenta de la importancia de elegir bien a tu partner tecnológico del que dependen muchos servicios.

Es momento de comer y alimentarnos bien con el estupendo buffet del Hard Rock Hotel, aprovechamos el momento para compartir con otros compañeros que tal nos han parecido las charlas e intercambiar opiniones.

Ya después de la pausa continuamos con Egon Elbre (@egonelbre) que nos da una visión muy interesante y diferente a lo que estamos acostumbrados los que tenemos un perfil más técnico, “la psicología en la legibilidad del código”. No tenemos que olvidar que cuando desarrollamos intentamos crear “artefactos” que funcionen y a veces olvidamos que también tenemos que crear esos “artefactos” de cara al futuro mantenimiento. De la misma manera que los ingenieros automovilísticos producen coches que funcionen pero que a la vez están preparados para poder intercambiar piezas y repararse en el futuro, nuestro código, ha de ser legible y entendible para que en el futuro podamos ampliarlo, modificarlo o intercambiar módulos de forma sencilla y amena.

Continuando en esta dinámica, Ivan Daniluk (@idanyliuk) nos explica su experiencia en cómo los programadores interpretamos el código, recordándonos que un programador se pasa más tiempo leyendo código que escribiendo, y la importancia de conseguir escribir un código sencillo y legible. Parafraseando a Albert Einstein con su famosa frase “Everything should be made as simple as possible, but no simpler” nos recuerda que debemos hacer herramientas sencillas de entender, pero no necesariamente menos complejas.

Y ya para finalizar el día se propone una ronda de preguntas abiertas al equipo de Go, representado en el escenario por Julie Qiu (@JQiu25), Cassandra Salisbury (@cassandraoid), Steve Francia (@spf13) y Filippo Valsorda (@FiloSottile) donde responden las inquietudes del público allí congregado, dando algunas pistas por donde tiene pensado el equipo de desarrollo de Go ir en los siguientes releases del código. Charla amena y divertida donde se regalaron peluches de gophers y camisetas a los participantes.

Por último pudimos tomarnos una copa con los speakers y organizadores del evento en la terraza del Hard Rock Hotel, momentos muy divertidos de la mano de Bill Kennedy y otros compañeros.

Light Talks (Sábado 1 de Junio)

Hoy es el día de la comunidad. Varios colaboradores se ofrecen a realizar talleres participativos, entre ellos Ellen Körbes (@ellenkorbes), excelente programadora y divulgadora, dando un momento para “jugar” y compartir conocimientos de forma activa, con el portátil delante y escribiendo código es cuando realmente se adquieren los conocimientos.

Y ya para despedirnos es el momento de los Ligth Talks, se trata de pequeñas exposiciones de no más de 10 minutos donde speakers más amateurs y profesionales aprovechan ese pequeño espacio de tiempo para mostrar un caso en concreto de algo interesante relacionado con la tecnología. 

Aquí nos vinimos arriba y nos propusieron que expusiera, aun teniendo nula experiencia en ponencias y en la tecnología algo que, para asombro, les parecía muy interesante a un sector muy amplio de los participantes, y es cómo en TravelgateX trabajamos con API’s en GraphQL desarrollados en Go. Por lo visto, no hay mucha experiencia al respecto y GraphQL es novedoso, en el mundillo de Go, también.

Así que ni cortos ni perezosos nos pusimos a pensar, de forma improvisada una exposición donde poder mostrar un poco como montar desde cero un API en Go de GraphQL utilizando el paquete mantenido por 99designs gqlgen (https://gqlgen.com/). Finalmente expongo uno de los primeros ante un público expectante que nos dio todo su apoyo y cariño (gracias Ellen) al conocer de antemano que no somos experimentados ponentes.

Al final parece que la ponencia gustó y nos fuimos con muy buenas sensaciones dejando al menos nuestro granito de arena en una introducción básica y sencilla sobre un tema todavía no muy extendido.

Despedida

Después de varios días muy intensos, de dormir poco y abarcar muchísimo nos vamos con más de lo que venimos. Socializar con compañeros de todo el mundo que se encuentran con situaciones muy parecidas a nosotros en una pequeña isla del Mediterráneo, te ofrece una visión mucho más amplia, con más perspectiva, te abre puertas y te ilumina el camino, a veces oscuro, hacia la satisfacción como desarrollador. Te hace sentir menos pequeño y que no estás solo.

En un mundo tan competitivo, nos estamos dando cuenta, tanto compañías, como individuos, que la vía colaborativa da muchos más beneficios que la competitiva. Poder ofrecer, participar y colaborar en buscar un mundo más eficiente, justo y acogedor nos hace mejores profesionales y nos brinda más oportunidades que nunca.

Me quedo con ganas de más, de seguir compartiendo, de seguir participando. ¿Quizás para la próxima Golab de Florencia (https://golab.io/)? Veremos.