Programar es simple
Programar es simple
Remus Richard Dumitrache
Un podcast enfocado en la colaboración, comunicación y eficiencia en el desarrollo de software. Aprende a trabajar en equipo para mejorar la calidad del código y entregar valor al cliente de manera constante. Obtén consejos y técnicas de expertos para optimizar tus habilidades y destacar la importancia de las personas en el proceso. Descubre cómo la colaboración es clave para el éxito en la programación y sintoniza "Programar es Simple" para potenciar tu desarrollo de software.
PES 29 - Es sólo una línea de código
En este episodio hablamos un poco sobre lo que a veces puede llegar a ser la mala práctica de crear soluciones complejas porque es fácil en vez de evitarlo y hacer algo simple ó no hacer nada. Recordad que podéis contactarme a través de: https://remusrd.com.
May 13, 2022
5 min
PES 28 - Productividad, filosofía y pragmatismo con Juan Andrés Núñez
En este episodio de programar es simple hablamos con Juan Andrés Núñez, desarrollador web y autor de https://wmedia.es/.  Es una conversación informal en la que tocamos temas como la obsesión con la productividad ó dedicarse a la formación en el ámbito tecnológico. Recursos mencionados en el episodio: Libro Mastery: https://www.amazon.es/Mastery-Robert-reene/dp/014312417X Jeffrey Way: https://laracasts.com/@JeffreyWay Redes de Juan: https://wmedia.es/ Recordad que podéis contactarme a través de: https://remusrd.com.
Mar 24, 2022
55 min
PES 27 - La actualidad del frontend, con Emanuel Suca
En este episodio hablamos un poco sobre el estado del front end, os traigo a Emanuel que tiene más idea que yo y hablamos de Angular, React, Vue y otros temas que han ido saliendo sobre la marcha como Github Copilot. Recordad que podéis contactarme a través de https://remusrd.com.
Mar 9, 2022
29 min
PES 26 - Quiero hacer un master
En este episodio os cuento una conversación que tuve con una amiga el otro día, hablamos un poco de estudios. Recordad que podéis contactarme a través de https://remusrd.com.
Mar 8, 2022
7 min
PES 25 - Validamos. Pero, ¿Dónde?
En este os cuento acerca de una de las últimas entrevistas que hice(como entrevistador). Normalmente, hacemos una prueba técnica(coding challenge) la cual consiste en hacer un pequeño servicio que cumple una serie de requerimientos a través de un REST API. Intro a arquitecturas limpias, tienes una capa principal dónde está el dominio, que son los objetos que tendrán la lógica de negocio, yo cuando he trabajado con este tipo de arquitecturas, dominio y aplicación van de la mano, entonces, los casos de uso/servicios son los que están en el centro de la arquitectura, sólamente las piezas interiores conocen sobre las exteriores, como exteriores tenemos los repositorios, tenemos los controllers, etc, que conocen de los casos de uso pero no al revés, yo desde un caso de uso, no sé si me llama un controller ó un evento ó lo que sea, normalmente los dividimos por inbound/outbound, controller sería un inbound y repository sería un outbound. La persona en cuestión tenía todas las validaciones dentro del objeto de la petición al servicio. Llegando a hacer saber al caso de uso acerca de JSON por ejemplo. Tipos de validación : cliente(Front end), servidor(API, dominio) Cliente: Validación de formularios, feedback usuario etc. La API valida la forma del mensaje que se recibe, por ejemplo que una fecha sea una cadena ó que una cantidad sea un número, se podrían llegar a validar por ejemplo en el caso de una transferencia que la cantidad sea positiva, si eso tuviese sentido a la hora de exponer nuestro API. El dominio, normalmente, valida las reglas de negocio, por ejemplo, si quieres hacer una transferencia, que tengas saldo suficiente, normalmente en cómo suelo montar las arquitecturas de los servicios, si necesitas acceder a la bbdd seguro que es una validación de dominio. Recordad que podéis contactarme a través de https://remusrd.com. Este episodio fue grabado en twitch: https://www.twitch.tv/remusrichard.
Mar 4, 2022
11 min
PES 24 - No dupliques datos
Cuando empecé en mi equipo, el primer cometido, antes de desarrollar nada, era mover la lógica de aplicación que había en un monolito a microservicios. En este episodio os cuento sobre: → la situación en la que estábamos, cómo se llegó a esta decisión y qué herramientas teníamos → Cómo mantuvimos la aplicación funcionando igual que antes antes de que migrásemos cada cliente    → El proceso de migración, por qué falló aunque fuese transaccional   → Qué podríamos haber hecho para arreglarlo Recordad que podéis contactarme a través de https://remusrd.com . Este episodio fue grabado en twitch: https://www.twitch.tv/remusrichard
Mar 2, 2022
11 min
PES 23 - Partiendo el monolito
→ Mi experiencia saliendo del monolito(Episodio anterior, hablábamos de qué approach elegir. https://open.spotify.com/episode/3ErtKuvhTxcHClZebZibCO?si=c9882cf7bd644d46 ) → Es una historia que suelo contar en las entrevistas cuando me preguntan por un fuck up(siguiente episodio) → Esto empezó cuando teníamos que sacar a microservicios cierta parte del funcionamiento del monolito → No se podían perder datos, había que tener las dos opciones siempre disponibles, es decir, ciertos clientes iban a usar una versión y el resto la otra(beta group) → No fue un desacoplamiento 100% del monolito, el monolito seguía recibiendo todas las peticiones, actuando como un api gateway, hacía autorización/autenticación y comprobaba si estabas en la beta para saber qué código ejecutar, si llamar al nuevo mS ó ejecutar el código php(feature flags → [<https://open.spotify.com/episode/4nyU3pzk7SIvtpIVFw71dB?si=MvUdVzOKS-mzAP5Z7o4MdQ>](<https://open.spotify.com/episode/4nyU3pzk7SIvtpIVFw71dB?si=MvUdVzOKS-mzAP5Z7o4MdQ>)) → La información que no se tenía en el microservicio, por ejemplo datos de empleados, se le forwardeaba al microservicio en la petición ó respuesta, ejemplo, si mi mS tuviese un id de propietario de una cuenta de banco, el monolito antes de pasarselo al front end de vuelta, le añadía el nombre y datos del propietario que necesitaba mostrar. El problema de esto es el acoplamiento que se crea. → Siguiente iteración, para quitar esta dependencia con el código de php, cada vez que hacíamos un cambio al contrato ó añadíamos un endpoint, teníamos que modificar el código en los dos lados. Primero, añadimos una conexión directa a la bbdd del monolito(en este caso era una réplica de sólo lectura) y ahí ya sacábamos diréctamente  todos los datos necesarios para retornar al front end. → Última iteración, fue empezar a tener las tablas de las que dependíamos, por ejemplo empleados, duplicadas en nuestra bbdd del microservicio para ser autónomos.     → Empezar a consumir los eventos de las diferentes entidades, como por ejemplo cuando se crea un empleado, actualiza ó se borra, de esa forma, tendríamos los datos en nuestro lado. Pero aquí faltaban los eventos de antes(SQS y SNS no son event store) entonces había que recrear estos eventos, ir a través de toda la tabla de empleados, y emitir un evento por cada uno para que esos datos se actualicen en nuestro lado. Recordad que podéis contactarme a través de https://remusrd.com . Este episodio fue grabado en twitch: https://www.twitch.tv/remusrichard
Mar 1, 2022
11 min
PES 22 - Monolito y microservicios
→ Empecemos con el monolith     → No tienes un dominio claro     → No tienes dinero/tiempo para gastar     → Quieres validar validar rápidamente un modelo negocio     → pocas personas van a contribuir → Directamente a microservicios     → Tienes el dominio claro, te viene dado, por ejemplo un banco, dominio de cuentas, tarjetas etc...     → Tienes inversión externa.     → Las suficientes manos para crear un sistema distribuido en general, pipelines, infraestructura(Kubernetes), trazabilidad, es más complejo de       saber lo que está pasando     → Mucha gente que si no tendría que commitear al mismo repo     → Conocimientos técnicos/dominio para evitar un monolito distribuido → Qué elección tomar     → Norma general, empezar por monolito, partir después, probablemente no sepas por dónde partir     → separar dominios a nivel de código, no a nivel de aplicaciones. Pensar en las razones que tiene una cosa/funcionalidad para cambiar.     → Ejemplo con notificaciones. Recordad que podéis contactarme a través de https://remusrd.com . Este episodio fue grabado en twitch: https://www.twitch.tv/remusrichard
Feb 28, 2022
13 min
Episodio 21 - Refactoricemos hoy!
Hablemos de qué es un refactor → Cambios en el código que son demasiado pequeños para aportar valor, pero en su conjunto sí que aportan. Haciendo estos cambios de forma pequeña y utilizando otras metodologías como el paralell change(debate para otro episodio), evitamos introducir bugs, siempre ayudándonos de tests. Os cuento la historia sobre mi manager, cómo nos pregunta sobre un refactor que planteamos, era una tarea en la que teníamos que compartir un documento entre varias personas, pero la arquitectura en general de la aplicación, no estaba pensado para ello, había algunos tipos que sí que se podían compartir y otros que no, entonces para no ensuciar todo el código con ifs por todas partes, decidimos sacar toda esta lógica a otro servicio, os cuento más en otro episodio, pero quería llegar al punto de que esto no era un refactor, era una reimplementación ó un rewrite entero de las funcionalidades que ya teníamos. La productividad de tu IDE → algo de lo que podría estar hablando horas, pero hoy respecto a los refactorings, saber atajos como por ejemplo en Intellij Idea, escribir .val después de una expresión y eso te generará una variable, a la hora de escribir tests o código productivo es súper útil. Yo soy un friki de este tipo de trucos, por ejemplo lo cursores múltipls, atajos para casi cualquier refactor etc, pero si usas intellij por ejemplo, con saber un par de atajos como por ejemplo del doble shift para buscar cualquier cosa ó cmd + shift + a para buscar caulquier acción evitarías que me lloren los ojos y que me ponga nervioso mientras escribes todo letra a letra. Normalmente no debería afectar al alcance que tenemos, por ejemplo yo cuando refactorizo, alguna cosilla que no me gusta, suelo hacerlo, ver que todo funciona pasando todos los test. https://refactoring.guru/es
Jan 17, 2022
13 min
Episodio 20 - Despleguemos un viernes!
Hoy os cuento un par de historias de amigos que siempre me hablan que desplegar un viernes es un dolor y que les da miedo, os cuento mi visión acerca del tema y lo que creo que deberíamos mirar.  Recordad que podéis contactarme a través de https://remusrd.com .
Dec 10, 2021
12 min
Load more