Para los desarrolladores, los días felices de poder esconderse detrás de múltiples monitores y paredes de código impenetrable han terminado. Hoy en día, tendrá que trabajar en estrecha colaboración con diseñadores, gerentes de productos y otras partes interesadas para lograr un objetivo común en cualquier proyecto determinado.
Trabajar eficazmente con diseñadores puede presentar problemas particulares para los desarrolladores, ya que históricamente las dos disciplinas se han considerado bastante separadas. Sin embargo, ese ya no es el caso. Como desarrollador, se espera que pueda contribuir de manera significativa a las conversaciones en las que el diseño es una consideración clave y que trabaje mano a mano con los diseñadores en todas las etapas de un proyecto.
En este artículo, veremos 11 consejos de sentido común que los desarrolladores pueden tener en cuenta para que sus interacciones con los diseñadores sean más productivas, agradables y gratificantes para todos los involucrados.
Empecemos por ver por qué los diseñadores y desarrolladores están trabajando más juntos que nunca.
Históricamente, la línea divisoria entre desarrolladores y diseñadores era bastante rígida. Se suponía que la gente estaba mucho de un lado de la valla o del otro, y que los dos nunca se encontrarían.
La idea de que alguien pudiera ser a la vez un diseñador y un desarrollador competentes era tan descabellada que la rara raza de personas que podían hacer ambas cosas se denominaba abiertamente unicornios .
En estos días, la situación es muy diferente. Particularmente en el contexto del desarrollo web front-end, se espera cada vez más que esté al menos familiarizado con los aspectos clave de ambas disciplinas como profesional en cualquier contexto.
Como medio impulsado por código, gran parte de la presión inicial para expandir los conjuntos de habilidades en línea estaba dirigida a los diseñadores . A medida que los diseñadores han mejorado admirablemente su juego en respuesta, el zapato está cada vez más en el otro pie: se espera que los desarrolladores sean alfabetizados visualmente y tengan en cuenta las preocupaciones de diseño en su código como una cuestión de rutina.
En el contexto del desarrollo web moderno, la habilidad crucialmente importante que se debe dominar es realmente la resolución de problemas, una preocupación que está en el centro tanto del diseño como del desarrollo. Aunque las habilidades básicas diferirán naturalmente, los desarrolladores y diseñadores buscan muchas de las mismas cosas al final del día.
En el transcurso de nuestros 11 consejos, veremos sugerencias generales y específicas del proyecto con el fin de ayudarlo a colaborar de manera más efectiva con los diseñadores para trabajar hacia sus objetivos compartidos.
¡Vámonos!
1. Aprende los conceptos básicos del diseño visual
Como desarrollador, está naturalmente acostumbrado a tratar con un vocabulario especializado y un conjunto de conceptos. Parte de lo que hace que la comunicación con otros desarrolladores sea relativamente sencilla es que tiene un conjunto compartido de términos, suposiciones y experiencias en las que confiar para poder debatir rápidamente incluso sobre temas complejos.
El diseño visual tiene su propio conjunto de principios básicos , técnicas y vocabulario que los diseñadores usan para hacer más o menos lo mismo. Un poco de esfuerzo adicional dedicado a familiarizarse con estos ampliará radicalmente su visión del mundo en términos de técnicas de resolución de problemas y facilitará sustancialmente la colaboración con los diseñadores.
Comience eligiendo una buena guía de propósito general para el diseño visual dirigida a un público no especializado. El Libro de diseño para no diseñadores de Robin Williams se considera ampliamente como la opción destacada aquí. The Elements of Graphic Design de Alex White y Design Elements: A Graphic Style Manual de Timothy Samara son buenas opciones para leer más.
A medida que absorbe la esencia básica de lo que constituye la práctica del diseño visual, preste especial atención a las siguientes áreas:
- Tipografía: como desarrollador, debe acostumbrarse a la idea de que trabajar con texto no es simplemente una cuestión de elegir una fuente y un tamaño de fuente para su IDE favorito: es el corazón de una comunicación visual efectiva. Una lectura rápida de Practical Typography de Butterick , o recoger una copia de Stop Stealing Sheep de Erik Spiekermann , contribuirá en gran medida a ponerlo al día.
- Principios básicos de diseño: así como la programación tiene su propio conjunto de principios básicos, también lo tiene el diseño visual. Familiarizarse con conceptos básicos como proximidad, alineación, repetición, contraste y uso de espacios en blanco debería abrirle los ojos a los componentes básicos de un diseño efectivo.
- Teoría del color: los aspectos del uso del color pueden ser subjetivos, pero existe una teoría real detrás del uso del color en general que los desarrolladores harían bien en tener en cuenta.
- Diseño UX: la experiencia del usuario es donde la goma se encuentra con el camino en términos de diseño en línea. Revisar los fundamentos con un curso como UX Apprentice valdrá la pena en el futuro.
2. Considere los beneficios de asociarse con un diseñador
Ya sea que sea parte de su flujo de trabajo semanal o no, es casi seguro que se ha encontrado con la práctica de la programación en pares como desarrollador.
No es necesariamente la bala mágica que algunos afirman, pero los beneficios de la programación en pareja pueden ser numerosos: es una forma increíblemente rápida de transmitir conocimientos en un equipo, aumenta la disciplina de codificación y puede conducir a una mejor calidad de código en general.
Si tiene algún tipo de oportunidad de hacerlo, debe intentar organizar algunas sesiones de emparejamiento con un diseñador, idealmente en ambos sentidos. La razón principal de esto es que, con demasiada frecuencia, los diseñadores y desarrolladores literalmente no tienen idea de cómo realizan su trabajo los demás .
Ver a un diseñador decente en el trabajo le dará una nueva perspectiva de los problemas que realmente están tratando de resolver. Por otro lado, tener que explicar su propio proceso a un diseñador le indicará qué aspectos del desarrollo tienden a ser completamente opacos para los diseñadores.
Si puede trabajar este tipo de combinación (en términos de presupuesto, disponibilidad y plazos generales) en un proyecto en vivo, mucho mejor. Sin embargo, vale la pena encontrar un diseñador amigable para probar esto en su propio tiempo: la recompensa en términos de su capacidad para comunicarse de manera efectiva en proyectos futuros hace que valga la pena.
3. Comprenda el papel del diseño en su proyecto
Al entrar en cualquier proyecto como desarrollador, naturalmente tendrá su atención centrada en elaborar el marco de desarrollo general que empleará y en elaborar tantos detalles técnicos por adelantado como pueda.
Para ayudar a garantizar una comunicación efectiva, y ahorrarse una gran cantidad de molestias en el futuro, asegúrese de comprender también el papel del diseño en su proyecto en particular. Bien puede estar pensando para sí mismo en esta etapa, ¿ seguramente ese es el problema del diseñador? En términos generales, lo es, pero acabará teniendo un impacto muy directo en tu trabajo.
El diseño, como el desarrollo, es algo así como un término general y su implementación real se puede abordar de innumerables maneras. Tener una comprensión clara de cómo se aborda en su proyecto en particular le permite determinar cuál se espera que sea la naturaleza de su interacción con el equipo de diseño.
Si el diseño se considera como un enfoque integrador para la resolución de problemas , trabajará directamente con diseñadores visuales y de UI/UX, se espera que participe con ideas y tenga que iterar rápidamente a través de prototipos en un entorno colaborativo.
Si el diseño se considera simplemente como la guinda visual del pastel, es probable que le entreguen algún tipo de diseño supuestamente terminado y le digan que «haga que funcione».
Comprender el papel del diseño en su proyecto lo ayuda a detectar problemas con anticipación y evitarlos en el momento o aprender a vivir con ellos. También le brinda un conjunto claro de expectativas al comunicarse con los diseñadores.
4. Aclare las restricciones desde el principio
Como desarrollador profesional que trata con otros miembros del equipo que pueden no tener su amplia experiencia técnica, su responsabilidad es comunicar las limitaciones de forma clara y temprana. Cuando se trata de sugerencias de diseñadores, usted tiene la responsabilidad de explicar realmente la naturaleza de la restricción, en lugar de simplemente decir que algo nunca sucederá por razones técnicas oscuras.
Como muestra el video a continuación, los diseñadores no son ajenos a las limitaciones en su propio trabajo, por lo que debería estar predicando al coro si se toma el tiempo para explicar los problemas subyacentes de manera sucinta.
Al igual que con la mayoría de nuestros puntos, este es, en última instancia, sobre la comunicación. Desea delinear los éxitos potenciales al principio de un proyecto, no sacarlos de un sombrero dos semanas antes del lanzamiento.
Además, no caiga en la trampa de ser presionado para aceptar características o cambios que no ha tenido la oportunidad de revisar técnicamente de manera adecuada. Mantenga sus armas, evalúe los elementos según sus méritos reales y retroceda rápidamente si algo no funciona.
Este enfoque puede causar un poco de fricción inicial con los diseñadores y gerentes de productos al principio de un proyecto, pero ahorrará una gran cantidad de problemas en el futuro.
5. Haga que su flujo de trabajo sea claro
Así como está obligado a comunicar las restricciones de manera temprana y efectiva, también está obligado a hacer que su flujo de trabajo real sea muy claro para los diseñadores.
Las fases enteras del trabajo de desarrollo a menudo son completamente invisibles para los diseñadores. La especificación, las pruebas, la corrección de errores y la documentación son solo algunas de las áreas de trabajo que la mayoría de los no desarrolladores tienden a ignorar felizmente.
No importa cuán ágil pretenda ser o cuán profundo sea su compromiso con el desarrollo continuo, no puede simplemente gastar un centavo como desarrollador.
Al hacer que su flujo de trabajo sea claro para los diseñadores (y otros miembros del proyecto) desde el principio, establece límites y expectativas claros en términos de cómo se realizará el trabajo y, en particular, cómo se manejarán los cambios.
6. Esté preparado para enseñar
Siguiendo con nuestro punto anterior, siempre debe estar preparado para hacer un esfuerzo adicional y explicar el contexto (técnico o de otro tipo) de lo que está haciendo.
Esto puede ser frustrante cuando intentas simplemente sentarte y concentrarte en resolver un problema, pero si no lo haces corres el riesgo de generar resentimiento y falta de cooperación por parte de los diseñadores.
No estamos diciendo que deba realizar seminarios sobre los conceptos básicos del desarrollo front-end con diseñadores, pero al menos debe estar preparado para desglosar los problemas técnicos de una manera que conduzca a una comprensión más amplia. También debe esperar el mismo favor a cambio de cualquier diseñador con el que esté tratando.
7. No tengas miedo de comunicarte visualmente
Si el desarrollo es su pan y mantequilla, la idea de hacer un boceto rápido para explicar un concepto puede no ser la más natural.
Cuando intente resolver un problema con un diseñador en un proyecto, no recurra instantáneamente al lenguaje técnico y los conceptos con los que está familiarizado: prepárese para comunicarse visualmente, incluso si sus habilidades no son todo lo que podrían ser.
Es raro que una persona no pueda dibujar un rectángulo y, a menudo, todo lo que necesita es un conjunto primitivo de formas para esbozar rápidamente prototipos, ideas o posibles cambios. Si es realmente reacio a tomar lápiz y papel, hay una gran cantidad de herramientas de creación de prototipos intuitivas en las que puede apoyarse para transmitir su punto de vista visualmente a los diseñadores.
8. Trabajar con datos de muestra significativos
Una queja común de los desarrolladores es que los diseñadores son propensos a juntar bonitas maquetas con datos completamente sin sentido, y luego arrojarlas sobre la valla con la esperanza de que los desarrolladores mágicamente hagan que todo funcione.
Este es, ciertamente, un estado de cosas menos que deseable. Todo tipo de problemas de implementación espinosos y casos extremos pueden estar al acecho detrás de campos de formulario simulados de aspecto inocuo y brillantes planos de Photoshop. Sin embargo, un punto clave a destacar aquí es que los datos son dominio del desarrollador .
En última instancia, es responsabilidad del desarrollador insistir en el uso de datos de muestra significativos como parte del proceso de diseño. Sí, en un mundo perfecto, los diseñadores, los gerentes de producto y las partes interesadas comprenderían instintivamente la importancia de esto. Lamentablemente, no vivimos en un mundo perfecto.
Como desarrollador, debe involucrarse activamente en la fase de diseño del proyecto lo suficientemente temprano para asegurarse de que se haya abordado la cuestión de los datos de muestra, y estar feliz de ayudar a definir cuáles deberían ser esos datos. Levantar las manos horrorizado por lo que te dan no es una solución, debes ser más proactivo.
9. Muestra tu trabajo
Ya sea que se adhiera a los principios del movimiento Agile o no, es una excelente idea como desarrollador comprometerse a mostrar regularmente su trabajo en progreso a los diseñadores y otras partes interesadas del proyecto.
La situación que está tratando de evitar es el escenario clásico de desaparecer en su cueva de programación durante semanas o meses, y luego hacer una gran revelación única en un proyecto que casi seguramente lo decepcionará.
Las herramientas modernas como Git hacen que compartir y probar versiones de su trabajo en progreso sea un asunto trivialmente fácil; realmente no hay excusa para no hacerlo en estos días.
Al comprometerse con rondas periódicas de retroalimentación iterativa entre los equipos de diseño y desarrollo, mantiene claras las expectativas y puede reaccionar a los problemas o cambios de dirección del proyecto con calma.
10. No te conformes con el estereotipo
Incluso dentro del mundo del desarrollo existen estereotipos en juego. La comunidad de Ruby ha adquirido cierta reputación de drama a lo largo de los años, al igual que WordPress últimamente. Los programadores de PHP son criticados regularmente por supuesta incompetencia crónica y codificación de vaqueros. Los programadores Lisp son caricaturizados como cerebritos remotos poco prácticos que piensan que todos los demás lenguajes están por debajo de ellos.
Ninguna de estas cosas es cierta en ningún tipo de sentido generalmente aplicable, pero las ideas persisten, no obstante. Del mismo modo, los desarrolladores tienen su propio conjunto de estereotipos sobre otras áreas de especialización.
En lugar de repetir los diversos estereotipos que los desarrolladores y diseñadores pueden tener en sus cabezas, digamos que deberías esforzarte por no estar a la altura de ninguna de las versiones caricaturescas de los desarrolladores que existen en el mundo.
11. Recuerda que tus metas no son las únicas metas
Nuestro punto final es particularmente crítico, quizás mejor resumido en la respuesta posiblemente apócrifa del desarrollador a la solicitud de un gerente de proyecto de un rendimiento más rápido: si no tiene que funcionar, puedo hacerlo tan rápido como desee.
El desarrollo es un negocio terriblemente orientado a los detalles y es demasiado fácil olvidar que su conjunto particular de preocupaciones, problemas u objetivos no son necesariamente los principales en el proyecto como un todo.
Esto es particularmente importante a tener en cuenta cuando se trata de diseñadores, ya que sus respectivas prioridades pueden ser radicalmente opuestas a primera vista. Como mencionamos anteriormente, familiarizarse con los conceptos básicos de UX contribuirá en gran medida a poder ver múltiples puntos de vista.
Tenga siempre en cuenta que la opinión que realmente importa es la del usuario final.
Habrá momentos en los que tendrá que tomar atajos, sacrificar el rendimiento o complicar su código de maneras que pueden no ser particularmente aceptables. Esto es parte de vivir en el mundo real y algo que debes aprender a aceptar en lugar de rechazarlo instantáneamente, ¡dentro de los límites, por supuesto!
Más recursos
Tener en cuenta incluso algunos de los puntos anteriores lo convertirá en un mejor miembro del equipo como desarrollador, facilitará sus interacciones con los diseñadores y, en general, aumentará su capacidad de contratación general.
Si está buscando profundizar un poco más en el mundo del diseño, los siguientes recursos bien valen su tiempo:
- Ryan Singer sobre el diseño: como diseñador principal en Basecamp , Ryan Singer ha estado describiendo articuladamente su proceso de diseño centrado técnicamente en línea durante más de una década. Si está buscando desgloses de alto nivel de un diseñador de clase mundial en el trabajo, consulte la colección de recursos en su sitio Felt Presence .
- Mike Monteiro sobre el diseño: Mike Monteiro , una presencia confiablemente puntiaguda en las redes sociales, es infalible en el tema general del diseño como una disciplina de resolución de problemas. Sus libros Design is a Job y You’re My Favourite Client son lecturas obligadas tanto para diseñadores como para desarrolladores.
- Lynda.com: por centavos al día, sitios como Lynda.com le brindan acceso a un mundo de cursos de diseño impartidos por expertos que pueden ayudarlo a eliminar las ruedas de entrenamiento en términos de comprensión y práctica del diseño. Cursos como Mejores prácticas de diseño gráfico y Principios universales de diseño cambiarán la forma en que miras el mundo.
- Creative Bloq: un chapuzón ocasional en sitios como Creative Bloq lo mantendrá actualizado sobre los problemas del mundo del diseño en general. Si está buscando algo con el mismo tipo de emoción adictiva que Hacker News , Sidebar y Designer News valen la pena.
Conclusión
Tradicionalmente se representa a los desarrolladores y diseñadores como operando en diferentes lados de la cerca, pero esas divisiones artificiales se están desvaneciendo con cada año que pasa.
El futuro de la producción de software, en WordPress y más allá, es colaborativo, centrado principalmente en resolver los problemas de los usuarios como equipo. Nuestra colección de 11 consejos lo ayudará a trabajar de manera efectiva con los diseñadores para realizar ese trabajo.
Los 11 consejos que hemos identificado son valiosos por derecho propio, pero en última instancia se reducen a dos cosas:
- Tómese el tiempo como desarrollador para comprender el mundo del diseño y sus habilidades para resolver problemas se dispararán.
- Esfuércese constantemente por ser abierto en su comunicación sobre proyectos individuales.
Nos encantaría escuchar sus pensamientos. ¿Hay consejos para trabajar eficazmente con diseñadores que nos hemos perdido? ¡Ponte en contacto a través de los comentarios y cuéntanos!
Imagen en miniatura del artículo de PureSolution / shutterstock.com.