Artesan@s del Código
Autores: Pablo Duran Rojas (Engineering Director); David Caroca Leyton (Software Engineer)
Pensar la digitalización es un ejercicio común estos días, aún así, una de las industrias más expuestas a este concepto, y que ha sufrido los mayores cambios en las últimas décadas, es el retail, y, por tanto, mucho se ha escrito sobre el tema (bajo diferentes perspectivas y apuestas), pero convengamos en que los cambios son ineludibles, y que la digitalización es parte fundamental de todos ellos. Si hay algo que hemos aprendido este último tiempo, es que, en cualquier momento, todo lo que conocíamos puede cambiar de golpe. Cambios que pensábamos podrían ocurrir en años, sucedieron en unos cuantos meses: cambios en comportamientos de compra, el excesivos crecimiento, expectativas e interacciones de nuestros clientes, y cambios en nuestra propia organización que buscan responder a las actuales demandas.
Si anteriormente ya venía en aumento, la demanda sobre el comercio electrónico se aceleró tras la pandemia, transformándose en parte trascendental de nuestras vidas.
Aquel camino altamente cambiante invita a todos los actores del mercado a adaptarse continuamente a las necesidades y expectativas de los consumidores, lo que en la práctica se convierte en un cambio cultural de la organización, debiendo estar presente en el ADN de cada persona que la compone. Hoy, más que nunca, se requiere de relaciones profundas, continuas y enriquecedoras con los clientes, haciendo que el gran desafío se encuentre en ofrecer una experiencia memorable para estos últimos, en todos los puntos de contacto con nuestra marca.
Es aquí donde nace este tremendo equipazo llamado Cencommerce, el cual tiene como propósito consolidar a Cencosud, transformándolo en el mejor e-retail de América Latina. Dicho propósito nos inspira a ofrecer a nuestros clientes un viaje sin fricciones, considerando esa experiencia acumulativa y de extremo a extremo.
Artesanos del Software
Para lograr lo anterior se hace necesaria una competencia básica: entregar software de excelente calidad, de la manera más rápida posible y de valor incremental en el tiempo, lo que también implica estar gestionando y disponibilizando datos generados en nuestro ecosistema para ir midiendo dicho valor, y a su vez apoyar la toma de decisiones. Todo esto para el mundo digital representa una ventaja competitiva y nos ayuda enriquecer nuestros vínculos con el cliente. Por consiguiente, en la Gerencia de Ingeniería nos tomamos muy enserio la misión que tienen nuestros equipos de productos digitales de Cencommerce, haciendo que nuestros “Artesanos de Ingeniería” contribuyan en cada instante probando, evaluando y promoviendo, la adopción de prácticas, plataformas, herramientas, lenguajes y/o frameworks, que permitan a cada uno de los equipos de desarrollo maximizar su entrega de valor hacia nuestros clientes, mediante la batería de funcionalidades puestas a disposición bajo entornos de colaboración con la velocidad, calidad y seguridad requerida, encapsulados en productos digitales de alto impacto (Efecto “Wow!”).
Sabemos que si no tenemos una gestión basada e impulsada por datos, no obtendremos productos de alto impacto y no podremos anticipar tendencias, situaciones o cualquier hito relevante en este mercado en aumento, por lo tanto, para Cencommerce los datos son y serán parte fundamental de la ecuación de construir nuestros productos digitales. Es aquí, donde toma mucha importancia el seguir promoviendo en todo nuestro gran equipo, y a quienes se suman, una gestión de datos “ágil”, la que, mezclándola con prácticas de desarrollo de software, enfoque centrado en el cliente y mucha creatividad, nos ayudan a tener la disponibilidad, consistencia y elasticidad que nos permite hoy en día reaccionar con la velocidad y calidad necesaria.
En Cencommerce utilizamos los datos a nuestro favor en toda la organización, alineando la estrategia de datos con la estrategia empresarial, adoptando prácticas de observabilidad, trazabilidad, aplicando un gobierno y arquitectura descentralizados, modificando roles organizacionales y responsabilidades, recopilando los datos adecuados que respaldan nuestros objetivos y pensando en los datos como un activo comercial con un propósito claro, en vez de verlo como un subproducto o un resultante de las operaciones comerciales. Todo lo anterior, nos tiene aplicando prácticas novedosas, intercambiando conocimiento y creando una rica cultura de datos que debe seguir prosperando y evolucionando día a día haciendo frente a las exigencias de este mercado altamente cambiante.
Plataformas
Para poder atender el vertiginoso crecimiento mencionado, el equipo de plataformas se conformó con diferentes talentos provenientes de todas las líneas de negocio de Cencosud, creando un equipo multidisciplinario con roles tales como; Ingeniero de software, Ingeniero en automatización, Ingeniero cloud e Ingeniero de seguridad quienes con sus conocimientos técnicos de alto rendimiento y mucha inventiva han venido atendiendo las diferentes necesidades de los equipos de productos siendo parte de la mejora continua del delivery que se requiere para mantener a Cencommerce en lo más alto del mercado digital e impactar positivamente la vida de nuestros clientes y de nuestros developers.
Estos sabi@s artífises continuamente inspeccionan, mantienen y adaptan nuestro ecosistema, poniendo especial cuidado en la continuidad operativa de éste, ya sea investigando, diagnosticando y/o dando solución a comportamientos no esperados, abstrayendo de dichas problemáticas a los equipos de productos digitales quienes pueden centrar sus esfuerzos en la entrega de valor a nuestros clientes en cada paso a producción realizado. Actualmente tenemos cerca de 1.000 despliegues diarios, y esperamos que siga aumentando.
Somos imparables, y desde el equipo de plataformas ponemos a disposición todas nuestra técnica de software para que nuestros clientes internos, que son los desarrolladores de productos digitales, puedan enfocar su arte en construir el código de calidad que representa las funcionalidades de negocio. Buscamos incansablemente ser esa interfaz que abstrae a los equipos de productos de otras responsabilidades y problemáticas que son parte del ciclo de desarrollo del software, como hacerse cargo, en gran parte, de la administración de infraestructura cloud (AWS) la que está sustentada por medio de “infraestructura como código (IaC)”, observabilidad sobre todo el universo de componentes fomentando su configuración también por medio de código gracias a las bondades provistas por Terraform (New Relic), igualmente tenemos pipe-templates centralizados para cada uno de nuestro tipos de despliegues ya sea en, Kubernetes, Lambdas, Elastic Containers Services, entre otros. Estos despliegues contienen stages que se encargan de verificar aspectos claves tales como, seguridad, calidad y también la correcta instrumentación en el entorno ofrecido por la suite de Gitlab que tenemos a disposición, entre otras responsabilidades de las que nos hacemos cargo y lo más importante, nos divierten.
Datos
Inicialmente, convengamos que los datos son el “petróleo del siglo XXI”, por lo cual tener la habilidad y capacidad para procesar el gran volumen de éstos, resultan elementos claves para obtener beneficios en el actual y agresivo mercado. Nuestr@s maestr@s del equipo de datos tienen muy claro lo anterior, por lo cual observan a la compañía a través del lente “data-driven”, poniendo foco en el poder que las soluciones basadas en datos tienen, las oportunidades que generan, enfrentando e incluso anticipándose a los cambiantes escenarios, promoviendo en Cencommerce este fanatismo por los datos, la toma de decisiones basadas en ellos y menos en la intuición.
Las personas que conforman este equipo proporcionan su sabiduría y esfuerzos construyendo día a día un gobierno descentralizado de datos que permita distribuir el conocimiento, la responsabilidad y la administración de éstos en los diferentes dominios y capacidades de negocio que tenemos dentro de Cencommerce. Una muestra de lo anterior, es el impulso dado para que cada equipo logre autonomía y mejore su gestión de datos, aumentando sus conocimientos y habilidades por medio del empirismo, bajo un programa que lo hemos denominado DatAcademy que es una adaptación del framework Data Literacy Project, impactando así positivamente la toma de decisiones y las realidades específicas de cada equipo.
Esa cultura en expansión, la que acompañada de las tecnologías adecuadas disponibles en el mercado (de las que destacamos Airflow, Kubernetes, Amundsen, Dask, Superset, AWS Personalize y Metabase), y sumadas a la customización expresada en componentes denominados data-pipe-templates que encapsulan nuestra experiencia y buenas prácticas de construcción están disponibles para tod@ developer que requiera construir soluciones basadas en datos, pudiendo centrarse aún más en construir el código más cambiante y que representa el contexto de negocio sin olvidar que, ante todo, somos una comunidad de ingenieros de software haciendo arte con los datos. Ahora bien, si se requiere resolver casuísticas de alta complejidad, los equipos de Cencommerce pueden descansar en el respaldo, ayuda y orientación de nuestros maestros artesanos de datos, que sienten de manera natural el deseo de ayudar, poniendo a disposición sus conocimientos y especialización.
Ingeniería de Software
Como vimos en los puntos anteriores, los canales digitales son estratégicamente relevantes. Esta relevancia debería venir acompañada de distintas prácticas, patrones, estándares, metodologías, etc. que muchas veces son dejadas de lado debido a la constante premura por entregar valor por parte de las distintas capacidades de negocio.
En gran parte por esas razones, la recientemente creada área de Ingeniería de Software nace como una constante reflexión en el cómo se están construyendo los distintos productos, cómo son las interacciones entre ellos, cómo nos aseguramos que nuestros clientes tengan la mejor experiencia y también cómo logramos internamente tener una cultura en que la colaboración constante entre los distintos equipos de desarrollo sea una práctica normal en nuestro día a día.
Para lograr estos objetivos nos hemos enfocado en una primera instancia en 3 transversales: Quality, Software Architecture y Developer Experience. Estas tienen como misión promover, compartir y monitorear que cada uno de estos conceptos sean tomados en cuenta y estén presentes al momento de la construcción de software. Para esto utilizamos como faro los principios de “software craftsmanship”, los cuales creemos son la base para lograr influenciar a los distintos equipos y apoyarlos en su camino hacia empoderarse continuamente de lo que hacen.
Hemos llegado!
Estamos convencid@s que vamos en la dirección correcta y que tenemos a personas brillantes trabajando con nosotr@s, quienes hace un tiempo han venido impulsando la transformación de nuestro e-retail por medio de una cultura colaborativa que abraza el cambio, mucho código, tecnología idónea y una red de grandes talentos enfocados y dispuestos a satisfacer las cambiantes necesidades y requerimientos de nuestros clientes, como también enfrentar el variante y excesivo crecimiento del mercado. Pero sabemos que esto es recién el comienzo, puede ser que más adelante debamos adaptar el rumbo, que nos equivoquemos, pero sabemos además que es parte de los grandes desafíos que nos movilizan para así re imaginar mucho de lo que hemos hecho en el pasado y así, crear el e-retail del futuro.