Skip to content

Vaynerov Technologies

No solo desarrollamos — conjuramos cada línea de código y píxel.

El estándar del conjuro

El estudio tiene seis días. Antes de que adquiera costumbres por accidente, aquí está el estándar con el que funciona — escrito ahora, mientras ser honesto todavía sale barato.

Edward AmirainFundador, Vaynerov Technologies
Publicado 7 min de lectura
En esta página
  1. Contratamos arquitectos, no montadores
  2. Decir lo que la cosa no es
  3. Limpiar al desmontar es una posición moral
  4. Por qué un estudio pequeño publica sus precios

La línea bajo nuestro nombre dice no solo desarrollamos — conjuramos cada línea de código y píxel. La primera persona ajena al estudio que la leyó preguntó si conjurar no era demasiado para un estudio boutique de software que pasará casi toda su vida escribiendo TypeScript y revisando pull requests. Es una pregunta justa. Me quedé con la palabra, y este es el argumento a su favor.

Conjurar nombra un efecto, no un método. Cuando el software resulta ligeramente imposible — la lista que se desplaza sin un tirón en un móvil de hace cuatro años, el formulario que recupera tu respuesta a medio escribir después de una caída de conexión, la release de la que nadie tuvo que avisar a nadie — no estás viendo magia. Estás viendo la ausencia de los doce pequeños fallos que te han enseñado a esperar. La magia funciona escondiendo el trabajo. La ingeniería funciona eligiendo hacer el trabajo invisible un martes cualquiera, cuando nadie llegará a ver nunca la versión en la que no lo hiciste.

Conjurar no es un estado de ánimo. Es un estándar: una lista de cosas que hacemos siempre, y muy especialmente en las semanas en las que saltárselas no costaría nada hoy.

Los estándares suenan pasados de moda porque suenan a burocracia. No lo son. Un estándar es lo que decide por ti a las seis de la tarde de un jueves, cuando el cliente está contento, la demo ha salido bien y la jugada correcta son otras dos horas de trabajo que no cambiarán nada visible. El buen gusto, solo, pierde esa discusión siempre. Un estándar escrito la gana más o menos la mitad de las veces, que es todo el margen que separa a unos estudios de otros.

Contratamos arquitectos, no montadores

La distinción no es la antigüedad, y tampoco el cargo. Un montador pregunta qué dice el ticket. Un arquitecto pregunta qué implica ese ticket en el mes dieciocho, cuando otras tres funcionalidades dependan del atajo que propone. Los dos escriben código que funciona. Solo uno de ellos sigue saliendo barato en el año dos.

Escribir código nunca fue la habilidad escasa, y cada trimestre lo es menos. Lo que sigue escaseando es el criterio: qué invariante sostiene la estructura, qué abstracción justifica su peso, qué funcionalidad pedida son en realidad dos funcionalidades y un malentendido. Un montador añade lo que le han pedido. Un arquitecto pregunta qué hay que borrar ahora que eso existe, y está dispuesto a decir no, y esto es lo que construiría en su lugar — a mí, y por escrito.

Así que el listón de contratación es un listón de criterio. Quiero que las discusiones internas de este estudio vayan sobre borrar, no sobre añadir. Alargar un backlog lo sabe hacer cualquiera.

Decir lo que la cosa no es

Todo sistema tiene una frontera donde deja de ser cierto. Las cachés se quedan rancias. Las estimaciones dan por hecho un alcance. Los modelos se muestran seguros sobre cosas que no han visto jamás. La costumbre del sector es dejar esa frontera fuera de la frase y confiar en que nadie la encuentre en producción. Nuestra regla va en la dirección contraria: el límite pertenece a la interfaz, en el mismo cuerpo de letra que la promesa.

La frase que admite un límite forma parte del producto. Si no está en la interfaz, no hemos terminado de publicar.

Ya se ve en los dos sitios donde estamos obligados a ser honestos. La calculadora de precios pone la advertencia donde está el número, no en un pie de página: una estimación se sostiene hasta que el alcance y el descubrimiento digan otra cosa. La garantía de devolución nombra cada una de sus condiciones en la misma frase que la promesa. Publicar las condiciones cuesta un poco de conversión y compra lo único que vale la pena tener el primer día, que es un cliente sin sorpresas en el mes tres.

Relacionado, y igual de vinculante: quien persuade es el número. «Rápido» es un informe sobre cómo nos sentimos con nuestro propio trabajo. «180 ms en el percentil 95, en un Android de gama media sobre 4G» es una afirmación que puedes ir a refutar. Los adjetivos piden que se les crea; los números piden que se les compruebe. Preferimos que nos comprueben, y cuando todavía no tenemos la medición, lo honesto es decir que la medición no existe en lugar de echar mano de un adjetivo más grande.

Limpiar al desmontar es una posición moral

Este es el ejemplo más pequeño que conozco del estándar, y el que uso para explicárselo a quien cree que todo esto es abstracto. Un componente interactivo va adquiriendo cosas mientras vive: temporizadores, listeners, sockets, observers, frames de animación, un contexto de GPU. Nada en el lenguaje te obliga a devolverlos cuando el componente desaparece. Sáltatelo y la aplicación sigue funcionando: los tests pasan, la demo sale bien, la funcionalidad se publica.

Y entonces alguien navega por tu producto durante veinte minutos. Los temporizadores abandonados siguen disparándose. El teléfono se calienta, el ventilador del portátil se acelera, la pestaña que iba perfecta en tu escritorio se muere en un tren de cercanías. Nadie reporta ese fallo como se te olvidó una función de limpieza; lo reportan como «la aplicación pesa mucho», o más a menudo no reportan nada y dejan de usarla.

Lo llamo una posición moral porque cuesta una tarde y no compra nada que puedas enseñar en una demo. Lo haces por una máquina que no verás nunca, propiedad de una persona que nunca sabrá que se libró de algo. Ese instinto escala a todo lo que hay por encima: sesiones que terminan de verdad, trabajos que se detienen cuando los cancelas, cachés con una caducidad que alguien eligió a propósito, funcionalidades que se retiran cuando dejan de pagar su mantenimiento. El software que no recoge lo suyo es software que no respeta la máquina en la que está de invitado.

Por qué un estudio pequeño publica sus precios

La asimetría de información es el truco favorito de este sector, y también el más viejo. «Consulta el precio» no significa que el precio sea complicado; significa que el precio es negociable en una dirección que depende de lo que la agencia pueda adivinar sobre tu presupuesto. El número existe antes de la llamada. La llamada trata de quién se entera primero.

Nosotros publicamos el nuestro el primer día, con la aritmética en pantalla: unidades por partida, los multiplicadores, el rango, las semanas. Puedes llegar a un número a las dos de la mañana sin conocer a nadie, y si el número no te encaja, has perdido noventa segundos en lugar de dos reuniones y una semana de cortesía.

Esto tiene un coste real y prefiero decirlo a fingir que la decisión fue gratis. Le entrega nuestra tarifa a la competencia, invita a que nos comparen por precio con gente encantada de bajarlo y elimina la opción de cobrarles distinto a dos clientes por el mismo trabajo. No quiero esa opción. Un precio que te daría vergüenza publicar es un precio que debería darte vergüenza cobrar.

La garantía de devolución del 100 % es la misma idea con etiqueta de precio. Si el proyecto no se lanza antes de la fecha contratada, no pagas. Convierte nuestra confianza de adjetivo en pasivo, de nuestro lado de la mesa, que es la única forma de confianza sobre la que un comprador puede actuar.

Hay una versión de todo esto que se aplica antes de que nadie sea cliente, y es la parte que casi todos los estudios tratan como decoración. Lo que le debemos a un visitante: páginas que cargan rápido en el móvil que de verdad tiene, un precio que puede encontrar sin entregar un correo, ninguna cuenta atrás que se reinicia al recargar, ningún diálogo de cookies diseñado para que el botón equivocado sea el más fácil de pulsar, ningún widget fingiendo ser una persona encantada de ayudar. Los patrones oscuros no son más que un estándar apuntando al cliente en vez de al código.

Nada de esto impresiona en la primera semana. Cualquiera puede sostener un estándar mientras el estudio es pequeño, el calendario está vacío y ninguna fecha de entrega ha enseñado los dientes todavía. La razón para escribirlo ahora es precisamente que más adelante será incómodo, y un estándar escrito es refutable de una forma en que un valor corporativo no lo es nunca. El sitio se publicó hace seis días y los precios llevan públicos desde la primera hora. Las dos cosas se pueden comprobar. Compruébalas, por favor.