Años de ingeniería en Magento y e-commerce
Buena parte del trabajo ha sido Magento, tanto Magento Open Source como Adobe Commerce, incluido Adobe Commerce on Cloud. Eso cubre tiendas a lo largo de las versiones 2.x, con actualizaciones de versión, parches de seguridad, funcionalidad B2B, frontends en Hyvä, módulos a medida y las integraciones que conectan una tienda con el resto del negocio.
Esa experiencia importa más allá de Magento. El e-commerce tiende a sacar a la luz las partes del desarrollo de software que es fácil subestimar: datos complicados, catálogos grandes, sistemas externos, procesos en segundo plano, reglas de pago y envío, y aplicaciones que tienen que seguir funcionando cuando sube el tráfico o el volumen de pedidos.
Aplicaciones internas y Laravel
Antes del trabajo de e-commerce, y en paralelo, hubo aplicaciones internas construidas sobre Zend Framework 2 y Laravel.
Uno de esos sistemas gestionaba datos de producto y publicaba listados en Amazon, Walmart, eBay y otros marketplaces desde una única fuente. Otras aplicaciones eran herramientas internas, sistemas de administración y capas de integración.
Laravel ha seguido siendo parte del trabajo desde entonces, incluidas aplicaciones construidas fuera del e-commerce. Es parte de por qué Emyrix trata una aplicación web como software y no simplemente como un conjunto de páginas.
Sitios web, WordPress y código existente
No todo lo que necesita ingeniería es una plataforma de comercio.
Algunos proyectos son sitios web. Algunos son instalaciones de WordPress que llevan años funcionando y necesitan limpieza, seguridad o velocidad. Otros son aplicaciones internas que se le han quedado grandes a la persona o al equipo que las construyó.
Mucho del trabajo de agencia consistió en heredar sistemas sin documentar o que habían pasado por varios desarrolladores con el tiempo. Eso crea una costumbre útil: leer lo que hay antes de decidir qué debería reemplazarlo.
A veces la respuesta correcta es reconstruir. A menudo no lo es.
La parte que va entre los sistemas
Una tienda, un sitio web o una aplicación rara vez son el sistema completo.
Los productos pueden venir de un ERP. Los pedidos pueden ir a un sistema de fulfillment. Los datos de cliente pueden vivir en un CRM. Los marketplaces necesitan feeds. Pagos, envíos, impuestos, búsqueda, correo e informes tienen cada uno sus propios requisitos.
Una parte considerable del trabajo de ingeniería ocurre entre esos sistemas: hacer que los datos se muevan de forma fiable, gestionar los fallos cuando no lo hacen, y asegurarse de que alguien se entera cuando algo ha dejado de funcionar.
El mismo trabajo aparece en Magento, Shopware, WooCommerce, WordPress, Laravel y aplicaciones a medida.
Cuando lo difícil son los datos
La mayor parte del trabajo de comercio ha sido en piezas de automoción, suministro científico y de laboratorio, dispositivos médicos, artículos de regalo y retail especializado. Esas tiendas tienden a compartir los mismos problemas: complejidad de compatibilidad y atributos entre miles de SKUs, reglas de impuestos y envío que cambian por producto, búsqueda que hay que ajustar y no solo activar, y feeds de ERP o de marketplace que se rompen en silencio cuando nadie los está mirando.