Repite conmigo: no me da la vida. No me da la vida. ¿Te suena? Es lo último que te dije la semana pasada… y perfectamente podría haber sido el asunto de esta.
De hecho, iba a serlo. Pero guárdatelo, porque seguramente sea el del jueves que viene.
Hoy vuelvo con casos prácticos de los que suelen gustar bastante por aquí. Y aprovecho para hilarlo con otra de las reflexiones del verano (eso te lo dejo para el final).
Trabajando en un proyecto bastante grande para un cliente (agencia de marketing), necesitábamos hacer un proceso que involucraba Airtable – Google Sheets – un cuadro de mando en Looker Studio y Slack.
Te enseño el resultado y después te cuento el qué, el cómo y el porqué me resulta interesante el caso:
¿Qué necesitábamos?
Volcar ciertos cambios en Airtable (concretamente, la asignación de tareas del equipo para un cliente) a un dashboard de Looker Studio y notificar de dichos cambios al equipo por Slack.
Para conseguirlo, necesitábamos apoyarnos en una herramienta intermedia como Google Sheets e interconectarlo todo con nuestro querido Make
¿Cómo lo monté?
La distinción clave aquí estaba en si el cliente ya lo teníamos en nuestro registro de Google Sheets o era uno nuevo.
Si ya lo tenemos, lo recuperamos y:
- Actualizamos los datos en Sheets y marcamos como actualizado en Airtable
- Procesamos todos los cambios que han ocurrido en la fila y los detallamos por Slack. Aquí se hace muuucho trabajo con fórmulas de procesado de números y textos (comparar lo de Sheets con lo de Airtable para ver si es diferente). Todo esto se hace en la pelotita morada y aplicando las fórmulas que ofrece Make para este tipo de acciones.
¿Y si era nuevo? Lo más habitual sería replicar todo el proceso de arriba ya que se repetía punto por punto.
Pero, en mi caso, decidí meter una variante (es lo que ves en la rama de debajo en la captura):
- Creamos el registro en Google Sheets.
- Llamamos de nuevo a esta misma automatización pasándole el ID del cliente
- FIN
En lugar de repetir el 90%, hacemos ese 10% especial y reaprovechamos lo que ya hemos montado.
💡💡💡
El ejemplo de arriba es un clarísimo ejemplo clásico de recurrencia (o, más concretamente, recursividad): un proceso que se repite y «se llama» a sí mismo.
Algo que, en programación, se trabaja constantemente para hacer un código más eficiente y mucho más fácil de mantener.
Y aquí es donde te lo hilo con la reflexión: una de las cosas que he estado pensando este verano es en cuántos temas de mi «pasado» de programador me he traído a un presente en el que trabajo más del 90% en entornos nocode sin tocar ni una línea de código.
Siempre he dicho que no es necesario saber programar para automatizar.
Pero… empiezo a pensar que tiene algo de mentira esa frase. No es condición necesaria… pero puede ayudar bastante aunque no tengas que tocar ni una línea de código. Porque esa solución de recursividad que te contaba arriba a mí me salió «casi natural» pero puede que no sea tan intuitiva como me lo parece.
Ya te voy anticipando que esa va a ser otra de las formaciones que voy a lanzar antes de final de año: aterrizar en lenguaje normal y sin tecnicismos conceptos útiles para la vida automatista. Especialmente, cuando quieres «pisar el acelerador»:
Programaciónautomatización orientada a objetos → esto lo conté un poco en la WordCamp Zaragoza- Estructuras de datos básicas: listas, arrays, bucles, iteradores…
- Principios de bases de datos (y por qué Google Sheets no lo es)…
- Qué hay detrás de una API o un webhook…
- Cómo documentar o hacer diagramas efectivos…
- Diseño de algoritmos y algoritmos clásicos (está tó’inventao…)…
- Y otras cosas que me guardo porque no quiero alargar esto
Así que, como hice hace un par de semanas…
¿Cómo te suena el tema?
(haz clic solo en la que te interese. Todas llevan al mismo sitio – y esta vez sí que funcionará bien😂)
> Si cuesta menos de 100€, me interesa
> Lo quiero. Sácalo. YA
> Not bad, pero no creo que pueda sacarle partido
> Nah, no me interesa
Seguiremos informando
Santy
PD: el primer nombre que me vino a la cabeza es «Bases de programación para no coders»… pero me parece una 💩. Estoy abierto a sugerencias mejores.
PD2: no me da la vida. Recuerda.