Blog

¿Qué métrica mejoraste con tu último commit?

Actualizado: 31 de diciembre de 2025 Federico Miranda

En el artículo anterior hablamos sobre cómo medir la experiencia real del usuario a través de los Web Vitals y la performance percibida. Hoy toca una verdad algo incómoda: podés tener la app más rápida del mundo, pero si no mueve las métricas de negocio, solo estás gastando tiempo, recursos y plata.

Una historia de terror

Todos pasamos por esto. Recibís un ticket en Jira, cumplís los criterios de aceptación al pie de la letra, el código es hermoso y los tests pasan sin problemas. Hacés el deploy y atacás inmediatamente la siguiente tarea. Tu burndown chart se ve perfecto.

Llega la reunión trimestral y el equipo de liderazgo muestra preocupación por la adquisición o el churn. Sentís que hablan un idioma totalmente diferente.

Ese es el síntoma principal de un problema común: estás atrapado en el ciclo de resolver tickets y desconectado de la realidad de tu producto.

Como ingenieros de producto, tenemos que entender que un release exitoso no es el que no rompe nada en producción; es el que aporta valor. Si desarrollamos una funcionalidad perfecta que nadie usa, el costo de oportunidad es inmenso.

Pirate Metrics (AARRR) para Devs

Para dejar de ser un “code monkey”, necesitás un mapa. Las Pirate Metrics son el framework que nos permite entender dónde nuestro código está impactando realmente:

  • Acquisition (Adquisición): ¿Cómo llegan los usuarios? Si tu sitio pesa 5 MB de puro JS, Google te penalizará el ranking. Tu bundle es una métrica de adquisición.
  • Activation (Activación): Si el registro tiene 15 pasos y la carga es lenta, los usuarios se van antes de conocer el valor de tu producto.
  • Retention (Retención): El alma del Product Engineer. Si la app es inestable o confusa, el usuario no vuelve. Sin retención, no hay negocio.
  • Referral (Referencia): ¿Qué tan fácil es invitar a un amigo? ¿Los usuarios recomiendan tu producto?
  • Revenue (Ingresos): Cualquier problema en un flujo de pago puede convertirse en pérdidas de miles de dólares. Si tenemos un checkout de pago, tiene que ser impecable.

Bajemos esto a tierra con tres ejemplos donde una decisión de código impacta directamente en el negocio:

1. Deep Linking (Mobile)

Imagina lo siguiente: enviamos un email con un 20% de descuento. El usuario hace click, se abre la app… y cae en la Home (o peor, en el App Store). Perdiste. Implementar un sistema robusto de Universal Links (iOS) o App Links (Android) no es una mejora técnica, es una optimización directa de Conversión.

2. JS Payload y SEO

Cada KB que agregás al bundle afecta el Crawl Budget de Google. Si tu SEO es malo porque el sitio es pesado o difícil de indexar, marketing se ve obligado a gastar más en Ads para compensar la falta de tráfico orgánico. Optimizar el bundle le ahorra dinero a la empresa.

3. Observabilidad de Negocio

Loguear solo cuando algo explota (catch (e) { log(e) }) es poco, muy poco. El nivel avanzado es loguear intenciones. No solo quiero saber si el botón se clickeó; necesito saber el contexto: ¿el usuario venía de un A/B test? ¿cuánta metadata podemos asociar para entender por qué abandonó el carrito? Ver un usuario frustrado en un session replay vale más que mil logs de servidor.

¿Todo esto hace un Product Engineer?

Bueno, esto va a depender de cada empresa. El tamaño de la compañía, la cantidad de ingenieros que haya en el equipo, los problemas principales que tenga el producto.

Idealmente, estos problemas se pueden dividir entre dos perfiles: uno es el Product Engineer y el otro es el Growth Engineer. A menudo estos roles se confunden, pero son como dos hermanos con habilidades complementarias:

  • El Product Engineer se enfoca en el “Core Value”: es el responsable de que el producto resuelva el problema de fondo. Busca soluciones robustas, entiende las necesidades del usuario y se preocupa por la calidad. Persigue la métrica de Retención.
  • El Growth Engineer se enfoca en la “Distribución”: es un perfil de experimentación pura. Trabaja sobre el funnel (AARRR) para eliminar fricciones. No tiene una métrica por defecto, pero va a trabajar mucho sobre Adquisición, Activación y Revenue (Conversión).

En una startup, es muy probable que vos seas ambos. Un día estás implementando soporte offline o una arquitectura local-first para que la app sea resiliente y confiable (Product) y al día siguiente estás testeando si un onboarding de 3 pasos convierte mejor que uno de 5 (Growth).

Conclusión

Entender el negocio no te quita tiempo para programar; te da el criterio para saber qué vale la pena programar. No alcanza con cerrar tickets. El verdadero valor de nuestro trabajo está en entender cómo cada línea de código soluciona un problema real.

¿Cómo se ve esto en la práctica cuando las papas queman?

En el próximo artículo, vamos a analizar un caso desde tres lentes distintos: el del Dev 100% técnico, el del Product Engineer y el del Growth Engineer.

¿Te resultó útil este artículo?

Was this article helpful?

Blog

What metric did your last commit improve?

Updated: December 31, 2025 Federico Miranda

In the previous article, we talked about measuring real user experience through Web Vitals and perceived performance. Today, it’s time for an uncomfortable truth: you can have the fastest app in the world, but if it doesn’t move business metrics, you’re just wasting time, resources, and money.

A Horror Story

We’ve all been there. You receive a Jira ticket, follow the acceptance criteria to a T, the code is beautiful, and the tests pass without a hitch. You deploy and immediately tackle the next task. Your burndown chart looks perfect.

Then comes the quarterly meeting, and the leadership team expresses concern about acquisition or churn. It feels like they’re speaking a completely different language.

That is the main symptom of a common problem: you’re trapped in the ticket-solving cycle, disconnected from the reality of your product.

As product engineers, we must understand that a successful release isn’t one that doesn’t break anything in production; it’s one that adds value. If we develop a perfect feature that nobody uses, the opportunity cost is immense.

Pirate Metrics (AARRR) for Devs

To stop being a “code monkey,” you need a map. The Pirate Metrics are a framework that helps us understand where our code is actually making an impact:

  • Acquisition: How do users find us? If your site weighs 5MB of pure JS, Google will penalize your ranking. Your bundle size is an acquisition metric.
  • Activation: If the registration has 15 steps and loads slowly, users will leave before they ever see the value of your product.
  • Retention: The soul of the Product Engineer. If the app is unstable or confusing, the user won’t come back. Without retention, there is no business.
  • Referral: How easy is it to invite a friend? Do users actually recommend your product?
  • Revenue: Any issue in a payment flow can turn into thousands of dollars in losses. If we have a checkout process, it has to be flawless.

Let’s bring this down to earth with three examples where a coding decision directly impacts the business:

1. Deep Linking (Mobile)

Picture this: we send an email with a 20% discount. The user clicks, the app opens… and they land on the Home screen (or worse, the App Store). You lost them. Implementing a robust system of Universal Links (iOS) or App Links (Android) isn’t just a “technical improvement”; it’s a direct optimization for Conversion.

2. JS Payload and SEO

Every KB you add to the bundle affects Google’s Crawl Budget. If your SEO is poor because the site is heavy or hard to index, marketing is forced to spend more on Ads to offset the lack of organic traffic. Optimizing the bundle saves the company money.

3. Business Observability

Logging only when something blows up (catch (e) { log(e) }) is the bare minimum. The advanced level is logging intent. I don’t just want to know if a button was clicked; I need the context. Did the user come from an A/B test? What metadata can we associate to understand why they abandoned their cart? Seeing a frustrated user in a session replay is worth more than a thousand server logs.

Is all of this a Product Engineer’s job?

Well, it depends on the company—the size of the business, the team’s scale, and the main problems the product is facing.

Ideally, these challenges are split between two roles: the Product Engineer and the Growth Engineer. These roles are often confused, but they are like two brothers with complementary skills:

  • The Product Engineer focuses on “Core Value”: They are responsible for making sure the product solves the underlying problem. They look for robust solutions, understand user needs, and care deeply about quality. They chase the Retention metric.
  • The Growth Engineer focuses on “Distribution”: This is a profile of pure experimentation. They work on the funnel (AARRR) to remove friction. They don’t have a “default” metric, but they work heavily on Acquisition, Activation, and Revenue (Conversion).

In a startup, you’ll likely be both. One day you’re implementing offline support or a local-first architecture to make the app resilient and reliable (Product), and the next day you’re testing if a 3-step onboarding converts better than a 5-step one (Growth).

Conclusion

Understanding the business doesn’t take away from your coding time; it gives you the judgment to know what is actually worth coding. Closing tickets isn’t enough. The true value of our work lies in understanding how every line of code solves a real-world problem.

How does this look in practice when the heat is on?

In the next article, we’ll analyze a real case through three different lenses: the 100% Technical Dev, the Product Engineer, and the Growth Engineer.

¿Te resultó útil este artículo?

Was this article helpful?