{"id":26587,"date":"2021-07-15T15:31:27","date_gmt":"2021-07-15T15:31:27","guid":{"rendered":"https:\/\/building.nu.com\/scaling-data-analytics-with-software-engineering-best-practices\/"},"modified":"2024-02-27T13:13:16","modified_gmt":"2024-02-27T13:13:16","slug":"ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software","status":"publish","type":"post","link":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/","title":{"rendered":"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A medida que el an\u00e1lisis de datos tiene cada vez m\u00e1s impacto, los equipos de datos crecen y los conjuntos de datos se vuelven m\u00e1s numerosos. Esto implica nuevos desaf\u00edos de colaboraci\u00f3n y eficiencia, as\u00ed como de calidad y capacidad de descubrimiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En Nubank, el banco digital m\u00e1s grande del mundo con 40 millones de clientes, los datos son el centro de nuestro negocio, desde la toma de decisiones autom\u00e1ticas de suscripci\u00f3n de cr\u00e9dito hasta el env\u00edo de comunicaciones personalizadas o la generaci\u00f3n de informes regulatorios. Contamos con una plataforma de datos de autoservicio donde todos pueden consultar cualquier dato no restringido (como datos no identificables personalmente), crear tablas y agregarlas a nuestras canalizaciones. En 8 a\u00f1os crecimos hasta alcanzar alrededor de 800 contribuyentes que agregaron 40,000 tablas a nuestras canalizaciones de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para seguir utilizando los datos de una manera \u00e1gil y productiva con el crecimiento de los usuarios y usos de datos, hemos visto que dos factores son clave: la&nbsp;<strong>organizaci\u00f3n del equipo<\/strong> y los&nbsp;<strong>est\u00e1ndares de ingenier\u00eda<\/strong>&nbsp;para hacer cumplir las buenas pr\u00e1cticas de colaboraci\u00f3n.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En t\u00e9rminos de&nbsp;<a href=\"https:\/\/building.nu.com\/distributing-the-data-team-to-boost-innovation-reliably\/\">organizaci\u00f3n del equipo<\/a>, creamos el rol de Ingenier\u00eda de An\u00e1lisis, una funci\u00f3n dedicada a la estrategia y gesti\u00f3n de datos, en t\u00e9rminos de calidad, privacidad, confiabilidad, arquitectura y costos. Los ingenieros de an\u00e1lisis est\u00e1n distribuidos en la mayor\u00eda de los equipos multifuncionales y de productos. Trabajan en estrecha colaboraci\u00f3n con un equipo de plataforma de datos centrado en infraestructura y herramientas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En t\u00e9rminos de est\u00e1ndares de ingenier\u00eda, hemos creado herramientas y procesos t\u00e9cnicos que nos permiten hacer que la organizaci\u00f3n prospere, permitiendo a los contribuyentes de datos trabajar de forma aut\u00f3noma y productiva, aprovechando el trabajo de otros a lo largo del tiempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfCu\u00e1les son esos est\u00e1ndares de ingenier\u00eda que permiten trabajar con datos de manera m\u00e1s eficiente y colaborativa?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">En este art\u00edculo, te explicaremos c\u00f3mo utilizamos los est\u00e1ndares de ingenier\u00eda de software para:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Parte 1: Permitir contribuciones aut\u00f3nomas y estructuradas<\/li>\n\n\n\n<li>Parte 2: Aprovechar el trabajo en equipo y la colaboraci\u00f3n<\/li>\n\n\n\n<li>Parte 3: Simplificar la propiedad del ciclo de vida de los datos&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/ew6iWwOF151UlIN9KK8RtnxtGZsbpU7yYnnQpZc4lW_nQc7g2DPHFvvTu__A89khkQNhrFk-yMmDtRauCgA31V3qZ1-zxDi3DIjUFH-DFICR4ckbdJfsJ0J4JrTLs2xd5WF8iuWo\" alt=\"Software engineering best practices making data work more efficient and collaborative\"\/><figcaption class=\"wp-element-caption\">Mejores pr\u00e1cticas de ingenier\u00eda de software que hacen que el trabajo de datos sea m\u00e1s eficiente y colaborativo<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 1:&nbsp; Permitiendo contribuciones aut\u00f3nomas y estructuradas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para ampliar nuestro proceso de contribuci\u00f3n a los canales de datos, intentamos encontrar el equilibrio adecuado entre libertad total y un marco tedioso. Hoy en d\u00eda, cualquier Nubanker capacitado puede crear una tabla y agregarla al proceso en un par de horas o menos, casi de forma totalmente aut\u00f3noma, con un proceso de revisi\u00f3n por pares simplificado. Nos permite iterar r\u00e1pidamente en el trabajo de datos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Objetos estructurados estandarizados<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Todo nuestro sistema de datos se basa en muchos componentes estandarizados en Scala. Cada tabla se crea a trav\u00e9s de un&nbsp;<\/em><strong><em>objeto estandarizado espec\u00edfico con atributos estructurados<\/em><\/strong><em>.&nbsp;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un objeto de tabla de datos en nuestro sistema se compone actualmente de tres tipos principales de atributos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La&nbsp;<strong>consulta<\/strong>&nbsp;que declara la transformaci\u00f3n<\/li>\n\n\n\n<li>La lista de&nbsp;<strong>entradas<\/strong>&nbsp;de tabla utilizadas en la consulta<\/li>\n\n\n\n<li><strong>Metadatos estructurados<\/strong>&nbsp;como el nombre del conjunto de datos resultante, la descripci\u00f3n del conjunto de datos y de cada columna, el propietario del conjunto de datos, las autorizaciones de protecci\u00f3n de datos, a qu\u00e9 capa de calidad pertenece este conjunto de datos, etc.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La lista de entradas nos permite agregar autom\u00e1ticamente la tabla que se ejecutar\u00e1 en la canalizaci\u00f3n en el lugar correcto del gr\u00e1fico de dependencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En cuanto a los metadatos, dependiendo de la capa de calidad de esta tabla, se requerir\u00e1n todos o solo parte de los atributos de los metadatos, para asegurarnos de obtener buena documentaci\u00f3n para conjuntos de datos de alta calidad, como&nbsp;<a href=\"https:\/\/building.nu.com\/data-quality-governance\/\">conjuntos de datos b\u00e1sicos<\/a>, y limitar la fricci\u00f3n para crear conjuntos de datos experimentales. Los metadatos de autorizaci\u00f3n requeridos tambi\u00e9n nos permiten configurar f\u00e1cilmente la gesti\u00f3n de acceso granular.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Convenciones de nomenclatura, reutilizaci\u00f3n de m\u00e9tricas y organizaci\u00f3n de archivos<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para facilitar el descubrimiento de datos y fomentar la coherencia y consistencia de las m\u00e9tricas, implementamos convenciones de nomenclatura no solo para las tablas en s\u00ed sino tambi\u00e9n para las m\u00e9tricas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n creamos marcos que nos permiten definir una m\u00e9trica una vez (tanto su c\u00f3digo de c\u00e1lculo como sus metadatos) y reutilizarla en m\u00faltiples conjuntos de datos.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Finalmente, definimos una organizaci\u00f3n de estructura de archivos espec\u00edfica en nuestro repositorio para asegurarnos de que el descubrimiento de c\u00f3digo sea f\u00e1cil, que todo el c\u00f3digo que nuestro canal de datos debe ejecutar est\u00e9 en el lugar correcto, y que tengamos los accesos adecuados y cumplamos con los requisitos para la gesti\u00f3n de cambios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Proceso de Prueba de Calidad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para permitir que cualquiera pueda escribir cualquier consulta y agregarla al proceso, debemos asegurarnos de que se realicen algunos controles de calidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Realizamos pruebas de calidad a dos niveles: transformaciones de la propia consulta (pruebas unitarias) y ajuste general con el resto del sistema (pruebas de integraci\u00f3n).<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En primer lugar, existen m\u00faltiples pruebas peque\u00f1as llamadas&nbsp;<strong>pruebas unitarias<\/strong>, escritas por los contribuyentes de datos, que verifican que los resultados sean los esperados por las transformaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Escribimos nuestras consultas en Scala, lo que nos permite dividir nuestras transformaciones en peque\u00f1as funciones que pueden (y deben) probarse unitariamente. Para probar las transformaciones de Spark, utilizamos el&nbsp;<a href=\"https:\/\/github.com\/holdenk\/spark-testing-base\">conjunto de pruebas de Holdenkarau&nbsp;<\/a>que nos brinda las clases base necesarias para ejecutar consultas de Spark. Una prueba unitaria suele tener este aspecto:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/uNMux6JFeK9LlwtZ8eb82MB88fMIXljsQRvpkzNNvkrtcBhVm8SqSwnQH2DjaWiD8Y-n6BRHJ7a6L_YfMUHAsFWrrSoiFE5tcn60YjBLAnIMhCqyKp1_vVlOe_sCg1XmEYyeB0OJ\" alt=\"Unit test with Spark\"\/><figcaption class=\"wp-element-caption\">Prueba unitaria con Spark<br><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En segundo lugar, debemos comprobar que si agregamos esta tabla al flujo de datos, encaja bien con el resto del sistema y nada m\u00e1s se ver\u00e1 afectado negativamente. Se llaman pruebas de integraci\u00f3n. Para publicar una nueva tabla o realizar cambios en una existente, deben pasar todas las pruebas de integraci\u00f3n. Verifican que todas las entradas existan, ya sea otra tabla o una columna de tabla, o que no puedan surgir inconsistencias en el momento de la compilaci\u00f3n. Estas pruebas de integraci\u00f3n las escribe el equipo de la plataforma central y no es necesario reescribirlas para cada nueva tabla o cambio.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 2: Aprovechando el trabajo en equipo y la colaboraci\u00f3n&nbsp;<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Intercambio de conocimientos en revisiones de c\u00f3digo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La revisi\u00f3n por pares finaliza el proceso de contribuci\u00f3n a nuestra cartera de datos. Ayuda a garantizar que el c\u00f3digo sea de buena calidad y siga las mejores pr\u00e1cticas, adem\u00e1s de brindar comentarios pr\u00e1cticos as\u00edncronos al colaborador y capacitar al revisor para que explique sus comentarios. En general, el conocimiento se difunde sin problemas a trav\u00e9s de esas revisiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Hay dos revisiones para agregar un nuevo objeto a nuestro repositorio de datos: una para verificar la l\u00f3gica de negocios y otra para verificar las mejores pr\u00e1cticas de Scala, Spark y pruebas.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los Ingenieros de Anal\u00edtica y otros colaboradores senior se turnan para dividir las responsabilidades de revisi\u00f3n t\u00e9cnica. Una buena parte de la revisi\u00f3n se centra en garantizar que el c\u00f3digo sea claro y legible, dividido en peque\u00f1as funciones y con pruebas unitarias claras. Por lo general, podemos revisar cada solicitud de extracci\u00f3n en el plazo de un d\u00eda.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reutilizando c\u00f3digo con bibliotecas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Otro est\u00e1ndar para trabajar en grandes proyectos de ingenier\u00eda es asegurarse de que los contribuyentes se basen en lo que los dem\u00e1s ya han hecho, para ser m\u00e1s productivos y centrarse en las nuevas incorporaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una de las razones por las que elegimos tener nuestra base de c\u00f3digo de datos en Scala es permitir a los usuarios de datos crear y desarrollar bibliotecas que contengan funciones desarrolladas por otros en el pasado. Los equipos usan, crean y contribuyen a las bibliotecas para reutilizar las mismas estructuras y definiciones en m\u00faltiples conjuntos de datos, adem\u00e1s de generar series de conjuntos de datos similares mediante programaci\u00f3n y agregarlos al proceso ETL.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por ejemplo, nuestra plataforma de experimentaci\u00f3n genera autom\u00e1ticamente conjuntos de datos con muchas m\u00e9tricas para cada prueba A\/B, de modo que se puedan tomar decisiones muy r\u00e1pidamente sin cuellos de botella en el an\u00e1lisis.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esto aumenta la velocidad de entrega de nuevos conjuntos de datos y tambi\u00e9n simplifica la mantenibilidad y la coherencia, ya que la l\u00f3gica centralizada se mantiene una vez para m\u00faltiples conjuntos de datos. En general, aumenta la eficiencia y la calidad de los an\u00e1lisis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Documentaci\u00f3n y descubribilidad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una parte clave para colaborar eficazmente es permitir que cualquiera encuentre la informaci\u00f3n correcta de una manera sencilla. Trabajamos en tener documentaci\u00f3n disponible en diferentes niveles: en el proceso de contribuci\u00f3n y nuestra plataforma de datos, en el objetivo y propietarios de los conjuntos de datos, y en todas las columnas y m\u00e9tricas de cada tabla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Estamos creando herramientas y paneles internos para que esta documentaci\u00f3n y metadatos sean f\u00e1cilmente detectables y navegables para que los Nubankers puedan ser m\u00e1s efectivos con el trabajo con datos. Un ejemplo es Compass, nuestro motor de b\u00fasqueda de datos interno que obtiene informaci\u00f3n de los metadatos que generamos.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/okKqyYcx9QV4tFP1-ZnnDp4bg2LVOX2ydiLUzthX6Tt-oR5fhki_7RrCL3lNMgapQjMof21f1g06soWlhOEONS7GzUPdWdcXWY-V6_VAm5srMalEVRO6nTWNiB5nzOLRNALzPPVe\" alt=\"Compass, our internal data search engine\"\/><figcaption class=\"wp-element-caption\">Compass, nuestro buscador de datos interno<br><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Parte 3: Simplificando la propiedad del ciclo de vida de los datos<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">Monitoreo usando metadatos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitamos asegurarnos de que el sistema funcione en su conjunto. El monitoreo nos permite tener planes de gobernanza de datos y OKR, y asegurarnos de que todo sea consistente y de buena calidad con el tiempo.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En general, monitoreamos la calidad de los datos generados por la consulta, la optimizaci\u00f3n de la consulta, la experiencia del usuario y los aspectos de gobernanza relacionados con la propiedad de los datos, las dependencias de linaje y las restricciones de acceso. Nuestro monitoreo se basa en nuestros metadatos declarados de nuestros objetos estructurados, as\u00ed como en m\u00e9tricas calculadas autom\u00e1ticamente como el recuento de filas, el valor promedio de una columna, el horario disponible o el tiempo para ejecutar una consulta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mostramos esta informaci\u00f3n en paneles, as\u00ed como alertas que env\u00edan directamente un mensaje en Slack a las personas responsables activadas por algunas reglas de importancia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Manteniendo conjuntos de datos a lo largo del tiempo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los usuarios normalmente esperan que las tablas en la canalizaci\u00f3n de datos se mantengan correctas con el tiempo. Sin embargo, la innovaci\u00f3n iterativa de productos a menudo se correlaciona con cambios en los datos recopilados o en su estructura. Las necesidades de mantenimiento pueden surgir de forma proactiva debido al desarrollo de nuevos productos y la refactorizaci\u00f3n de servicios, o de forma reactiva a trav\u00e9s de alertas de nuestro monitoreo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Necesitamos asegurarnos de que cuando los productos evolucionen, tengamos las herramientas adecuadas para mantener las tablas afectadas en el futuro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al igual que en la ingenier\u00eda de software, la documentaci\u00f3n, las pruebas unitarias, las pruebas de integraci\u00f3n y las comprobaciones de monitoreo son barreras de seguridad para garantizar que cualquier persona pueda actualizar el c\u00e1lculo del conjunto de datos sin causar problemas ni cambiar el objetivo principal definido por el creador inicial de la tabla. Aunque tenemos propietarios de datos para todos nuestros objetos de datos, este sistema nos permite tener eficiencia operativa, ya que cualquiera puede turnarse para solucionar problemas de datos confiando en la seguridad que brindan las barreras de seguridad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gracias a los metadatos utilizados para clasificar tablas en diferentes categor\u00edas (<a href=\"https:\/\/building.nu.com\/data-quality-governance\/\">conjuntos de datos b\u00e1sicos<\/a>, conjuntos de datos cr\u00edticos, entradas de modelos, etc.), tenemos diferentes expectativas con respecto a qu\u00e9 tan r\u00e1pido se debe resolver un problema y qui\u00e9n debe validar los cambios.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Control de Versiones<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Las transformaciones de datos definidas por el usuario, as\u00ed como las bibliotecas compartidas, se administran en un repositorio git centralizado. Como usamos git, tambi\u00e9n obtenemos capacidades de control de versiones, as\u00ed como interfaces simples para revisiones por pares. Eso significa que tenemos un historial rastreable de cambios en la definici\u00f3n de un conjunto de datos. Con este historial, podemos revertir los cambios si es necesario, comprender c\u00f3mo se generaron estos datos en el pasado o incluso ejecutar una versi\u00f3n anterior de nuestras transformaciones de datos. Esta capacidad de control de versiones ha demostrado ser una de las partes m\u00e1s importantes de nuestro sistema, para retroceder f\u00e1cilmente cuando algo sale mal y con fines de auditor\u00eda.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cada vez m\u00e1s empresas est\u00e1n invirtiendo en plataformas de autoservicio para eliminar el cuello de botella de un equipo de datos \u00fanico. Si bien esas plataformas definitivamente fomentan una cultura de datos en toda la empresa, este sistema tambi\u00e9n plantea muchos desaf\u00edos de gobernanza en la pr\u00e1ctica. Una organizaci\u00f3n de personas con responsabilidades claras es clave para abordar esos desaf\u00edos. Esos equipos de datos pueden tener un impacto a\u00fan mayor con&nbsp;<strong>herramientas<\/strong>&nbsp;y&nbsp;<strong>pr\u00e1cticas<\/strong>&nbsp;que les permitan colaborar de manera eficiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Crear una plataforma modular con objetos estructurados, convenciones de nomenclatura, bibliotecas y pr\u00e1cticas de prueba; hacer cumplir la revisi\u00f3n por pares y la documentaci\u00f3n; asegurarnos de que pudi\u00e9ramos monitorear, mantener y revertir fue crucial para escalar nuestro equipo de datos y aprovechar las oportunidades.&nbsp;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los datos han desempe\u00f1ado un papel clave en el crecimiento de Nubank y probablemente no hubi\u00e9ramos podido lograr tanto y tan r\u00e1pido sin este sistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por supuesto, invertir en este tipo de herramientas tiene un costo \u2013 tiempo invertido al principio para dise\u00f1ar e implementar el sistema, m\u00e1s tiempo para que los nuevos miembros avancen, y un aumento marginal del tiempo dedicado a algunos requisitos adicionales (pruebas, documentaci\u00f3n, revisi\u00f3n) al contribuir. Descubrimos que esta inversi\u00f3n vali\u00f3 la pena r\u00e1pidamente ya que nuestros equipos crecieron muy r\u00e1pidamente (de 0 a 800 contribuyentes de plataforma de datos en 8 a\u00f1os). No hubi\u00e9ramos podido tener tantas contribuciones individuales en tan poco tiempo sin romper el sistema y hubiera sido mucho m\u00e1s complicado monitorear la calidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Capacitar a los usuarios para que innoven de forma aut\u00f3noma y colaborativa es clave para el \u00e9xito de los equipos de datos. Encontrar la cantidad adecuada de herramientas y requisitos para brindar la m\u00e1xima flexibilidad a los usuarios y al mismo tiempo tener barreras de seguridad de gobernanza es fundamental para escalar el an\u00e1lisis de manera&nbsp;<\/em><strong><em>eficiente<\/em><\/strong><em>&nbsp;y&nbsp;<\/em><strong><em>confiable<\/em><\/strong><em>, y hay mucho que aprender de las mejores pr\u00e1cticas de ingenier\u00eda de software.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.<\/p>\n","protected":false},"author":178110135,"featured_media":23827,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2608,2509],"tags":[2609,2957,2832],"class_list":["post-26587","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics-engineering-es","category-data-analytics-es","tag-analytics-engineers-es","tag-data-governance-es","tag-data-infrastructure-es"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software - Building Nubank<\/title>\n<meta name=\"description\" content=\"El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software - Building Nubank\" \/>\n<meta property=\"og:description\" content=\"El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/\" \/>\n<meta property=\"og:site_name\" content=\"Building Nubank\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-15T15:31:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-27T13:13:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/\"},\"author\":{\"name\":\"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/cee70e6bf3a8a370be7c8c1969d9c2a4\"},\"headline\":\"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software\",\"datePublished\":\"2021-07-15T15:31:27+00:00\",\"dateModified\":\"2024-02-27T13:13:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/\"},\"wordCount\":2531,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1\",\"keywords\":[\"Analytics engineers\",\"Data Governance\",\"Data infrastructure\"],\"articleSection\":[\"Analytics Engineering\",\"Data &amp; Analytics\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/\",\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/\",\"name\":\"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software - Building Nubank\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1\",\"datePublished\":\"2021-07-15T15:31:27+00:00\",\"dateModified\":\"2024-02-27T13:13:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/cee70e6bf3a8a370be7c8c1969d9c2a4\"},\"description\":\"El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/building.nu.com\\\/wp-content\\\/uploads\\\/2021\\\/07\\\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/building.nu.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/\",\"name\":\"Building Nubank\",\"description\":\"We make the extraordinary happen\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/building.nu.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/building.nu.com\\\/es\\\/#\\\/schema\\\/person\\\/cee70e6bf3a8a370be7c8c1969d9c2a4\",\"name\":\"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3424a612820a8932ccc4180547fd825f2f4fc0c666db0224ed464979375d87bc?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3424a612820a8932ccc4180547fd825f2f4fc0c666db0224ed464979375d87bc?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3424a612820a8932ccc4180547fd825f2f4fc0c666db0224ed464979375d87bc?s=96&d=identicon&r=g\",\"caption\":\"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer\"},\"url\":\"https:\\\/\\\/building.nu.com\\\/es\\\/author\\\/jpariane\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software - Building Nubank","description":"El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/","og_locale":"es_ES","og_type":"article","og_title":"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software - Building Nubank","og_description":"El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.","og_url":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/","og_site_name":"Building Nubank","article_published_time":"2021-07-15T15:31:27+00:00","article_modified_time":"2024-02-27T13:13:16+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1","type":"image\/jpeg"}],"author":"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer","Tiempo de lectura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#article","isPartOf":{"@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/"},"author":{"name":"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer","@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/cee70e6bf3a8a370be7c8c1969d9c2a4"},"headline":"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software","datePublished":"2021-07-15T15:31:27+00:00","dateModified":"2024-02-27T13:13:16+00:00","mainEntityOfPage":{"@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/"},"wordCount":2531,"commentCount":0,"image":{"@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1","keywords":["Analytics engineers","Data Governance","Data infrastructure"],"articleSection":["Analytics Engineering","Data &amp; Analytics"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/","url":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/","name":"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software - Building Nubank","isPartOf":{"@id":"https:\/\/building.nu.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#primaryimage"},"image":{"@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1","datePublished":"2021-07-15T15:31:27+00:00","dateModified":"2024-02-27T13:13:16+00:00","author":{"@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/cee70e6bf3a8a370be7c8c1969d9c2a4"},"description":"El trabajo anal\u00edtico puede beneficiarse enormemente de los est\u00e1ndares de ingenier\u00eda de software en t\u00e9rminos de calidad y eficiencia, as\u00ed es como se hace.","breadcrumb":{"@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#primaryimage","url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1","contentUrl":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/building.nu.com\/es\/ampliar-el-analisis-de-datos-con-las-mejores-practicas-de-ingenieria-de-software\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/building.nu.com\/es\/"},{"@type":"ListItem","position":2,"name":"Ampliar el an\u00e1lisis de datos con las mejores pr\u00e1cticas de ingenier\u00eda de software"}]},{"@type":"WebSite","@id":"https:\/\/building.nu.com\/es\/#website","url":"https:\/\/building.nu.com\/es\/","name":"Building Nubank","description":"We make the extraordinary happen","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/building.nu.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/building.nu.com\/es\/#\/schema\/person\/cee70e6bf3a8a370be7c8c1969d9c2a4","name":"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/3424a612820a8932ccc4180547fd825f2f4fc0c666db0224ed464979375d87bc?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3424a612820a8932ccc4180547fd825f2f4fc0c666db0224ed464979375d87bc?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3424a612820a8932ccc4180547fd825f2f4fc0c666db0224ed464979375d87bc?s=96&d=identicon&r=g","caption":"Ariane Hoffenberg - Head of Analytics Engineering and Jo\u00e3o Pedro - Senior Analytics Engineer"},"url":"https:\/\/building.nu.com\/es\/author\/jpariane\/"}]}},"jetpack_likes_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pbKBB5-6UP","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/building.nu.com\/wp-content\/uploads\/2021\/07\/featured_img_engprin.jpg?fit=1200%2C675&ssl=1","_links":{"self":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/26587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/users\/178110135"}],"replies":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/comments?post=26587"}],"version-history":[{"count":6,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/26587\/revisions"}],"predecessor-version":[{"id":28372,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/posts\/26587\/revisions\/28372"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/media\/23827"}],"wp:attachment":[{"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/media?parent=26587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/categories?post=26587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/building.nu.com\/es\/wp-json\/wp\/v2\/tags?post=26587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}