{"id":9730,"date":"2025-02-18T19:40:19","date_gmt":"2025-02-18T22:40:19","guid":{"rendered":"https:\/\/naaloo.com\/?p=9730"},"modified":"2026-04-07T17:32:19","modified_gmt":"2026-04-07T20:32:19","slug":"arquitectura-de-rrhh-en-los-90s-monolitos-y-visual-basic","status":"publish","type":"post","link":"https:\/\/naaloo.com\/pt\/arquitectura-de-rrhh-en-los-90s-monolitos-y-visual-basic\/","title":{"rendered":"Arquitectura de RRHH en los 90s: Monolitos y Visual Basic"},"content":{"rendered":"<h2><\/h2>\n<p>Los <b>sistemas de RRHH eran monolitos<\/b> en los 90s, con todo armado en Visual Basic y bases de datos Microsoft Access. La realidad de esa \u00e9poca me hace sonre\u00edr: todo el c\u00f3digo viv\u00eda en una \u00fanica aplicaci\u00f3n, sin chance de adaptarse r\u00e1pido a lo nuevo. Los desarrolladores la pasaban mal con ese entorno tan r\u00edgido, donde cada cambio necesitaba un mont\u00f3n de laburo y la innovaci\u00f3n quedaba medio trabada.<\/p>\n<p>Los datos estaban todos amontonados en un solo lugar, y la <b>integraci\u00f3n era un sue\u00f1o<\/b> imposible. Compartir informaci\u00f3n entre aplicaciones era un dolor de cabeza terrible. El an\u00e1lisis de datos y las decisiones se complicaban por esta limitaci\u00f3n. Los procesos de RRHH depend\u00edan de copiar y pegar datos a mano, una tarea que llevaba horas y donde los errores estaban a la orden del d\u00eda.<\/p>\n<h2>APIs REST\/GraphQL: La evoluci\u00f3n de los archivos CSV<\/h2>\n<p>Los archivos CSV quedaron en el pasado. Las <b>APIs REST y GraphQL<\/b> llegaron para cambiar el juego por completo. Laburar con datos en tiempo real y hacer consultas espec\u00edficas es lo que hace que estas tecnolog\u00edas sean buen\u00edsimas. Los desarrolladores la tienen m\u00e1s f\u00e1cil porque las APIs vienen con toda la documentaci\u00f3n necesaria para arrancar a usarlas al toque.<\/p>\n<p>Las <i>APIs REST<\/i> son geniales cuando necesit\u00e1s hacer operaciones b\u00e1sicas como crear, leer, actualizar y borrar datos. Y si quer\u00e9s ir por m\u00e1s, <i>GraphQL<\/i> te deja traer exactamente lo que necesit\u00e1s en una sola consulta, sin desperdiciar recursos ni tiempo. La movida de los CSV a las APIs modernas cambi\u00f3 todo: ahora los datos fluyen m\u00e1s r\u00e1pido y son m\u00e1s f\u00e1ciles de usar.<\/p>\n<h2>Microservicios modulares: Adi\u00f3s a los monolitos<\/h2>\n<p>Los <b>microservicios modulares<\/b> est\u00e1n transformando la forma en que desarrollamos software. Laburando con esta arquitectura, cada componente funciona por su cuenta y se adapta seg\u00fan lo necesitemos. Los equipos pueden meter mano en distintas partes del sistema sin pisarse entre ellos. Lo copado es que si algo sale mal en un microservicio, el resto sigue andando como si nada, y eso hace que el laburo fluya mucho mejor.<\/p>\n<p>La movida de los microservicios nos abre un mont\u00f3n de puertas para sumar tecnolog\u00edas nuevas. Pod\u00e9s enchufar herramientas de an\u00e1lisis de datos o servicios de IA sin tener que dar vuelta todo el sistema. Esta flexibilidad viene b\u00e1rbara cuando ten\u00e9s que responder r\u00e1pido a lo que pide el mercado. Los microservicios son un golazo para armar software que se adapte a lo que viene.<\/p>\n<h2>Event-driven architecture: Notificaciones en tiempo real<\/h2>\n<p>La <b>arquitectura orientada a eventos<\/b> transform\u00f3 mi forma de ver los sistemas. Los componentes se conectan entre s\u00ed de una manera tan natural que me fascina. Las notificaciones llegan al toque, y los usuarios la pasan mucho mejor. Los datos fluyen al instante cuando algo cambia, y eso hace toda la diferencia en el mundo real. Me encanta ver c\u00f3mo los eventos se procesan sobre la marcha, revolucionando el manejo de informaci\u00f3n y las interacciones entre sistemas.<\/p>\n<p>Esta arquitectura me vol\u00f3 la cabeza cuando vi c\u00f3mo los sistemas <i>escuchan<\/i> y reaccionan al instante. Todo funciona m\u00e1s r\u00e1pido y sin vueltas. En mi laburo con sistemas de RRHH, cuando alguien toca un registro, todos los que necesitan saberlo se enteran ya mismo. No solo la comunicaci\u00f3n fluye mejor, sino que todos laburan con los \u00faltimos datos. Esta arquitectura me parece un golazo, y cambi\u00f3 el juego por completo en la tecnolog\u00eda de hoy.<\/p>\n<h2>Clean Architecture y SOLID: Fundamentos actuales<\/h2>\n<p>Los principios <b>SOLID<\/b> y la arquitectura limpia son fundamentales para construir software que perdure en el tiempo. Labur\u00e9 en varios proyectos y comprob\u00e9 que estos conceptos son la base para tener c\u00f3digo m\u00e1s ordenado y f\u00e1cil de entender. La magia de <b>SOLID<\/b> est\u00e1 en dividir las responsabilidades &#8211; cada parte del c\u00f3digo hace lo suyo, y cuando necesito hacer cambios, puedo meterle mano sin romper todo lo dem\u00e1s.<\/p>\n<p>La <b>Clean Architecture<\/b> es una genialidad porque no te ata a nada espec\u00edfico. El c\u00f3digo del negocio va por un lado, y las herramientas que us\u00e1s (bases de datos, frameworks) van por otro. Lo bueno de trabajar as\u00ed es que pod\u00e9s cambiar las piezas cuando quieras. \u00bfNecesit\u00e1s actualizar la base de datos o pasarte a otro framework? No hay drama, el n\u00facleo de tu aplicaci\u00f3n sigue intacto.<\/p>\n<h2>Domain-Driven Design: Modelando procesos de RRHH<\/h2>\n<p>El Domain-Driven Design me apasiona porque logra que el software y el negocio hablen el mismo idioma. Laburando en RRHH, descubr\u00ed que este enfoque hace magia cuando modelamos los procesos del \u00e1rea. Los desarrolladores y expertos en recursos humanos se entienden mucho mejor cuando ponen el foco en el dominio del negocio. Las soluciones tecnol\u00f3gicas terminan reflejando exactamente lo que el \u00e1rea necesita. Me encanta ver c\u00f3mo este m\u00e9todo ayuda a entender mejor los problemas y genera software que realmente sirve para el d\u00eda a d\u00eda.<\/p>\n<h2>De Procedural a Functional Programming: La evoluci\u00f3n t\u00e9cnica<\/h2>\n<p>La programaci\u00f3n funcional se transform\u00f3 en una tendencia que me apasiona cada d\u00eda m\u00e1s. Laburando con funciones puras y sin efectos secundarios, logr\u00e9 resultados mucho m\u00e1s predecibles que con la programaci\u00f3n procedural tradicional. Lo copado es que al tener todo m\u00e1s ordenado, la <b>paralelizaci\u00f3n<\/b> y el <b>testing<\/b> automatizado fluyen naturalmente. Esta movida cambi\u00f3 por completo mi forma de programar y de pensar el desarrollo de software.<\/p>\n<p>Me encanta c\u00f3mo la programaci\u00f3n funcional usa la <i>inmutabilidad<\/i> &#8211; los datos no cambian una vez que los cre\u00e1s, y eso hace que todo sea m\u00e1s limpio y rastreable. Cuando laburo con programaci\u00f3n procedural, me vuelvo loco con los estados que cambian todo el tiempo. Por eso me volqu\u00e9 a lo funcional: las aplicaciones quedan m\u00e1s s\u00f3lidas y son m\u00e1s f\u00e1ciles de modificar, algo que vale oro en el mundo \u00e1gil de hoy.<\/p>\n<h2>Bases de datos: De relacionales a diversas aplicaciones<\/h2>\n<p>En mi experiencia trabajando con bases de datos, he visto c\u00f3mo el panorama cambi\u00f3 por completo. Ya no alcanza con las bases de datos relacionales de toda la vida. Me fascina ver c\u00f3mo cada tipo de base de datos brilla en su propia cancha: las NoSQL son geniales cuando necesit\u00e1s que tu app escale sin volverte loco, mientras que las bases en memoria son una locura para proyectos de IA donde la velocidad es todo. Lo bueno es que cada una tiene su momento y lugar, y eso hace que todo funcione como un relojito.<\/p>\n<p>Laburando en distintos proyectos, aprend\u00ed que elegir la base de datos correcta es como elegir las herramientas para construir una casa. Para apps m\u00f3viles, necesit\u00e1s algo liviano y r\u00e1pido que no te coma los recursos. Y cuando habl\u00e1s de servidores grandes, ah\u00ed s\u00ed vas por bases de datos distribuidas que se banquen el traj\u00edn. Lo copado es que hoy tenemos un mont\u00f3n de opciones para cada proyecto. As\u00ed pod\u00e9s armar soluciones que realmente se ajusten a lo que el mercado pide, sin volverte loco en el intento.<\/p>\n<h2>Arquitectura cloud-native: M\u00e1s all\u00e1 del client-server<\/h2>\n<p>La <b>arquitectura cloud-native<\/b> est\u00e1 cambiando todo el panorama tecnol\u00f3gico que conoc\u00edamos. Me fascina ver c\u00f3mo esta nueva forma de hacer las cosas nos da una <i>escalabilidad<\/i> e <i>flexibilidad<\/i> que antes ni so\u00f1\u00e1bamos. Las aplicaciones ahora se adaptan al toque seg\u00fan lo que necesitemos, repartiendo los recursos de una manera super inteligente. Los equipos de desarrollo pueden meter cambios al instante sin que nada se rompa. Y ni hablar de los <b>microservicios<\/b>, que hacen que los equipos laburen mejor juntos y todo salga m\u00e1s r\u00e1pido.<\/p>\n<p>Cuando pienso en la arquitectura cloud-native, me copa c\u00f3mo las aplicaciones est\u00e1n hechas espec\u00edficamente para sacarle todo el jugo a la nube. Los <b>contenedores<\/b> e <b>orquestadores<\/b> son una masa para manejar todo. Lo m\u00e1s groso es poder escalar horizontalmente &#8211; b\u00e1sicamente, pod\u00e9s agregar m\u00e1s servicios cuando los necesit\u00e1s y listo. As\u00ed consegu\u00eds el balance perfecto entre <i>costos<\/i> e <i>rendimiento<\/i>, y los usuarios terminan re contentos.<\/p>\n<h2>Separation of Concerns: M\u00f3dulos independientes y testing<\/h2>\n<p>Los <b>m\u00f3dulos independientes<\/b> son la base de un software de calidad superior. Cada componente se concentra en hacer una sola cosa, lo que hace que todo sea m\u00e1s f\u00e1cil de arreglar y actualizar. El <i>testing automatizado<\/i> funciona mucho mejor cuando los componentes est\u00e1n separados. Si algo falla, puedo encontrar y solucionar el problema en un m\u00f3dulo espec\u00edfico sin romper todo el sistema. Esta forma de trabajar no solo ahorra tiempo, tambi\u00e9n reduce las chances de meter la pata con errores nuevos.<\/p>\n<p>La organizaci\u00f3n del c\u00f3digo en m\u00f3dulos separados genera una estructura m\u00e1s ordenada y prolija. Los equipos pueden laburar en distintas partes al mismo tiempo, lo que acelera todo el desarrollo. El <b>testing automatizado<\/b> nos asegura que cada pieza funcione bien antes de unirla con las dem\u00e1s. As\u00ed logramos un software m\u00e1s s\u00f3lido y flexible, que se puede adaptar sin dramas cuando hay que hacer cambios.<\/p>\n<h2>Event Sourcing: Trazabilidad y auditor\u00eda en dise\u00f1o<\/h2>\n<p>El Event Sourcing <b>registra cada movimiento<\/b> que pasa en los sistemas. Esta forma de trabajo graba todos los eventos que cambian el estado de una aplicaci\u00f3n. As\u00ed, podemos <i>volver a armar la historia<\/i> de los datos cuando lo necesitemos. Todo queda documentado, lo que hace que el seguimiento sea m\u00e1s claro. Los equipos de RRHH pueden ver paso a paso c\u00f3mo se tomaron las decisiones y analizar cada cambio.<\/p>\n<p>El Event Sourcing <b>cambia todo el juego en el manejo de datos<\/b>. En vez de quedarnos solo con una foto del momento actual, guardamos toda la pel\u00edcula de c\u00f3mo llegamos hasta ac\u00e1. Esta forma de trabajo no solo nos ayuda a entender el por qu\u00e9 de cada cambio, sino que tambi\u00e9n nos da la chance de <i>hacer un an\u00e1lisis m\u00e1s fino<\/i> de c\u00f3mo funciona todo el sistema. Cada registro se vuelve una pieza valiosa para tomar mejores decisiones.<\/p>\n<h2>Real-time Processing: WebSockets y caching distribuido<\/h2>\n<p>El <b>procesamiento en tiempo real<\/b> com <i>WebSockets<\/i> e <i>caching distribuido<\/i> cambi\u00f3 todo el panorama de las apps modernas. Los WebSockets hacen posible que el servidor y el cliente se comuniquen sin parar, ida y vuelta, sin tener que actualizar la p\u00e1gina. Y bueno, el caching distribuido hace magia con el acceso a los datos, haciendo que todo vaya m\u00e1s r\u00e1pido y la app responda al toque.<\/p>\n<p>Los WebSockets y el caching distribuido est\u00e1n revolucionando la manera en que usamos las apps. Los usuarios reciben toda la info al instante, lo que les da el poder de tomar decisiones m\u00e1s r\u00e1pido. La app va como una seda porque no tiene que estar pregunt\u00e1ndole todo el tiempo al servidor. En un mundo donde todos queremos todo ya, tener una app que responde as\u00ed de bien hace toda la diferencia.<\/p>","protected":false},"excerpt":{"rendered":"<p>Los sistemas de RRHH eran monolitos en los 90s, con todo armado en Visual Basic y bases de datos Microsoft Access. La realidad de esa \u00e9poca me hace sonre\u00edr: todo el c\u00f3digo viv\u00eda en una \u00fanica aplicaci\u00f3n, sin chance de adaptarse r\u00e1pido a lo nuevo. Los desarrolladores la pasaban mal con ese entorno tan r\u00edgido, [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":9729,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_joinchat":[],"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9730","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categoria"],"acf":[],"rank_math_focus_keyword":"","rank_math_description":"","rank_math_title":"","rank_math_robots":"","rank_math_score":"","_links":{"self":[{"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/posts\/9730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/comments?post=9730"}],"version-history":[{"count":1,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/posts\/9730\/revisions"}],"predecessor-version":[{"id":10164,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/posts\/9730\/revisions\/10164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/media\/9729"}],"wp:attachment":[{"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/media?parent=9730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/categories?post=9730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naaloo.com\/pt\/wp-json\/wp\/v2\/tags?post=9730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}