Hoy queremos compartir un viaje que seguro te resultará familiar, donde el código limpio es la única documentación que necesitamos. 👨💻 📍 Etapa 1: El Novato Entusiasta Todo empieza con ese momento de "¡Mi primer componente funciona!" Los nombres de variables son básicos, los commits son confusos y cada PR es una aventura. Pero la ilusión lo compensa todo. El código es código, y punto. 🎒 Etapa 2: El Desarrollador Despierto Empiezas a entender que "button1" no es un buen nombre para un componente. Descubres que "isLoading", "handleSubmit" y "userData" comunican intención. Tus PR empiezan a contar historias claras a través de nombres significativos y estructuras limpias. ⛰️ Etapa 3: El Profesional Consciente La revelación: el mejor código es el que no necesita comentarios. Tus componentes son autoexplicativos, tus hooks tienen nombres que revelan su propósito, y tu desarrollo fluye naturalmente. Los nombres de tus funciones y métodos son tan claros que son su propia documentación. 🏔️ Etapa 4: El Ingeniero Illuminado Dominas el arte de crear código que habla por sí mismo. Cada archivo cuenta una historia, cada función y método tiene un propósito cristalino, y los juniors pueden entender tu código sin explicaciones adicionales. Los patrones emergen naturalmente en tu código. 🗺️ Etapa 5: El Maestro Zen Has alcanzado el nirvana del código limpio. Tu código es tan expresivo que los comentarios serían redundantes. Los sistemas que construyes son claros, los nombres son precisos, y la estructura cuenta la historia del negocio. La simplicidad es tu mantra. 💡 Mantras del Camino: - Si necesita un comentario, probablemente puede tener un mejor nombre - La mejor documentación es un código bien escrito - Los tests son la única documentación que nunca miente - Refactorizar es meditar - La simplicidad es el máximo refinamiento 🚀 ¿Quieres seguir este viaje con nosotros? En Mercadona Tech estamos buscando Frontend Engineers que compartan esta filosofía del código limpio y autodocumentado. Creemos en equipos autónomos donde el código habla por sí mismo y la excelencia técnica es un pilar fundamental. ¿Te atreves a dar el siguiente paso en tu viaje? Madrid: https://lnkd.in/dqQ4uknx Valencia: https://lnkd.in/dkwAcYJv #CleanCode #FrontendDevelopment #WebDev #JavaScript #ReactJS #SoftwareEngineering #CodeQuality #Development 🤔 ¿En qué etapa de este viaje te encuentras? ¿Cuál ha sido tu momento "eureka" en el camino hacia el código autodocumentado?
Mercadona Tech
Comercio al por menor
Valencia, Community of Valencia 58.016 seguidores
Building the modern e-commerce platform of Mercadona, delivering thousands of orders each day.
Sobre nosotros
ESP: Mercadona Tech, es una división de Mercadona y se encarga de la nueva solución online que revoluciona la experiencia de compra en el supermercado. Nuestro equipo tecnológico está formado por 180 profesionales con ganas de innovar divididos en nuestros dos Tech Hubs de Valencia y Madrid. Sin embargo, para crear toda la experiencia online contamos con 2000 empleados ubicados en Valencia, Madrid, Barcelona, Alicante y Sevilla. Nuestro objetivo es crear una experiencia online sencilla e intuitiva para nuestros clientes, complementando una cadena de suministro que busca una logística eficiente a través de la tecnología. Entregamos más de 10.000 pedidos al día. ENG: Mercadona Tech, it is a spin-off of Mercadona and is in charge of the new online solution revolutionizing the grocery shopping experience. Our tech team is formed by 180 motivated people ready to go above and beyond what is expected. Although to create the entire online experience there are 2000 employees located in Valencia, Madrid, Alicante, Sevilla and Barcelona. Our objective is to create a simple and intuitive online experience for our customers, complementing a supply chain that strives for efficient logistics through technology. We deliver more than 10.000 orders daily.
- Sitio web
-
http://www.mercadonatech.es/es/
Enlace externo para Mercadona Tech
- Sector
- Comercio al por menor
- Tamaño de la empresa
- De 51 a 200 empleados
- Sede
- Valencia, Community of Valencia
- Tipo
- De financiación privada
- Fundación
- 2016
Ubicaciones
-
Principal
Valencia, Community of Valencia 46004, ES
-
Plaza de Cibeles
Madrid, Community of Madrid, ES
Empleados en Mercadona Tech
-
Alfonso Fernández
Senior Software Engineer / full stack / tech lead / CTO / co-founder / entrepreneur
-
Jose Antonio Navarro Sáez
Team Lead at Mercadona Tech
-
Orestes Requena Lopez
Frontend Developer at Mercadona
-
Sergio Revilla Velasco
Head of Engineering Operations @ MercadonaTech
Actualizaciones
-
Mercadona Tech ha compartido esto
Hace un mes tuve el honor de presentar, junto a mi queridísimo colega Luis Cencillo Abad, nuestra charla "Desplegar a producción es UN DEPORTE DE RIESGO" en Awakatech, en las oficinas de Mercadona Tech, nuestra casa. No pudo haber ido mejor: mucha asistencia, público diverso, muy participativo y muy buen rollo en el networking. Hablamos sobre cómo llevamos las aplicaciones Android a producción y sobre cómo lo hacemos para desplegar con total confianza. Sin duda, ¡fue una experiencia muy gratificante! PD: El sprint anterior desplegamos 92 versiones de la app en la que estamos trabajando actualmente.
-
-
"Si hay algo que puedas eliminar, hazlo. Tu objetivo debe ser hacer que cada página o pantalla sea evidente por sí misma, obvia, autoexplicativa." 📱✨ Esta frase de Steve Krug en "Don't Make Me Think" encapsula la esencia del diseño web moderno: la simplicidad funcional. Krug argumenta que los usuarios no leen las páginas web, sino que las escanean rápidamente 👀. Para lograr esta simplicidad, Krug propone varias estrategias clave: 1. Crear jerarquías visuales claras 🏗️ Usar tamaños, colores y espaciado para destacar lo importante. 2. Aprovechar las convenciones familiares 🔄 Utilizar patrones de diseño que los usuarios ya conocen. 3. Dividir las páginas en zonas definidas 🗺️ Ayudar a los usuarios a decidir rápidamente qué partes les interesan. 4. Hacer obvio lo que se puede clickear 👆 Los enlaces y botones deben ser fácilmente identificables. 5. Minimizar el ruido visual 🔇 Eliminar distracciones y contenido innecesario. Krug resume su filosofía en "Don’t make me think". Esto significa que el diseño debe ser tan intuitivo que el usuario pueda comprenderlo y usarlo sin esfuerzo consciente. Cada elemento debe tener un propósito claro y la navegación debe ser obvia. El autor también enfatiza la importancia de la consistencia en el diseño, el uso de un lenguaje claro y directo, y la realización de pruebas de usabilidad frecuentes. Su enfoque no solo busca la simplicidad estética, sino una funcionalidad que respete el tiempo y la atención del usuario. 🕒👤 Un excelente ejemplo de estos principios en acción es la app de Mercadona online 🛒. Con su interfaz limpia y minimalista, encarna la filosofía de Krug a la perfección. La navegación es intuitiva, con categorías claras y un buscador prominente. Los productos se presentan con imágenes nítidas, precios visibles y botones de acción evidentes. La consistencia visual, el lenguaje claro y la minimización de pasos para completar una compra demuestran una profunda comprensión de las necesidades del usuario. Funciones como la sección “mis habituales” y la fácil repetición de pedidos anteriores permiten completar tareas comunes con mínimo esfuerzo. ¿Quieres ser parte de un equipo que crea experiencias de usuario tan fluidas como esta? 🚀 Estamos buscando un Product Designer apasionado por la simplicidad y la usabilidad para nuestras oficinas de Valencia. Si crees que puedes hacer que la tecnología sea invisible para el usuario, ¡queremos conocerte! Aplica ahora y ayúdanos a crear productos que, como diría Krug, no hagan pensar a nuestros usuarios. 💡 https://lnkd.in/d_ksNVdK #UXDesign #Simplicity #DontMakeMeThink #ProductDesign
-
-
¿Quieres conocer cuáles son las 4 habilidades clave de un Product Designer en Mercadona Tech? 💚 Nuestro compañero de Diseño Alberto Lucas Pérez te lo cuenta en el siguiente vídeo 🎬 Si te interesa conocer más acerca de este rol o crees que tu perfil puede encajar, no dudes en inscribirte a través del siguiente enlace a una de nuestras vacantes. ¡Vamos a conocernos! ➡️ https://lnkd.in/d_5TP8qj
-
El Pair Programming 👥 está revolucionando la forma en que desarrollamos software. Esta técnica, donde dos programadores trabajan juntos en una estación de trabajo, ofrece beneficios significativos para equipos y organizaciones. ¿Cómo funciona? - El "Conductor" ⌨️: Escribe el código. - El "Navegante" 🔍: Revisa cada línea, ofrece sugerencias y piensa estratégicamente. - Los roles se intercambian frecuentemente, generalmente cada 30 minutos ⏱️. Principios Clave 🎯 1. Colaboración Continua: Comunicación constante sobre problemas y soluciones. 2. Revisión en Tiempo Real: Cada línea de código es revisada inmediatamente. 3. Aprendizaje Mutuo 📚: Intercambio natural de conocimientos y técnicas. 4. Responsabilidad Compartida: Ambos programadores son responsables del código. 5. Rotación de Parejas: Fomenta la transferencia de conocimientos en el equipo. Beneficios ⭐ 1. Mejora en la Calidad del Código - Menos errores - Diseño más robusto - Mayor adherencia a estándares 2. Aumento de la Productividad 📈 - Resolución más rápida de problemas complejos - Menor tiempo de depuración e integración 3. Mejora en la Dinámica del Equipo 🤝 - Mayor comunicación y colaboración - Reducción de silos de conocimiento 4. Desarrollo Profesional Acelerado - Aprendizaje continuo de nuevas técnicas - Mejora en habilidades de comunicación técnica 5. Mayor Satisfacción Laboral - Reduce el aislamiento - Proporciona un sentido de logro compartido Desafíos y Soluciones ⚠️ 1. Resistencia Inicial: Introducción gradual y destacar beneficios tangibles. 2. Percepción de Ineficiencia: Medir resultados a largo plazo. 3. Compatibilidad de Personalidades: Rotación regular y cultura de respeto. 4. Diferencias de Habilidad: Emparejar junior con senior para desarrollo del equipo. 5. Fatiga Mental 🧠: Programar descansos y variar actividades. Implementación Efectiva 🎯 1. Establecer directrices claras 2. Proporcionar el entorno adecuado 🖥️ (espacios cómodos, monitores duales) 3. Fomentar una cultura de colaboración 4. Capacitar en habilidades blandas 5. Medir y ajustar regularmente Conclusión El Pair Programming transforma la forma en que los equipos desarrollan software. Aunque puede parecer contraintuitivo inicialmente, los beneficios a largo plazo en calidad del código, productividad y satisfacción son sustanciales. Ante la creciente complejidad del desarrollo de software, el Pair Programming se ha convertido no solo en una ventaja, sino en una necesidad. Al adoptarlo, las organizaciones mejoran sus productos e invierten simultáneamente en el crecimiento de sus equipos. 🚀 ¿Estás listo para llevar la colaboración en tu equipo al siguiente nivel con Pair Programming? Comparte tus experiencias o preguntas en los comentarios. 💭 También unirte a nuestro equipo aplicando a la vacante de Backend Engineer que tenemos abierta para Madrid. 🇪🇸 https://lnkd.in/dnNiCyxZ #PairProgramming #DesarrolloSoftware #Agile #Colaboración #ProductividadEnTI
-
-
Nuestro proyecto sigue creciendo! 🚛 Aquí puedes ver los puestos actualmente abiertos. No dudes en aplicar a través de la sección de #empleo.
-
-
Mercadona Tech ha compartido esto
Hoy vengo a hablaros sobre la vertical de Flota en Mercadona Tech 🚛 Este equipo es el responsable de desarrollar todo el producto tecnológico necesario para gestionar eficientemente nuestra flota de 1.000 vehículos, quienes se encargan del reparto de pedidos online. ¿Cómo? 🧐 ✅ A través del desarrollo de sistemas que permitan el seguimiento de cada vehículo, facilitando la toma de decisiones rápidas y basadas en datos. ✅ Mediante herramientas de mantenimiento que nos permitan anticiparnos a los problemas. Actualmente tenemos abiertas varias vacantes para la posición de #Backend en nuestro Hub de #Madrid. Da el siguiente paso en tu carrera y únete a nosotros para vender lechugas en Mercadona Online. 🥬 Presenta tu candidatura a través del siguiente enlace para poder formar parte de nuestro equipo. ➡️ https://lnkd.in/ekbEV2Q9
-
-
Las actualizaciones frecuentes de iOS presentan desafíos significativos para los desarrolladores 📱. Desde problemas de compatibilidad regresiva y cambios en las APIs, hasta modificaciones en el diseño de la interfaz y nuevos protocolos de seguridad, cada actualización puede requerir ajustes sustanciales en las aplicaciones existentes. Además, la necesidad de adaptarse a estas actualizaciones consume tiempo y recursos valiosos, lo que puede afectar la planificación y el desarrollo de nuevas características. Para mitigar estos problemas, los desarrolladores pueden implementar varias estrategias efectivas 💡: 1. Mantenerse informado: Seguir de cerca los anuncios de Apple y participar en programas beta para iOS. 2. Planificación proactiva: Reservar tiempo y recursos específicamente para actualizaciones post-lanzamiento de iOS. Priorizar las actualizaciones críticas de compatibilidad para mantener la funcionalidad básica de la app. 3. Abstracciones y patrones de diseño: Implementar capas de abstracción en el código para aislar las partes dependientes del sistema. Utilizar patrones como Adapter o Bridge para facilitar futuras adaptaciones. 4. Pruebas exhaustivas: Mantener un conjunto diverso de dispositivos de prueba con diferentes versiones de iOS. 5. Versionado de API: Utilizar comprobaciones de disponibilidad (`@available`) para adaptar el comportamiento de la app según la versión de iOS. Mantener métodos alternativos para funcionalidades críticas que puedan verse afectadas por cambios en el sistema. 6. Actualizaciones graduales: Implementar cambios de manera incremental en lugar de realizar reescrituras completas. Utilizar técnicas como la carga diferida para introducir nuevas funcionalidades de forma gradual y controlada. 7. Comunicación con usuarios: Mantener a los usuarios informados sobre la compatibilidad de la app con nuevas versiones de iOS. Proporcionar canales claros de retroalimentación para que reporten problemas. 8. Herramientas de desarrollo avanzadas: Aprovechar herramientas como Xcode Instruments para identificar y resolver problemas de rendimiento. Utilizar analizadores estáticos de código para detectar posibles problemas antes de que se manifiesten. 9. Documentación detallada: Mantener un registro actualizado de las dependencias del sistema operativo y los cambios realizados en respuesta a actualizaciones de iOS. Esto facilita el seguimiento y la resolución de problemas a largo plazo. ¿Eres un desarrollador iOS experimentado que disfruta enfrentando estos desafíos? 🚀 Nuestro equipo en Valencia busca talentos como tú. Si te apasiona la innovación en tecnología móvil, ¡contáctanos y únete a nuestro equipo dinámico en una de las ciudades más vibrantes de España! https://lnkd.in/dd8v8AzX #iOSDevelopment #TechJobs #Valencia #AppDev #MobileApps #SwiftProgramming #TechCareers #iOSChallenges #DeveloperLife #CodePassion
-
-
🏭 Toyotismo -> Desarrollo de software 1. ⏱️ Just-in-Time (JIT) y Desarrollo Ágil: - Toyotismo: Producción basada en la demanda real, minimizando el inventario. - Desarrollo de software: Metodologías ágiles como Scrum o Kanban, donde se desarrollan características en iteraciones cortas (sprints) basadas en las necesidades actuales del cliente. 2. 📈 Kaizen (Mejora continua): - Toyotismo: Búsqueda constante de pequeñas mejoras en el proceso. - Desarrollo de software: Retrospectivas en Scrum, integración continua, y refactorización constante del código. 3. 🤖 Jidoka (Automatización con un toque humano): - Toyotismo: Automatización de procesos con supervisión humana. - Desarrollo de software: Automatización de pruebas, integración continua/entrega continua (CI/CD), pero con revisión humana del código (code reviews). 4. 🗑️ Eliminación de desperdicios (Muda): - Toyotismo: Identificar y eliminar actividades que no agregan valor. - Desarrollo de software: Lean Software Development, que busca eliminar código innecesario, funcionalidades no utilizadas, y procesos redundantes. 5. 👀 Genchi Genbutsu (Ve y mira por ti mismo): - Toyotismo: Observar directamente el proceso para entender los problemas. - Desarrollo de software: Los desarrolladores están en contacto contínuo con los usuarios finales del software. 6. ⚖️ Heijunka (Nivelación de la producción): - Toyotismo: Distribuir la producción de forma uniforme en el tiempo. - Desarrollo de software: Planificación de sprints balanceados, evitando sobrecarga de trabajo. 7. 🚨 Andon (Sistema de notificación de problemas): - Toyotismo: Sistema visual para alertar sobre problemas en la línea de producción. - Desarrollo de software: Sistemas de monitoreo y alerta en tiempo real, dashboards de CI/CD. 8. 🛡️ Poka-yoke (A prueba de errores): - Toyotismo: Diseño de procesos para prevenir errores. - Desarrollo de software: TDD (Test Driven Development), análisis estático de código, y prácticas de codificación defensiva. 9. 📊 Gestión visual: - Toyotismo: Uso de señales visuales para comunicar el estado del proceso. - Desarrollo de software: Tableros Kanban, burndown charts en Scrum, dashboards de rendimiento. 10. 🧑🤝🧑 Equipos multifuncionales: - Toyotismo: Equipos capaces de realizar múltiples tareas. - Desarrollo de software: Los PM, Product Designer, Frontend y Backend están en el mismo equipo, por lo que pueden manejar todo el ciclo de vida del software. Estas adaptaciones del toyotismo han llevado a prácticas de desarrollo de software más eficientes, flexibles y centradas en el valor para el cliente, mejorando la calidad del producto final y la velocidad de entrega. 🚀💻 🚀 ¡Únete a la revolución tecnológica en retail! Mercadona Tech busca ingenieros de software apasionados por la innovación y la eficiencia. https://lnkd.in/dr5HS2qc #MercadonaTech #DesarrolloSoftware #AgileDev #RetailTech #InnovaciónEspañola
-
-
El servicio online de Mercadona está experimentando un crecimiento significativo y nuestro equipo de Mercadona Tech está liderando este éxito. 🚀 💡 Repartimos más de 1.500 toneladas de alimentos para satisfacer necesidades de nuestros #clientes - Jefes. 💡 Somos un #proyecto lleno de desafíos, #desarrollo y un sin fin de #oportunidades. Síguenos para conocer cómo estamos cambiando el mundo de grocery e-commerce en España. Descubre nuestros puestos abiertos: https://lnkd.in/dr5HS2qc
-