JsConf Chile 2023 — Honest Review
Día lunes (al menos cuando empecé a escribir este artículo), de vuelta al trabajo y con la cabeza girando alrededor de una avalancha de conocimientos que nos compartieron todos los charlistas de la JS Conf Chile. Un agradecimiento enorme no sólo a los charlistas, sino a todo el equipo organizador, que se encargó de hacer realidad la 1era conferencia de Javascript en Chile: JS Conf ¡en Chile!
¿Cómo llegué?
En mi caso, mi jefe estuvo transmitiendo sobre la JS Conf Chile, pero la 1era desilusión fue que las entradas estaban agotadas, así que; cómo decimos en Chile; nos quedamos con los crespos hechos (chilenismo que entendido literalmente es: nos hicimos los rulos para vernos lindos para la fiesta, pero la fiesta no se hizo).
Pero al menos yo no quise darme por vencido y en la Previa de la JS Conf (más de 10 horas de streaming de charlas online vía Youtube) aparte de las excelentes charlas, que realmente resultaron muy motivadoras para el evento, regalaron algunas entradas. Así que apelando a todos los palos blancos (chilenismo usado para referirse a amigos/familiares/contactos que muestran apoyo públicamente cuando necesitas aumentar tu credibilidad) de la oficina que le dieron like a mi post en Twitter, me gané una entrada.
Beneficios de la JS Conf
Además de la entrada a la conferencia, tener el ticket te daba acceso, previo registro, a los 2 meetups previos que se hicieron, ambos en una modalidad Meetup & drink.
Ah bueno, y el swag que te entregaban en la conferencia con una polera (T-Shirt), credencial, botella para el agua, muuuuchos stickers, como dijeron los animadores de la conferencia “Uno va a las conferencias por los stickers”.
Meetup 1: Oficinas de Fintual
Respecto a las instalaciones, nada que decir, la oficina de Fintual, que en realidad es todo un edificio, brilla por su infraestructura, la sala de presentaciones tiene un techo con pixeles, como si fuera un gran televisor.
El hecho de tener oficinas increíblemente equipadas es más que un buen motivo para pegarse las quebradas (chilenismo para decir que se tiene algo que genera la envidia; sana envidia; del resto). Y obviamente después de las charlas, el espacio que tienen en la terraza está genial, puedes fácilmente hacer un asado ahí. Se compartieron buenas cervezas y mucha buena conversación. Mucho muy buena Meetup.
Por cierto la entrada a Fintual es por la calle lateral y no por la dirección que aparece en Google Maps.
Las charlas de la 1era Meetup
- Observando una aplicación Next con Elastic APM y RUM. A cargo del profe Manuel Alba, e Isaac Silva. Básicamente un product show-off (honest review recuerdan). Y sí, les compro, Elastic la lleva, pedazo de herramienta, en algún momento se vienen las pruebas con el ELK stack. De esta hubo una versión extendida, como un workshop en la conferencia.
- 5 tips para mejorar la UX en las WebApps, por Google.
Adriana, nos maravilló con varios tips sobre como avanza la visión de Google Chrome hacia las aplicaciones web (más que a los sitios web).
Muchas están enlazadas en https://web.dev , es harta lectura de la que se rescata demasiada información que puede mejorar nuestros desarrollos web.
- Y finalmente la charla que me voló la cabeza, a cargo de Javier Novoa de Walmart, Rails oriented programming. Es literalmente un modo de desarrollo que , si bien tiene una curva de aprendizaje muy empinada, permite tener un control muy granular de los errores y casos de éxito para flujos de código. Si lograramos llegar a implantarlo va a ser una fuerte ganancia en cuanto a la minimización de los casos felices sin considerar los casos “no tan felices” (errores de todo aquello que puede y va a fallar en un sistema). Fue lejos la charla más densa de la Meetup, pero la que personalmente más me gustó.
Meetup 2: Hotel MR
Las tristes comparaciones. Si bien el Hotel MR es más cuico (chilenismo que bajo este contexto puede leerse como más elegante), fue en un salón de eventos algo caluroso, que sumado a la mayor audiencia de público, hizo que la experiencia tuviera un comienzo menos atractivo.
Las charlas de la 2da Meetup
En esta oportunidad todas las presentaciones estuvieron a cargo de gente de Google. Entendiendo que al otro día comenzaba la JS Conf con todas las de la ley, y sumado a que la diana era temprano (9AM según agenda), fueron charlas muy cortas y muy rápidas, lo que inevitablemente , al menos a mi, me dejaron con una sensación de “gusto a poco” y “pudieron ser un poco más extensas”. Incluso sentí que para aliviar dudas no se presentaron los espacios adecuados. Igual para que andamos con cosas, los chicos de Google son rockstars.
- Interaction to Next Paint (INP). Una métrica a considerar en los Core Web Vitals, que al menos yo no tenía en mis registros. Parecida, y sólo parecida, al First Input Delay. Se hablo de los long tasks y de como mejorar esos casos en que el main thread se bloquea, más otras recomendaciones orientadas al performance.
- Lógica en el CSS: Yo creo que este enfoque pudiera sacar algunas ronchas, pq el CSS es principalmente pensado hacia la visualización, y en teoría, no debiera tener lógica. Pero sabemos que, si consideramos los escenarios de interfaces de usuario responsivas, sí hay lógica. Aquí mostaron como resolver algunas cosas combinando los selectores :has() con calc() con — vars con container queries, y así con varias cosas, muchas que tristemente son sólo soportadas por Chrome y muchas incluso están en fase experimental.
- Y finalmente la View Transitions API. Es una API de Javascript (Chrome only) que permite tener transiciones para el cambio entre una página y otra (una ruta y otra ruta) en una SPA (SPAs only) , sin requerir librerías de animación. Si pensamos en WebApps que uno quisiera tuvieran cierto feel de aplicación nativa, es un ¡WOW!
Y post charlas del Meetup hubo un catering, muy al estilo de coctel de matrimonio, donde pasaban los meseros ofreciendo bocadillos. MHO, la idea fue buena, pero si pensamos que probablemente el 90% de los desarrolladores tiene la capacidad de convertir café, cervezas y pizzas en líneas de código, la ejecución pudo bien tener una cuota extra de informalidad sin afectar el nivel de aceptación.
JS Conf Chile: Las conferencias
Toda la conferencia se realizó en las dependencias del Centro cultural Matucana 100, las charlas en el teatro (capacidad +-500 personas), los workshops en la sala de cine.
Yo no asistí a ningún workshop, ya que lamentablemente coincidían con charlas que sólo por el título pintaban demasiado buenas. Ese punto en particular creo que sumamente difícil de controlar, y al asistir a una conferencia que incluya workshop hay que saber sacrificar algo para privilegiar una de las 2 opciones, charla o workshop
Intentaré no referirme a la agenda de charlas. Sí voy a seguir en mi modo honest review con observaciones varias.
Día viernes 3 de Febrero, 2023
Costó levantarse, más todavía si consideramos las cervezas 🍻 fuera del contexto Meetup que nos tomamos con un amigo con quien me encontré en la Meetup, y el incidente del Cabify con patente empezada en FLY (casi me subo a otro taxi con patente también comenzada en FLY… si alguien sabe que probabilidad tiene eso; 2 vehículos de transporte público, no relacionados entre si, con la mitad de su patente exactamente igual a la de otro, en un mismo horario; sería un dato interesante).
La conferencia no empezó a las 9AM, lo que considerando las circunstancias antes mencionadas, se agradeció. Sin embargo eso significó que se atrasara toda la conferencia y que los Workshops debieran trasladarse al día sábado.
Los breaks fueron acompañados con café, jugo, galletas, pancitos con queso, jamón, mixtos, mini donas, profiteroles, fruta, y otras delicatessen (yo soy de esos desarrolladores que siempre va a apreciar positivamente y agradecer comida y bebestibles gratis).
Los puestos de los sponsors siempre cargados de souvenirs, o incluso concursos que pudieran significar ganar algo más, como poleras o audífonos. Mención especial al stand de Cloudinary, que a cambio de una selfie con filtro usando su webapp te regalaban un lindo uniconio de peluche.
Punto bajo: El almuerzo
Había terminado el 1er bloque de charlas y la audiencia había salido a almorzar. Los almuerzos estaban atrasados y no habían llegado. Así que con los amigos con quienes me encontré, y dado nuestro ataque de hambre salimos de Matucana 100. Por fortuna el Centro cultural está cerca de el mall de Estación Central, que tiene un patio de comidas, y en al camino hay varios restaurant tipo “Fuente de Soda” (en Chile no propiamente un restaurant de platos preparados, sino más bien de sandwishes, pero muchos sirven platos) donde se podía almorzar.
Mención honrosa al mesero de uno de estos locales que, tentando a quienes pasaban con la credencial o el bolso del swag de la JS Conf dijo:
“Pasen, pasen , hay varios del paseo de curso que estan almorzando acá”.
Así que hubo que tragar el sushi roll, y de vuelta a la conferencia. Después, al 1er break post almuerzo, dió la impresión que sobraron varios almuerzos.
La 1era charla después del almuerzo
No sé si la agenda se distribuye por sorteo o por algún otro criterio, pero siento que la 1era charla después de haber almorzado se ve un tanto perjudicada. Y esto fue para ambos días, viernes Y sábado. El proceso digestivo hace lo suyo, y el cerebro grita “Quiero una siesta”.
Si la charla es intelectualmente dura (hay unas más que otras), o el speaker no es precisamente una máquina de irradiar energía, es complejo mantener la atención de la audiencia. Yo sería una real siesta si me tocara dar una charla después de almuerzo.
Día sábado 4 de Febrero, 2023
Ya con el aprendizaje de mucho de lo sucedido el día viernes, el día sábado entiendo que las charlas empezaron a las 9AM en punto o casi en punto. Me perdí presencialmente la charla de @midudev y aqui es donde realmente agradezco que hayan hecho streaming del evento, ya que me pude poner al día durante mi viaje de regreso a casa.
Y el almuerzo, increíblemente puntual, unas ricas fajitas frías, opciones carnivora o vegetal, con galletitas y frutos secos para acompañar. Destaco que no haya sido un almuerzo pesado, ya que el efecto siesta se ve minimizado (lo que es bueno en el contexto de estar en una conferencia).
Gags
Obviamente hubo anecdotas chistosas, como cuando uno de los animadores estaba despidiéndose de Gift (la chica de la charla de Cloudflare), y lo terminaron sacando a él, o cuando se le dío vuelta la botella con agua (siendo que dijeron una y mil veces que no se podía entrar con bebestibles al teatro).
O el “Lo que es ser jefe ahora y estar preguntando ‘¿Y cómo vamos?’” que sacó más de una carcajada entre todos los que hemos lidiado con cierta especie de Scrum masters y cierta especie de jefes de proyectos.
De estos momentos, uno peligrosamente chistoso, sucedió el viernes. Ya al cierre de las charlas decidieron lanzar algunos souvenirs al público, usando una resortera gigante. Si me preguntaran a mi ¡¿en que cabeza cabe hacer una barbaridad así?! si por algun motivo uno de esos recuerdos golpeaba de mala manera en la cabeza o en el ojo a alguien, hubiera sido muy mal recuerdo (fue muy despliegue a producción sin pasar a QA, y sin pruebas previas).
Y lo dicho, no pasó nada fatal, pero en una, tras apuntar demasiado alto; y olvidar el curso de física donde te enseñan que el máximo alcance de un proyectil se logra con una inclinación de 45 grados; golpearon uno de los focos de iluminación… (incidente registrado en un video en Instagram)
Como sea, se agradece que pasen esas cosas, le dan vida al evento y hacen que no parezca estar todo tan pauteado.
Generalidades
Gran parte de las charlas, tanto en los Meetups como en la conferencia propiamente tal, estuvieron muy cargadas a React. Se entiende, ya que como framework es más cercano a Javacript que digamos… ehm… Angular… (Bueno yo vengo del “mundo Angular”, así que me era inevitable sentir eso). Es como si los otros frameworks no existieran.
Así que al menos para mi, es convertir muchos de los conceptos que se expusieron a algún intento de equivalente (aunque sea mental) para Angular 😱.
Otra cosa que me llamó la atención es que varias presentaciones obviaron las recomendaciones clásicas, por ejemplo:
- Una diapositiva no debiera tener más de 7 líneas (pasó en un par de charlas que no llegabas a leer la mitad de una diapositiva y ya pasaban a la siguiente x el tema del tiempo destinado para cada charla)
- Las diapositivas debieran utilizar tipografías legibles y en colores “web safe”, o colores en contraste (digamos que una diapositiva con fondo celeste y letras blancas probablemente no sea la mejor de las opciones para combinacion de colores, menos si quisiste sacarle fotos para complementar tus anotaciones; y algo muy parecido sucede con los temas dark con colores pasteles para los snippets de código).
Lo otro fue el asunto de tomar notas. Yo me eché 1/4 de cuaderno (hoja A5, método Cornell), con anotaciones para cada charla (salvo la de midudev que me la perdí 😭). Muchas anotaciones, por lo que se extrañó un cuaderno y un lapiz oficiales del evento. Culparé a que como mi cuerpo es menos joven que mi cerebro (o porque literalmente ya soy un viejo del siglo pasado), soy de esa minoría que todavía aprecia usar un notebook análogo (aka cuaderno de papel) vs tomar notas en una tablet o en una laptop (o notebook que tb les dicen).
Conclusiones
Para ser la 1era JS Conf realizada en Chile, me arriesgaría a decir que el balance fue absolutamente positivo. Obviamente al ser la 1era versión tuvo esos detalles, que más que empañar la experiencia le dan ese toque humano, y muy propio del desarrollo de software, resolviendo bugs sobre la marcha.
Nuevamente agradecer a todos los chicos y chicas de la organización, a los tremendos exponentes que trajeron ¡uno se siente tan feliz de sentir que no sabe nada!, en serio tanto aprendizaje.
Así que eso. Pendiente me dejo a mi mismo el compartir mis anotaciones. Puede que al único que le sirvan sea a mi, pero va a ser con cariño 👍 ❤️