Saltar al contenido
← Todos los posts

Qué es un ingeniero de producto y en qué se diferencia de un programador

Qué hace un ingeniero de producto, en qué se diferencia de un programador y cómo saber cuál de los dos necesita tu negocio antes de contratar.

Ilustración: un ticket suelto que termina en un bloque de código, frente a un camino continuo que va de la decisión a la construcción, la publicación y el mantenimiento de un producto

Un ingeniero de producto (product engineer, en inglés) es la persona que se hace responsable de que tu producto digital funcione y resuelva lo que tu negocio necesita, no solo de que el código que le pediste quede escrito. Decide qué debe hacer la primera versión y qué se deja para después, la construye, la publica y la mantiene funcionando. Un programador, en el sentido más común de la palabra, recibe una tarea definida por otro y la ejecuta bien. Los dos roles son legítimos y los dos escriben código; la diferencia está en quién toma las decisiones y quién responde por el resultado. Escribo esto porque es lo que más me preguntan los founders antes de contratar, y porque elegir mal el rol sale más caro que elegir mal la tecnología.

Resumen para perezosos
  • Un programador ejecuta tareas que otro definió. Un ingeniero de producto define qué se construye, lo construye, lo publica y responde por el resultado.
  • Si en tu empresa nadie decide qué va en la primera versión y qué no, ese trabajo lo terminarás haciendo tú, sin experiencia, o no lo hará nadie. Ahí es donde un ingeniero de producto paga.
  • Si ya tienes un CTO o un líder técnico que decide, lo que necesitas es un buen programador. Contratar de más también es un error.

En este artículo:

Qué hace un ingeniero de producto

La forma más corta de explicarlo: un ingeniero de producto responde por el producto, no por los tickets. Cuando un cliente me entrega su app móvil, su sitio o plataforma web, o su chatbot con IA, lo que recibe a cambio es una sola persona responsable de que eso exista, funcione y siga funcionando. Eso incluye cosas que normalmente se reparten entre cuatro perfiles: entender el negocio, definir el alcance, diseñar cómo se resuelve, escribir el código, publicarlo y mirar qué pasa después.

Lo que define el rol no es la lista de tareas, sino dónde empieza y dónde termina la responsabilidad. Empieza antes de que exista una tarea, en la conversación donde se decide qué vale la pena construir. Y termina después de que el código está escrito, cuando el producto lleva meses en manos de usuarios reales y hay que decidir qué se arregla, qué se mide y qué viene después.

En mi caso trabajo así desde 2019, como contratista independiente, para founders y equipos que no tienen un líder técnico en casa. Antes trabajé dentro de equipos con la estructura tradicional, y esa experiencia es justamente lo que me hace valorar el rol de programador cuando la estructura existe.

Qué hace un programador, y por qué no es una crítica

Un programador recibe una especificación, una tarea o un diseño, y lo convierte en software que funciona. Es un trabajo difícil y hay programadores excelentes que no quieren ni deberían tener que decidir qué se construye. En un equipo con un product manager, un diseñador y un líder técnico, ese reparto es correcto: cada uno decide en su terreno y el programador puede concentrarse en hacer bien la parte más técnica.

El problema aparece cuando contratas a un programador y no tienes a nadie que haga el resto. Las decisiones no desaparecen; alguien las toma igual. Si no hay quien las tome con criterio, pasan una de dos cosas:

  • Las tomas tú, que conoces tu negocio pero no sabes qué es caro de construir, qué es frágil o qué va a doler dentro de seis meses.
  • Las toma el programador de forma implícita, tarea por tarea, sin ver el conjunto y sin que nadie le haya pedido que lo vea.

Ninguna de las dos es culpa del programador. Le pediste que ejecutara y ejecutó. El hueco estaba en el rol que nadie ocupó.

La diferencia en una tabla

ProgramadorIngeniero de producto
Qué recibeUna tarea definida por otroUn problema del negocio
Qué entregaCódigo que cumple la tareaUn producto publicado y en uso
Quién decide el alcanceAlguien másÉl, contigo
Qué pasa si la tarea estaba mal planteadaLa hace igual, o preguntaLa cuestiona antes de empezar
Qué pasa cuando algo falla en producciónDepende de quién lo detecteEs su responsabilidad detectarlo
Cómo se mide su trabajoTareas completadasResultados del producto
Quién habla contigoA menudo un intermediarioLa misma persona que escribe el código

La fila que más importa es la tercera. Definir el alcance de la primera versión es donde se gana o se pierde el dinero de un proyecto, y es precisamente la parte que un programador, por definición del rol, no hace.

Las decisiones que un programador no puede tomar por ti

Estas son las decisiones que aparecen en todos los proyectos que he tomado, y que nadie va a tomar si el único perfil técnico en la mesa es alguien contratado para ejecutar:

Qué no construir todavía. Toda primera versión, el MVP o producto mínimo viable, tiene una lista de cosas que parecen necesarias y no lo son. Sacarlas requiere saber cuánto cuesta cada una y qué aporta al negocio en los primeros meses. Es la decisión que más dinero ahorra y la que menos se toma.

Qué se compra y qué se construye. Autenticación, pagos, notificaciones, envío de correos, análisis de uso. Casi todo eso existe como servicio. Decidir cuándo usar uno y cuándo no exige conocer las opciones y los costos ocultos de cada una, no solo saber programarlo desde cero.

Cuándo lanzar. Un producto se puede pulir sin límite. Alguien tiene que decir “con esto salimos” y responder por esa decisión. Si el criterio es “cuando esté terminado”, nunca sale.

Qué deuda técnica se acepta. En una primera versión conviene tomar atajos, pero no todos los atajos son iguales. Algunos se pagan en una tarde y otros obligan a reescribir. Distinguirlos es una decisión de ingeniería que hay que explicar en términos de negocio: esto nos ahorra tres semanas hoy y nos costará dos cuando tengamos mil usuarios.

Qué medir después del lanzamiento. Sin datos de uso, la siguiente versión se decide por intuición. Instalar analítica y monitoreo de errores es barato; decidir qué mirar y qué hacer con eso no lo es.

Cuando alguien me pregunta qué significa que trabaje como ingeniero de producto, la respuesta práctica es esa lista. Es el trabajo que hago antes y después de escribir código, y es lo que un cliente sin líder técnico no tiene cubierto de otra forma.

Cómo se ve el trabajo de un ingeniero de producto, semana a semana

El ciclo completo, en el orden en que ocurre:

   PROBLEMA DEL NEGOCIO


   ┌───────────────┐   qué hace la primera versión
   │    DECIDIR    │   qué se deja para después
   └───────┬───────┘   cotización fija

   ┌───────────────┐   entregas semanales que puedes abrir
   │   CONSTRUIR   │   demo cada semana
   └───────┬───────┘   ajustes de rumbo a tiempo

   ┌───────────────┐   en línea, en las tiendas
   │   PUBLICAR    │   dominios, cuentas y llaves a tu nombre
   └───────┬───────┘

   ┌───────────────┐   analítica y monitoreo de errores
   │   MANTENER    │   roadmap en lenguaje claro
   └───────┬───────┘

           └──────────► vuelve a DECIDIR con datos reales

Un programador ocupa el segundo bloque. Un ingeniero de producto ocupa los cuatro, y la flecha que vuelve arriba es la parte que más valor tiene con el tiempo: la siguiente decisión se toma con datos de uso, no con suposiciones.

En mi caso, esto se traduce en un canal directo contigo, una llamada fija cada semana con demo, y una build o una URL que puedes abrir cada viernes. Cómo trabajo lo describe paso a paso, desde el primer mensaje hasta la primera entrega.

No hay agencia en el medio ni ejecutivo de cuenta pasando mensajes. La persona que toma las decisiones de producto es la misma que escribe el código, y es con quien hablas desde la primera llamada.

Qué cambia en la ingeniería: nada

Hay una confusión frecuente que quiero despejar: “ingeniero de producto” no significa un desarrollador que programa menos o con menos rigor porque también hace de gestor. La ingeniería sigue siendo senior, o el rol no funciona. En mi trabajo eso incluye pruebas unitarias y end-to-end, revisión de código, integración continua, y evaluación de los modelos de lenguaje antes de que un chatbot le responda a un usuario real.

Lo que cambia es el contexto en el que esa ingeniería se aplica. Cada decisión técnica se toma sabiendo para qué sirve el producto, cuánto dinero hay y qué pasa si algo falla. Un ejemplo concreto de cómo lo hago: antes de escribir código, escribo la especificación de lo que el producto tiene que hacer y la valido contigo; en cómo construí una app de sismos a partir de una especificación muestro ese proceso de principio a fin. Un programador excelente sin ese contexto puede construir muy bien lo que no hacía falta construir. Eso es lo que el rol evita.

Cuándo te conviene un ingeniero de producto y cuándo no

No siempre es la respuesta correcta, y contratar de más también sale caro. La regla que uso:

Tu situaciónLo que necesitas
Tienes un CTO o un líder técnico que decide y revisaProgramadores buenos, que ejecuten dentro de esa estructura
Tienes un product manager y un diseñador, pero nadie técnico seniorUn ingeniero de producto, o un líder técnico en plantilla
Eres founder sin perfil técnico y quieres lanzar una primera versiónUn ingeniero de producto
Tienes un producto que ya existe y el equipo que lo hizo se fueUn ingeniero de producto, empezando por una auditoría
Necesitas manos extra para un backlog ya definido y bien priorizadoProgramadores freelance, por horas o por proyecto

Los casos donde el rol paga tienen algo en común: nadie en tu lado toma las decisiones técnicas con criterio, y esas decisiones se están tomando igual. Si ese hueco no existe, no me contrates para llenarlo.

Un caso aparte es el del producto heredado. Cuando el desarrollador se fue, la agencia terminó y desapareció, o el código se desordenó después de años de cambios pequeños, lo primero no es construir sino entender. Yo empiezo con una auditoría del código y la arquitectura y entrego un veredicto escrito: qué vale la pena conservar, qué hay que reescribir y cuánto cuesta sostenerlo desde ahí. Con eso decides si seguir, y con quién.

Cómo saber si la persona que vas a contratar es ingeniero de producto

El título en el perfil no lo dice. Lo dicen las preguntas que hace y las que responde. Antes de contratar, fíjate en esto:

  1. ¿Pregunta por el negocio antes que por la tecnología? Si la primera conversación es sobre qué vende tu empresa, quién paga y qué tiene que pasar en los primeros tres meses, va bien. Si es sobre qué framework prefieres, no.
  2. ¿Te dice qué no construir? Un ingeniero de producto recorta. Si acepta toda la lista sin discutirla, está ejecutando, no decidiendo.
  3. ¿Puede explicar una decisión técnica en términos de dinero y riesgo? “Esto nos ahorra tres semanas ahora y nos cuesta dos cuando crezcamos” es la respuesta que buscas. “Es la mejor práctica” no lo es.
  4. ¿Habla de lo que pasa después del lanzamiento? Analítica, monitoreo de errores, mantenimiento, cuentas y accesos a tu nombre. Si el plan termina el día de la entrega, el rol también.
  5. ¿Muestra productos publicados y en uso, no solo repositorios? Es la prueba más directa de que ha cerrado el ciclo completo alguna vez.

Si contestas que sí a la mayoría, tienes delante a alguien que puede hacerse cargo. Si la mayoría es no, puede ser un programador muy bueno, y en ese caso necesitas a alguien más a su lado.

Qué cambia en el precio y en el contrato

Dos cosas cambian, y conviene saberlas antes de comparar cotizaciones.

La unidad de trabajo. Un programador suele cobrar por hora o por tarea, porque su trabajo se mide así. Un ingeniero de producto cobra por resultado: en mi caso, la primera versión se cotiza con precio fijo después de definir el alcance, y el mantenimiento es un acuerdo continuo. La cotización fija solo es posible porque la fase de decidir ocurrió antes; sin alcance no hay precio, y quien te dé uno sin haberlo definido lo está inventando.

Lo que es tuyo. El código, las cuentas de servicios, los dominios, las tiendas de aplicaciones y las llaves de acceso quedan a tu nombre desde el primer día. Esto debería ser normal y no siempre lo es. Cuando el contrato lo omite, cambiar de proveedor se vuelve caro, y esa dependencia rara vez es accidental.

En una comparación por hora, el ingeniero de producto siempre parece más caro. En una comparación por lo que cuesta el proyecto entero, incluyendo lo que no se construyó y lo que no hubo que rehacer, la cuenta suele salir al revés. Si tu primera versión es una app móvil o un producto con IA, en apps móviles y productos con IA explico qué incluye cada uno y de qué depende el precio.

Preguntas frecuentes

¿Un ingeniero de producto es lo mismo que un desarrollador full stack?

No. Full stack describe qué tecnologías maneja una persona: puede construir tanto la parte visible como la de servidor. Ingeniero de producto describe de qué se hace responsable: del resultado del producto, incluyendo las decisiones de qué construir y qué no. Un ingeniero de producto casi siempre es full stack, porque necesita cubrir el producto entero, pero un desarrollador full stack puede perfectamente trabajar solo ejecutando tareas que otro definió.

¿Un ingeniero de producto reemplaza a un product manager?

En un equipo pequeño, sí, en la práctica. Toma las decisiones de alcance y prioridad que tomaría un product manager, con la ventaja de que también sabe cuánto cuesta cada opción porque es quien la va a construir. En una empresa con varios equipos, el rol de product manager sigue teniendo sentido y el ingeniero de producto trabaja con él en lugar de reemplazarlo.

¿Necesito un ingeniero de producto si ya tengo un CTO?

Casi seguro que no. Si tu CTO decide qué se construye, revisa el código y responde por el producto, ese rol ya está cubierto y lo que te falta son programadores que ejecuten bien dentro de esa estructura. Contratar a un ingeniero de producto en ese contexto genera dos personas decidiendo lo mismo.

¿Puede un ingeniero de producto hacerse cargo de un producto que ya existe?

Sí, y es una parte importante del trabajo. El punto de partida es distinto: en lugar de decidir qué construir, primero hay que entender qué hay. Eso se hace con una auditoría del código y la arquitectura que termina en un veredicto escrito sobre qué conservar, qué reescribir y cuánto cuesta sostenerlo. Después el rol continúa igual que con un producto nuevo: mantenimiento, publicaciones, funcionalidades nuevas y un roadmap en lenguaje claro.

¿Un ingeniero de producto también diseña la interfaz?

Diseña lo suficiente para que el producto sea usable y coherente, y sabe cuándo eso no alcanza. Para una primera versión, en la mayoría de los casos alcanza. Cuando el producto depende de una identidad visual fuerte o de una experiencia muy trabajada, lo correcto es sumar a un diseñador, y parte del rol es decirlo en lugar de improvisar.

Conclusión

La diferencia entre un programador y un ingeniero de producto no es de talento ni de tecnología. Es de responsabilidad: uno responde por la tarea y el otro por el producto. Contratar al primero cuando necesitabas al segundo deja un hueco de decisiones que alguien llena mal, casi siempre tú. Contratar al segundo cuando ya tenías quien decidiera duplica un rol y cuesta más de lo necesario.

Antes de contratar, haz esto en orden: identifica quién en tu empresa decide hoy qué se construye y qué no; si la respuesta es nadie, o eres tú sin experiencia técnica, busca a alguien que se haga cargo del producto completo y compruébalo con las cinco preguntas de arriba; si la respuesta es un líder técnico que ya tienes, busca programadores y déjalo decidir a él. Y en cualquiera de los dos casos, exige que el código, las cuentas y las llaves queden a tu nombre desde el primer día.

Seguir leyendo