En el ámbito del software, los conceptos de diseño, desarrollo y programación están íntimamente ligados, llegando a fusionarse la mayoria de las veces en la cabeza de muchos, sobre todo en las de aquellas personas menos versadas en esta materia, que asumen que un diseñador web responde al mismo perfil profesional que un desarrollador web o que un programador web, 3 perfiles profesionales que penden del mismo hilo pero que toman caminos muy diferentes.
Diseñador Web vs Programador Web.
A priori es fácil pensar que si un profesional del diseño tiene que ejercer su labor sobre un código que haga posibles las funcionalidades de su página web, este debe entenderlo y por tanto debe saber programarlo, por lo que al final parece que estamos hablando del mismo perfil profesional pero con distinto envoltorio.
Es curioso como la interpretación del trabajo de un diseñador web afecta al pensamiento de tantos y tantos de nosotros cuando partimos de mundos tan dispares como son el de la programación y el del diseño, pero que nunca mezclamos cuando pensamos en como un programador hace una herramienta de gestión por ejemplo, prácticamente nadie repara en el diseño de la misma por que esta ha de ser funcional, y cuando lo hace, se percibe como algo diferente y pensamos en contratar a un diseñador para que se ocupe del entorno usuario.
Si tenemos claros los conceptos de diseñador y de programador ¿por qué se entrecruzan en nuestro pensamiento cuando hablamos de software? o más concretamente de páginas web como es este caso.
El diseño de software y la aparición de nuevas herramientas.
A lo largo de los últimos años, la vida del diseñador se ha vuelto mucho más fácil gracias a la aparición de herramientas cada vez más potentes y sencillas. Herramientas que permiten realizar conceptos cada vez más vanguardistas y a su vez más sofisticados y que en el caso concreto del diseño web, permite al diseñador trabajar con un CMS que le permita centrarse exclusivamente en el diseño o en la experiencia de usuario dejando de lado la programación al trabajar con gestores de contenidos con entorno de usuario. Pero entonces ¿que lugar ocupa el programador?
El programador será el encargado de pensar en las funcionalidades, en su desarrollo, en su optimización… Es decir, será el encargado de que nuestra página haga lo que queremos que haga.
Es verdad que los desarrolladores de plantillas para CMS´s ya han tenido en cuenta esto y para facilitar el trabajo de los diseñadores ya han implementado las funcionalidades más comunes y usadas en internet en sus plantillas. Y necesitamos algo que aún no ha desarrollado ninguna de estas empresas dedicadas a desarrollar contenido para WordPress, siempre existe la opción de encargar a un programador o a una empresa de software el desarrollo de un Plugin que haga esa determinada función ya que WordPress por ejemplo es de código abierto. Pero a día de hoy es raro el caso de que nos encontremos en una situación en la que necesitemos algo que no encontremos dentro de la red de plantillas y plugins que hay dentro de WorPress.
Conclusión
Puesto en contexto es fácil ver la diferencia entre el perfil profesional que se encargara del diseño de una página web (diseñador web), y por tanto se encargará de estudiar que necesidades de uso tiene un determinado proyecto y de como el visitante la usará, para realizar un diseño atractivo, cómodo y usable; entre el que se encargará de programar (programador web) y hacer posible que una página tenga un funcionamiento correcto y haga posible sus funcionalidades y del que se encargará de velar por que el proyecto se desarrolle en la dirección correcta (desarrollador web) y ponga a disposición de diseñadores y programadores las herramientas adecuadas y la información necesaria para que el proyecto sea posible.
Para acabar, queremos referenciar a Alan Cooper, creador del entorno de programación Visual BASIC y pionero en el campo del diseño de interacción, plantea las razones por las cuales los diseñadores no deben saber programar.
- Es posible saber cómo se hace algo sin hacerlo directamente. Muchos profesionales (directores, coreógrafos, entrenadores, etc) dirigen a otros sin hacer su trabajo, pero sabiendo cómo debe hacerse.
- Hacer algo no supone automáticamente conocer sus implicaciones. Saber programar no implica entender los efectos del código que se ha creado en el producto final o en la organización que lo emplea.
- La separación entre “diseñadores” y “desarrolladores” es simplista y no refleja la complejidad de ambos roles ni cómo estos interactúan. En este sentido, Cooper indica que si bien puede ser bueno que los diseñadores dediquen un tiempo a programar, los programadores también deberían dedicar un tiempo a diseñar, es decir a participar en el proceso de diseño que incluye conocer las necesidades de los usuarios.
- Hay pocos buenos programadores y diseñadores. Por tanto, para Cooper “es absurdo y un desperdicio obligarles a trabajar en un ámbito ajeno a sus especiales habilidades.”
Eso si, tener nociones básicas en lenguajes de marcas y en los lenguajes de programación mas usados en diseño web siempre nos ayudará a entender por qué algo nos está dando problemas y que dirección seguir para solventar una crisis en poco tiempo.