Episodes

  • 177. Así se monta un CI/CD en una COMPAÑÍA TOP de PRODUCTO con Nicolás Patarino [TOPIC#11]
    Feb 3 2025

    Potencia la productividad en el DESPLIEGUE de APPS aprendiendo a crear PIPELINES de CI/CD, optimiza cada etapa y reduce errores. 🚀

    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/ci-cd-topic11



    ÍNDICE:

    00:03:03 Previa

    00:03:39 Bienvenida y presentación

    00:04:51 Nicolás nos habla sobre él, su background y el podcast Chimichurri Code

    00:07:11 ¿Qué es CI/CD?

    00:08:55 ¿El CI/CD afecta a la productividad de un equipo? ¿Para qué se hace?

    00:10:59 ¿Cuál es el error más raro que te has encontrado relacionado con CI/CD?

    00:14:04 ¿Se puede tener CI por un lado y CD por otro? ¿Cuál implementar primero? ¿Necesito primero tener TESTS?

    00:18:58 Recomendación de herramienta o plataforma de CI/CD

    00:24:21 Tips & tricks para mantener controlados los costes de servicios de CI/CD

    00:29:57 Gabi cuenta su experiencia: problemas al mergear a la rama principal

    00:33:00 ¿Cómo puedo mejorar los tiempos de un CI/CD cuando hay miles de tests?

    00:37:25 ¿Qué debería tener un PIPELINE? ¿Qué opina Nico sobre los pipelines monolíticos?

    00:43:53 Error humano y hotfixes

    00:46:35 Recomendaciones para empezar y no frustrarse

    00:53:02 ¿Cómo lidiar con los flaky tests en un CI/CD?

    00:57:36 ¡Muchísimas gracias Nico!

    00:59:00 ¿Qué es lo primero que configuras al crear un pipeline de CI/CD?

    00:59:13 ¿GitHub Actions o GitLab CI?

    00:59:21 ¿Alguna vez ignoraste un fallo en el pipeline?

    00:59:32 ¿Odias alguna herramienta de CI/CD?

    00:59:45 ¿Cuántas veces al día debería ejecutarse un pipeline?

    01:00:11 ¿Qué métricas revisas para asegurar que un CI/CD funciona bien?

    01:02:09 ¿Cuál es tu MUST HAVE en un pipeline de CI/CD?

    01:03:12 ¿Crees que los tests lentos pueden arruinar un buen CI?

    01:03:33 ¿Un pipeline sin tests tiene sentido?

    01:04:07 ¿Cuál es la receta del chimichurri?

    01:04:39 ¿Cuándo es el próximo rockndroid?

    01:05:46 ¡Muchísimas gracias de nuevo Nico!

    01:05:52 Agradecimientos y despedida

    Show More Show Less
    1 hr and 8 mins
  • 176. Descubre JETPACK COMPOSE por dentro│Jorge Castillo [TOPIC#10]
    Jan 6 2025

    Conoce cómo funciona JETPACK COMPOSE por dentro y sube de nivel como ANDROID DEVELOPER. 🎨

    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/jetpack-compose-topic10



    ÍNDICE: - Previa

    - Bienvenida y presentación

    - Jorge nos habla sobre él, su historia, su background y por qué deberías quedarte a esta charla

    - ⚡ Si con la intro realizada no te quedas a la charla, ¿nos dice Jorge algún motivo más?

    - ❓ ¿Cómo definirías Jetpack Compose?

    - 🌲 Un caso de uso: un programa que se pueda representar como un árbol de estados con el runtime de Compose

    - 👀 ¿Qué es el REMEMBER y por qué deberíamos usarlo o no?

    - 🧩 ¿Qué es el STATE HOISTING?

    - 🤔 ¿Sería buena o mala práctica pasarle un ViewModel a un COMPOSABLE?

    - 🛠 Anotaciones como @Stable, @Immutable; ¿cómo funciona esto a la hora de la recomposición?

    - ⏱️ Recomendación para mejorar el rendimiento en Jetpack Compose

    - 🗺️ Cómo sería una navegación en una app que todo son composables

    - 🔀 Opinión sobre la interoperabilidad

    - 🌟 ¿Hay algún patrón de presentación que se acople mejor a Jetpack Compose?

    - 🖊️ Abordamos el tema del OVERDRAWING

    - 📖 ¿Hay planes para sacar el libro de Jetpack Compose internals en físico?

    - 👨🏻‍🏫 ¿En qué consiste el curso Jetpack Compose and internals?

    - ¡Muchísimas gracias Jorge! 😊

    - 1️⃣ ¿Qué es lo que menos te gusta de Jetpack Compose?

    - 2️⃣ ¿Qué opinas de la integración con Material 3?

    - 3️⃣ ¿Cuál es tu composable favorito?

    - 4️⃣ ¿Dirías que Compose facilita el desarrollo en equipos grandes?

    - 5️⃣ ¿Has integrado Jetpack Compose con una aplicación que previamente estaba 100% con XML?

    - 6️⃣ ¿Qué reto técnico te ha costado más de resolver dentro del campo de Compose?

    - 7️⃣ ¿Cuánto tiempo dirías que se tarda en dominar Jetpack Compose?

    - 8️⃣ ¿Te parece intuitiva la gestión de estados en Compose?

    - 9️⃣ ¿Qué libro recomiendas para aprender los entresijos de Jetpack Compose?

    - 🔟 ¿XML o Jetpack Compose?

    - ¡Muchísimas gracias de nuevo Jorge! 😊

    - 🎙️ Dónde podemos encontrar a nuestro invitado

    - Agradecimientos y despedida

    Show More Show Less
    1 hr and 10 mins
  • 175. Un PACTO de CABALLEROS 🤝🏼 CORRUTINAS + FLOW [TOPIC#9]
    Dec 23 2024

    Domina CORRUTINAS + FLOW viendo esta charla avanzada. 🎯

    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/corrutinas-flow-topic9



    ÍNDICE:

    - Previa

    - Bienvenida y presentación

    - Ricardo nos habla sobre él y su background

    - ✔ ¿Por qué se debería quedar alguien a ver este episodio? ¿Qué va a aprender?

    - 🤔 ¿Qué son las corrutinas? ¿Cuáles son sus ventajas frente a otras formas de concurrencia?

    - ⚠ ¿Qué es lo que podemos hacer mal cuando usamos corrutinas?

    - 🤯 ¿No deberíamos usar un IO Dispatcher cuando hacemos llamadas backend con Retrofit? Dialogando sobre ello.

    - 👀 Los conceptos de: launch y async. ¿Cuál es la diferencia entre ambos? ¿Para qué se puede usar cada uno de ellos?

    - 💡 Tipos de dispatchers y la cantidad de threads máximo en cada uno.

    - ‼ ¿Con otras bibliotecas como KTOR, Ktorfit, KTOR Client pasaría lo mismo que con Retrofit?

    - 🔍 ¿En qué situación se utilizaría un IO Dispatcher?

    - 🛠 ¿Qué diferencia hay entre LiveData y Flow?

    - 🥶 Corrutinas “en caliente” (Hot Flow) y “en frío” (Cold Flow). ¿Qué significa todo esto?

    - 🛡️ Si quieres utilizar Flows con Room, ¿cuál sería una manera apropiada?

    - 👁️ ¿Cómo inspeccionar o medir la performance de una app para mover procesos pesados y agilizar?

    - ⚡ ¿Qué estrategia crees conveniente para evitar o al menos para ser conscientes de posibles memory leaks en nuestro código?

    - 🧩 ¿Son mejores las corrutinas que RxJava? ¿Por qué?

    - ❓ Si tenemos un ViewModel que tiene viewmodelscope.launch, pero no le pasamos un dispatcher. En los tests si no le pasamos un dispatcher y no podemos intercambiarlo. ¿Qué inconvenientes tendría esto?

    - ❌ Resumen sobre CANCELACIÓN de corrutinas de forma eficiente

    - 📱 Si desarrollo con dispositivo de gama media-alta, pero los usuarios tienen gama media-baja, ¿cómo enfocaríamos el desarrollo de la app para esos dispositivos con bajos recursos?

    - 🕵🏻‍♂️ ¿Qué es eso de un CHANNEL?

    - ✅ Recomendación a la hora de hacer TESTING de Flows

    - 💪🏻 ¿Cuál ha sido el desafío más grande que te has encontrado trabajando con corrutinas, con flows?

    - 📣 ¿Qué diferencia tendríamos al escuchar un StateFlow en un composable padre y uno hijo? ¿Algo a tener en cuenta?

    - 🎒 A la hora de recolectar los flows, si se necesita hacer operaciones como mostrar un dialog en Compose, un Snackbar o cualquier otra cosa que no dependa de cambiar un dato del flow. ¿Se puede hacer uso del stateIn?

    - 🧬 ¿Cómo ves la evolución a futuro de las corrutinas y flow?

    - ¡Muchísimas gracias Ricardo! 😊

    - 1️⃣ ¿Corrutinas o hilos tradicionales?

    - 2️⃣ ¿Flow o LiveData?

    - 3️⃣ ¿Qué operador de Flow usas más?

    - 4️⃣ ¿Cuánto tiempo te tomó dominar las corrutinas?

    - 5️⃣ ¿Qué es lo que más te gusta de Flow?

    - 6️⃣ ¿Cuál fue el bug más raro que has tenido con corrutinas?

    - 7️⃣ ¿Un truco poco conocido sobre corrutinas?

    - 8️⃣ ¿Cuál ha sido el test más complicado que has escrito con corrutinas?

    - 9️⃣ ¿Flow en la UI o en la capa de datos?

    - 🔟 ¿RxJava o corrutinas?

    - ¡Muchísimas gracias de nuevo Ricardo! 😊

    - Agradecimientos y despedida

    Show More Show Less
    1 hr and 6 mins
  • 174. ¿CÓMO funciona un COMPILADOR | KOTLIN AVANZADO❓ [TOPIC#8]
    Dec 2 2024

    Aprende KOTLIN AVANZADO y descubre cómo funciona su compilador. ⚙️


    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/kotlin-avanzado-topic8



    ÍNDICE:

    - Previa

    - 🤯 Gabi del futuro te cuenta lo potente que es esta charla, te va a volar la cabeza

    - Bienvenida y presentación

    - Raúl nos habla sobre él, su experiencia y su background

    - 🤔 ¿Qué considera Raúl que es KOTLIN AVANZADO?

    - 🔍 ¿En qué consiste un compilador? Y mejoras del compilador K2

    - ⛓️ ¿Cómo se enlazaría esto último que ha comentado Raúl del compilador con KSP y antiguamente con KAPT?

    - 📃 ¿En qué consiste Kotlin DSL?

    - 👣 Repaso desde código escrito hasta generación del bytecode

    - 💡 ¿En qué consisten las funciones inline y reified de Kotlin?

    - 📐 ¿Cómo sabemos que una función inline es muy grande? ¿Significa que tiene muchas líneas de código?

    - ✅ ¿Qué son los metadatos?

    - 🎯 Casos especiales de inline: noinline, crossinline. ¿Qué significa cada una?

    - 🚀 ¿Cómo ve Raúl el estado actual de KMP y hacia dónde cree que va?

    - ☁️ Se ha formado una nebulosa entorno a: KMP hace el código nativo pero las otras no, el concepto de KOTLIN NATIVE. ¿Qué significa todo eso por debajo?

    - ❓ Kotlin native, ¿es compatible con C y C++? ¿Es algo tipo C, C++?

    - 👀 Lo que haría Kotlin native es lo mismo que puedes hacer con C, pero lo haces con un lenguaje más sencillo. ¿Es así?

    - 🤖 ¿Cómo se encuentra el estado del arte actual de la IA?

    - ¡Muchísimas gracias Raúl! 😊

    - 1️⃣ ¿Cuál es tu feature favorita en Kotlin?

    - 2️⃣ ¿Cómo sueles manejar la concurrencia en Kotlin?

    - 3️⃣ ¿Qué opinas del soporte de Kotlin para la IA en comparación con otros lenguajes?

    - 4️⃣ ¿Has encontrado limitaciones usando corrutinas?

    - 5️⃣ ¿Cuál es el reto más grande que te has enfrentado con Kotlin?

    - 6️⃣ ¿Qué herramientas de IA recomiendas para Kotlin?

    - 7️⃣ ¿Cómo equilibras el uso de programación funcional y orientada a objetos en Kotlin?

    - 8️⃣ ¿Qué opinas de Kotlin para backend?

    - 9️⃣ ¿Crees que Kotlin puede competir con lenguajes como Python en el ámbito de la IA?

    - 🔟 ¿Kotlin o Dart?

    - ¡Muchísimas gracias de nuevo Raúl! 😊

    - ¡Muchas gracias a Los androides Premium! 😊

    - Despedida y cierre

    Show More Show Less
    58 mins
  • 173. SENIOR DEVELOPER revela cómo escribir CÓDIGO TOP│CALIDAD en el CÓDIGO [TOPIC#7]
    Nov 4 2024

    REFACTORIZA tu carrera como developer, aprende CALIDAD en el CÓDIGO. Una skill muy valorada en el mundo tech. ⚡


    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/calidad-codigo-topic7



    ÍNDICE:

    - Previa

    - Bienvenida y presentación

    - Saúl nos habla sobre él, su experiencia y su background

    - 🔍 ¿Qué es la CALIDAD del CÓDIGO?

    - ⚠ ¿Cómo equilibrar la presión de entregar rápido a la necesidad de mantener tu código limpio y testable?

    - 👀 ¿En cuántas empresas ha estado Saúl donde le han dicho que no hay tiempo para los TESTS?

    - 👨🏻‍💻 ¿Qué practicas recomiendas para equipos de desarrollo para que mantengan un estilo de código homogéneo en el proyecto?

    - ✔ Cuando estás revisando código y el Android Studio de la persona no está configurado de la misma forma que en el proyecto, ¿cómo se explica al equipo que hay que seguir unas normas?

    - 🎯 ¿Cuáles son las métricas más importantes para valorar la calidad del código desde el punto de vista de un lead developer?

    - ⌚ ¿Cuándo debería ser el momento apropiado para REFACTORIZAR una pieza de código?

    - 💡 Hábitos clave o pasos o consejos para refactorizar

    - 🛠 ¿Cómo se integra esto de la calidad en la integración continua?

    - 🤔 ¿Es clean architecture garantía de calidad?

    - ¡Muchísimas gracias Saúl! 😊

    - 1️⃣ ¿Qué es lo primero que revisas al evaluar la calidad de un código?

    - 2️⃣ ¿Cuál es el mayor error que un programador puede cometer respecto a la calidad del código?

    - 3️⃣ ¿Refactorizar o empezar desde cero?

    - 4️⃣ ¿Cuál es tu herramienta favorita para asegurar la calidad del código?

    - 5️⃣ ¿Es el legacy code DEUDA TÉCNICA?

    - 6️⃣ ¿Cuál es el principal indicador de que a un código le hace falta un buen refactoring?

    - 7️⃣ ¿Detekt o Ktlint?

    - 8️⃣ ¿Qué práctica crees que es subestimada, pero es crucial para la calidad del código?

    - 9️⃣ Consejo rápido para mantener el código limpio

    - 🔟 ¿Java o Kotlin?

    - ⚡ Recuperamos la pregunta de si el legacy code es DEUDA TÉCNICA

    - ¡Muchísimas gracias de nuevo Saúl! 😊

    - Dónde podemos encontrar a nuestro invitado

    - Despedida y cierre

    Show More Show Less
    53 mins
  • 172. CONSEJOS CLAVE para SER un PROGRAMADOR de ÉXITO
    Oct 7 2024

    Conoce los consejos clave para ser un programador de éxito. Aplícalos en tu día a día y haz que no puedan ignorarte. 🚀


    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/consejos-clave-programador



    ÍNDICE:

    - Previa

    - Bienvenida y presentación

    - Jesús Lagares (Alpaca Tech) nos habla sobre él, su experiencia y su background

    - 🧑 ¿Cómo era Jesús de pequeño?

    - 📅 ¿Cómo es un día normal en la vida de Jesús?

    - 👨🏻‍💻 ¿Quiénes han sido sus referentes para estar donde está?

    - 👀 ¿Cuál ha sido su mayor reto?

    - 🏆 ¿Y el mayor logro hasta la fecha?

    - 🤔 ¿De dónde viene el nombre de Alpaca Tech?

    - 🎧 ¿Cómo le dio por empezar a crear contenido?

    - ⚡ Las compras WOW en el último año

    - 😱 ¿Qué es la cosa más rara que ha visto desde que lleva programando?

    - 🚀 ¿Qué le recomendarías a alguien que quiere mejorar en su carrera profesional como programador?

    - 📘 Recomendaciones de libros sobre programación y uno que no es de programación

    - 🔍 Recomendación de formación

    - 🖥️ ¿Cuál es tu lenguaje de programación favorito?

    - 🖵 ¿Y tú IDE favorito?

    - ☀️ ¿Prefieres programar de día o de noche?

    - 😇 ¿Qué consejos le darías a un programador novato?

    - 🎯 ¿Qué tecnología emergente te entusiasma más?

    - ✔ ¿Cuál fue tu primer proyecto de programación?

    - 🛠 ¿Qué herramienta no suele faltar en tu stack de desarrollo?

    - 💡 ¿Mejor recurso para aprender programación?

    - 🎞️ ¿Serie o película favorita sobre tecnología?

    - ✨ ¿Frontend o backend?

    - ¡Muchísimas gracias Jesús! 😊

    - 🎙 Recomendaciones para entrevistar en el podcast

    - Dónde podemos encontrar a nuestro invitado

    - Despedida y cierre

    Show More Show Less
    37 mins
  • 171. ¿Existen los TESTS de UI unitarios❓️| UI Testing [TOPIC#6]
    Sep 2 2024

    Domina el UI TESTING. Aplica técnicas avanzadas y EVITA ERRORES en tu apps. 💥

    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/ui-testing-topic6



    ÍNDICE: - Previa

    - Bienvenida y presentación

    - Sergio nos cuenta sobre él, su experiencia y su background

    - ❓ ¿Qué son los UI Tests?

    - 👁‍🗨 ¿En qué se diferencian de los test end-to-end?

    - 🐾 Alguien que aún no haya empezado a hacer tests de UI y quiera empezar, ¿qué pasos debería dar?

    - 🛠️ ¿Qué recursos, qué bibliotecas se pueden utilizar de screenshot test?

    - 🔁 Tengo un montón de screenshot tests hechos con Paparazzi, ¿debería estar pensando en migrarlos a la nueva manera que ofrece Google?

    - 💡 ¿Cuál crees que es uno de los mayores desafíos con el que se encuentran los programadores cuando lidiamos con ellos?

    - ⚙ Recomendación para lidiar con flaky tests

    - 👀 ¿Qué diferencia habría entre un test unitario, un test de integración y un test de UI?

    - 🤯 ¿Existen tests de UI unitarios?

    - 😮 ¿Te ha cambiado mucho a la hora de trabajar con los test de UI el paso de las vistas en XML a Compose?

    - ✔ Primer intento: ¿Qué pasaría si quitáramos los UI tests del ciclo de desarrollo?

    - 🧩 Reformulando: ¿Qué pasaría si quitáramos los tests end-to-end del ciclo de desarrollo?

    - ✅ ¿Qué pasaría si quitáramos los tests de UI del ciclo de desarrollo?

    - ❗Pifiada ÉPICA por no tener tests E2E ni de ningún tipo

    - 🤔 ¿Qué papel juegan los Mocks en un test de UI?

    - 🕵🏻‍♂️ Si tenemos feature flags en nuestro proyecto, ¿eso podríamos comprobarlo en los tests?

    - ⚠ A nivel de estructura, orden. ¿Cuál sería una buena práctica para estructurar los test de UI? ¿Dónde los ponemos? ¿Qué nombre de paquete tienen?

    - 🌐 Meter Internet en unos tests de UI o de end-to-end o lo que sea, no es buena idea, pero hay casos que sí. ¿Se te ocurre alguno Sergio?

    - 🏢 Una empresa tenía una batería de dispositivos (granja) sobre los cuales corrían tests remotamente para validar. ¿Cómo ves esto Sergio? ¿Qué tan fuerte sería implementarlo en una empresa?

    - 📐 ¿Qué patrones se pueden utilizar al hace UI test?

    - 💨 ¿Hay alguna recomendación para que los tests corran más rápido?

    - ‼ Los sharps que salen en los test de Firebase Test Lab, ¿eso que significa? ¿Qué es eso?

    - ✨ App Distribution: ¿ofrece la posibilidad de hacer una prueba automatizada en Firebase?

    - 👉🏼 ¿Has trabajado con esto Sergio? Y explicación sobre qué es

    - 🎯 Mirando al futuro, ¿hacia dónde ves Sergio que va el tema del UI testing?

    - 🐒 ¿Se podría clasificar como human monkey test lo que hacen algunos clientes de tocar en todos los lados?

    - 💯 ¿Qué diferencias clave existen entre los test de UI y los test unitarios?

    - 👨🏻‍💻 ¿Cuál es tu herramienta de UI test favorita?

    - 🧩 ¿Cómo decides que partes de una app les hace más falta UI test?

    - ❌ ¿Cuál es el error más común haciendo test de UI?

    - ▶ ¿Cómo integrar los test de UI en un pipeline de CI/CD?

    - 💥 ¿Paparazzi o Roborazzi?

    - 🧬 ¿Los test de UI te han salvado alguna vez la vida por un bug crítico?

    - 📱 ¿Cómo se manejan los test de UI en una app que no para de cambiar el diseño gráfico?

    - 📄 ¿Qué métricas usan para evaluar la efectividad de tus test de UI?

    - 🔍 ¿UI test o end-to-end test?

    - ¡Muchísimas gracias Sergio! 😊

    - Agradecimientos y despedida

    Show More Show Less
    47 mins
  • 170. DESPIDOS MASIVOS en TECNOLÓGICAS 📉
    Aug 26 2024

    ¡Algo está pasando! DESPIDOS MASIVOS en grandes TECNOLÓGICAS. Te cuento por qué está ocurriendo y qué significa para los programadores. ⚡


    NOTAS DEL EPISODIO:

    👉🏼 https://gabimoreno.soy/despidos-masivos-tecnologicas


    Show More Show Less
    15 mins