Gracias a todos los que han escrito preguntándome si estábamos muertos - eso de trabajar de tiempo completo, empezar un departamento desde cero, atender a la novia y vivir en un destino turístico con playa deja muy poco tiempo para actividades extra-curriculares.

Así que estoy encerrado con tres desarrolladores en una oficina la mayor parte del día. Es curioso porque en mi corta carrera profesional jamás he tenido que trabajar con otros diseñadores, sólo he trabajado de cerca con programadores/desarrolladores. Tras todos estos años trabajando con ellos, he podido encontrar algunas características que comparten. Mi muestra no es muy grande (unos siete desarrolladores en total) pero creo que son suficientes para estereotiparlos. A continuación sus características:

Tienen una visión taxonómica del mundo

Hace poco fui a Wallmart y en la sección de Atún había mayonesa, en la sección de cereales había leche, y en la sección de mariscos enlatados había galletas saladas. Sin embargo, los mismos productos existían en otros lados también. Los habían puesto en el contexto de uso: casi nadie come cereal sin leche, y poca gente come en atún sin mayonesa (al menos en mi contexto cultural). Tiene todo el sentido del mundo.

Sin embargo, cuando le digo a un desarrollador que cierta información debe de existir en dos páginas diferentes, empiezan a hacer corto circuito: "No puede haber dos instancias del mismo objeto!". Los desarrolladores odian la redundancia. La información no sólo se debe de proveer taxonómicamente, se debe de proveer en su contexto de uso. Este es un error común en la documentación y ayuda de los sitios y programas: crean una sección de "Help" completamente desligada del producto. Si te salta una duda tienes que cambiar de sitio y buscar el problema.

"A ver quién la tiene más chica"

Los desarrolladores novatos hablan sobre la "elegancia del código": se regodean de que su programa se ejecuta en sólo 10 líneas de código. Sin embargo, cuando alguien se sienta a usar el programa la elegancia del código se convierte en la pesadilla del usuario. Un ejemño: llenas un forlario enorme y al terminar sale un mensaje que dice "Hubo un error en la información, por corrígelo e intenta de nuevo". Dejas al usuario preguntándose qué introdujo mal y por más que busca no encuentra su error. Una validación de este tipo se hace en 5 líneas de cógido, una buena validación se hace en muchas más.

Entienden que los objetos no son inmutables

En la universidad rara vez hubo un profesor que me diera la oportunidad de corregir mis errores después de la entrega final. En el diseño tradicional (impreso) una vez que imprimes no hay oportunidad de corregir, estamos acostumbrados a dejar todo perfecto antes de liberar.

En el mundo digital puedes tener un ciclo para liberar y luego iterar, llegar a la excelencia en pasos pequeños. Los desarrolladores comprenden esto mucho mejor: pueden hacer un release modesto con poca funcionalidad e ir liberando mejoras y funciones. Los diseñadores tendemos a tratar de cagar un ladrillo: sacar las cosas tal y como las queremos de un pujón. El acercamiento de los desarrolladores es más realista y más sano.

Todos los desarrolladores hacen el chiste de los colorcitos

Conversación con un desarrollador durante la universidad:
-"¿Qué clase tienes ahorita?"
-"Color wey, y tengo examen"
-"Jajaja, y qué te van a preguntar, ¿cual de estas crayolas es roja?"

Conversación con un desarrollador en el trabajo:
-"Qué te parece esta navegación?"
-"Las palabras que usaste no me están diciendo nada y el area clickeable no abarca todo el botón"
-"Pero yo decía del color".

Chiste más añejo no podremos escuchar.

Y bien, esas son las características que he visto en la mayoría de los desarrolladores. Y si eres desarrollador, ¿qué características has visto en los diseñadores?

9:00 PM Actualización para desarrolladores y diseñadores web: no se pierdan la librería de patrones de diseño de Yahoo!, liberada el dìa de hoy por el equipo de diseño de interfaces de Yahoo.