Volumen 017 · Frogmación Podcast

Entrevista a Pablo Tilotta - 32 años batiendo Bits

Por Juan Gabriel Gomila • • 68 min de audio

0:00 / 0:00
Episodio 017: Entrevista a Pablo Tilotta - 32 años batiendo Bits

Ver el episodio

Momentos clave

Pablo Tilotta empezó con un manual de BASIC y acabó escribiendo sistemas operativos en C. En esta charla con Juan Gabriel Gomila explica por qué las modas tecnológicas van y vienen, por qué Go le ha cautivado y por qué el error de casi todo el mundo es abrir el editor antes de modelar los datos. Sales con una regla de orden y una lista de errores caros que evitar.

Aprender cuando no había buscador

Pablo cuenta sus inicios: el ordenador que su padre les regaló, el manual de programación de la caja y los primeros programas en BASIC. Después, una academia con titulación internacional donde le hacían administrar Unix y escribir un sistema operativo en C.

«si tenía que aprender un lenguaje, te compraba su libro de C, y lo leías como cualquier libro»

De COBOL a Go

Empezó como programador de COBOL, en la rama comercial y no en la de los bancos. Hoy lo que le cautiva es Go, no por simple sino porque resuelve de forma óptima lo complejo: memoria y concurrencia. Lo usa también en producción sobre Amazon Web Services.

«soy instructor del lenguaje go, el lenguaje creado por Google»

Backend y frontend en dos frases

A petición de Juan Gabriel, da la definición más corta posible para quien nunca ha tocado el tema. Añade que la separación existe también por seguridad y que hoy el patrón dominante es una API que el front consume por endpoints con tokens.

«lo que está entre el navegador y la base de datos, todo el procesamiento que hay detrás»

El fanatismo por una herramienta

Critica sin rodeos la base de datos documental más extendida y cuenta discusiones con programadores que querían usarla para un sistema administrativo con transacciones e integridad referencial. Avisa él mismo de que va a generar controversia.

«yo lo que veo en las nuevas generaciones que no hay una abstracción con la herramienta y esto lo veo muy peligroso»

Modas tecnológicas que van y vienen

Juan Gabriel compara el sector con la industria de la moda y Pablo recuerda entornos que arrasaron y hoy no ve por ninguna parte. De uno de esos creadores insinúa que quizá vendió el desarrollo o que le traicionó un socio, y se corrige acto seguido: no se acuerda. La conclusión de ambos es que el buen programador no es el que sabe el último lenguaje.

«es que en el mundo de la tecnología yo creo que es como en la moda, este año se lleva al rojo en el año siguiente, se lleva al verde»

Programar no es saber un lenguaje

Para Pablo el oficio es transformar un problema en una solución, y a veces esa solución ni siquiera es un programa. Por eso mantiene un curso gratuito de programación básica en el que no se ve ningún lenguaje, solo cómo razonar.

«vas a hacer un buen programador cuando en tu cabeza entre un problema y salen una solución»

Empezar por los datos, no por las pantallas

El consejo más práctico del episodio: modelar tablas, campos y relaciones antes de tocar el editor, y dejar el front para el final. Se queja del descuido con los tipos de datos, que se paga cuando la tabla tiene millones de registros.

«uno antes de agarrar un lenguaje programación tiene que sentarse y decir bueno mi sistema va a tener una tabla de usuarios»

Web 3.0, IA y la plataforma propia

Cierra con la descentralización, que no ve como moda, y con su duda sobre si la inteligencia artificial acabará escribiendo el código. Después repasa las cifras de la plataforma de cursos que montó él solo y cómo son los alumnos.

«creo que todo está evolucionando hacia ese camino»

El episodio, en profundidad

El episodio 17 de Frogmación es una de las conversaciones más largas del podcast, y Juan Gabriel Gomila lo reconoce en el propio audio: invitar a otro instructor es como grabar una charla de bar. Al otro lado está Pablo Tilotta, programador argentino con más de tres décadas de oficio, instructor online y dueño de una plataforma de cursos que levantó él mismo. El tema de fondo son las modas tecnológicas: los lenguajes que llegan como la panacea y a los pocos años se apagan.

Empezar cuando había que comprarse el libro

Pablo se define como un amante de los bits. La chispa fue el ordenador doméstico que su padre les regaló a él y a su hermano: entró por los videojuegos y se quedó con el manual de programación de la caja, haciendo sus primeros programas en BASIC. Después vino la academia que una multinacional tenía en Argentina, la única con titulación internacional entonces: administrador Unix y, en tercero, escribir un sistema operativo en C. Su resumen es seco, «algo muy, muy exigente, no era para cualquiera».

La estampa de la época es concreta: máquinas con uno o dos megas de RAM y disquetes de esos «que ya están en museos», internet marcando un número en el módem y una web donde «era todo HTML, puro, casi sin imágenes». Para aprender no había buscador: «si tenía que aprender un lenguaje, te compraba su libro de C, y lo leías como cualquier libro».

De COBOL a Go

Antes de contar qué le gusta hoy, deja claro de dónde viene: es programador de COBOL de toda la vida y dice que podría estar trabajando en un banco. Se especializó en la rama comercial del lenguaje, RM/COBOL, y no en el COBOL de IBM, «que es el que terminó en los bancos». De los lenguajes viejos avisa que hoy son obsoletos y que no metería mano en ninguno.

Lo que sí le ha cautivado es Go: «soy instructor del lenguaje go, el lenguaje creado por Google». No lo vende como lenguaje fácil, sino como lenguaje que resuelve bien lo difícil: el manejo de memoria y lo asíncrono. Y recuerda que nació para dar respuesta a problemas de mucha concurrencia que otros lenguajes no aguantaban con el rendimiento deseado.

No es solo teoría de aula: en su trabajo están montados sobre Amazon Web Services, con funciones en Python y en Go, y cuenta que para tareas con conexión a datos le bastan 41 megas de RAM. En la nube, apunta Juan Gabriel, la memoria que no gastas es factura que no pagas.

Backend y frontend, explicados sin jerga

A petición del anfitrión, Pablo da la definición más corta posible: el backend es «lo que está entre el navegador y la base de datos, todo el procesamiento que hay detrás», y el front es lo que ejecuta el navegador. La separación no es capricho: si todo el procesamiento estuviera delante, cualquiera tendría acceso a la base de datos. De ahí el patrón dominante, una API que el front consume con tokens que identifican quién habla con el backend.

Cada herramienta tiene un fin

Aquí llega la parte que él mismo anuncia como polémica. A Pablo la base de datos documental más famosa le parece mal pensada y mal diagramada, con una curva de aprendizaje horrible; reconoce que fue la primera y que por eso arrastró a todo el mundo, y que hoy hay alternativas que la superan. Cuenta discusiones acaloradas con gente que quería llevarla a un sistema administrativo, justo el caso que pide transacciones e integridad referencial.

El diagnóstico va más allá de un producto concreto: «yo lo que veo en las nuevas generaciones que no hay una abstracción con la herramienta y esto lo veo muy peligroso». Es el símil del bricolaje: un tornillo pide destornillador y una madera pide sierra. «cada herramienta fue creada con un fin».

La moda y el oficio

Juan Gabriel lo formula como industria textil: «es que en el mundo de la tecnología yo creo que es como en la moda, este año se lleva al rojo en el año siguiente, se lleva al verde». Pablo pone el ejemplo del entorno cuyo creador lanzó después otro con las mismas letras en otro orden y un logo de dinosaurio, y la carrera por sacar cursos de aquello que hoy no ve por ninguna parte. De ese creador dice, sin llegar a cerrar la frase, que cree que vendió el desarrollo, o que a lo mejor lo traicionó un socio, y se corrige él mismo en el acto: no se acuerda de lo que pasó.

Su respuesta al ruido es el oficio. Confundir el lenguaje con la programación es el primer error: «vas a hacer un buen programador cuando en tu cabeza entre un problema y salen una solución», y a veces esa solución no es un programa, sino cambiar una herramienta o mover a una persona de sitio. Por eso mantiene un curso gratuito en el que no se ve ni un lenguaje, solo cómo pensar. «el lenguaje es lo de menos, es lo que va a traducir su solución».

Los cimientos son los datos

La recomendación más accionable es de orden. Nadie empieza un edificio por la pintura: se empieza por los hierros y los cimientos.

los cimientos de cualquier sistema son los datos

En la práctica: «uno antes de agarrar un lenguaje programación tiene que sentarse y decir bueno mi sistema va a tener una tabla de usuarios», luego clientes, productos y cómo se relaciona la tabla de ventas; solo después los módulos y, al final, el front. Su queja diaria es la contraria, «yo veo que los programadores son muy malos manejando bases de datos»: gente convencida de que un campo de 255 caracteres da igual que uno de 10, hasta que la tabla tiene millones de registros. También reivindica el diagrama previo y las validaciones; «uno no se tira de cabeza en un editor».

Blockchain, web 3.0 y la IA que programa sola

Sobre la web descentralizada avisa de que no es el más calificado, pero no la ve como capricho pasajero: «creo que todo está evolucionando hacia ese camino». Juan Gabriel aporta el ejemplo sanitario —enseñar tu historial cifrado a un médico en otro país— y ambos coinciden en el freno real: que prospere depende de a quién le convenga.

La otra inquietud es más incómoda para el gremio: «hay mucha gente que está tranquila pensando que el desarrollo vino para quedarse», y él no descarta una inteligencia artificial que reciba el problema y devuelva el código. Sobre quién responde si eso falla lo tiene claro: no hay una persona detrás, así que el marrón es de la compañía propietaria del algoritmo. Y aporta perspectiva: en aquellos años ya existían lenguajes orientados al razonamiento, como Prolog.

Una plataforma levantada desde cero

El último bloque es de emprendimiento. Su plataforma cumplía dos años el 3 de mayo, con seis autores, unos ciento treinta y cinco cursos activos, casi 40.000 alumnos y unos 300 afiliados de los que, admite, solo unos pocos venden de verdad; aquel aniversario lo celebraron con un 50% de descuento. También preparaba un curso a cuatro manos con un amigo común, un Super Mario Bros hecho en Unity. Y coinciden sobre el alumno imposible: «lo quieren todo, lo quieren gratis, lo quieren rápido y lo quieren personalizado».

Se despiden con un thriller psicológico de Katzenbach que le quitó una noche de sueño y un clásico de suspense rodado casi entero en un apartamento. Si te llevas una sola idea, que sea la de empezar por los datos: ahí encajan Diseño de bases de datos de la A a la Z y, para el salto al análisis, el Curso completo de Machine Learning: Data Science en Python.

Lo que te llevas

  • Programar no es saber un lenguaje: el oficio es convertir un problema en una solución, y a veces la solución no pasa por escribir código.
  • Antes de abrir el editor hay que modelar los datos: tablas, campos y relaciones primero; los módulos después; el front, al final.
  • Los tipos de datos importan de verdad: un campo de 255 caracteres donde bastaba uno de 10 se paga en tablas de millones de registros.
  • Go le convenció por rendimiento, manejo de memoria y concurrencia; en producción sobre Amazon Web Services dice bajar a 41 megas de RAM.
  • Cada herramienta se creó con un fin: llevar una base documental a un sistema que necesita transacciones e integridad referencial es buscarse problemas.
  • El backend es lo que va entre el navegador y la base de datos; el front es lo que ejecuta el navegador, y se separan también por seguridad.

Enlaces del episodio

¿Quieres aprender esto en serio?

El curso del que se habla en este episodio: Diseño de bases de datos de la A a la Z.