Una de las eternas luchas que tenemos los desarrolladores Web es la elección de la herramienta perfecta. Del lenguaje mejor equilibrado. Del Framework más completo. Del servidor más eficiente. Y un sin fin de otras características. Eso, muchas veces, nos lleva a perder la perspectiva. Nos olvidamos de las necesidades del cliente y nos centramos en las nuestras. Lo cual es lógico, porque nos pasamos más tiempo picando que hablando.

Un cliente, cuando pide una aplicación web o mobile, quiere por encima de todo que sea:

  • Rápida. A nadie nos gusta tener que esperar.
  • Barata. Obviamente.
  • Bonita. Cuando más agradable sea mejor aceptación tendrá en todos los aspectos.
  • Sólida. Sin fallos de diseño ni bugs. Es intolerable por el cliente por muy simple que sea.
  • Usable. Por muy rápida y bonita que sea, debe tener una excelente usabilidad.

El cliente no va a ver el código, ni lo va a entender. No sabe que es un Framework, muchas veces ni que es un navegador web. Solo va a experimentar el resultado final. El resto es pornografía de programador.

Por eso aconsejo:
  • No aferrarte a un solo lenguaje de programación. Existe un mundo muy rico fuera de PHP. Si existe una variedad es porque no existe el lenguaje definitivo. Para cada proyecto tendrá diferentes necesidades. Por ejemplo, me encanta Python y amo la comunidad que lo envuelve; pero nunca se me ocurriría usarlo para hacer un videojuego (mejor C++ o C#).
  • Los Frameworks son tus amigos. No están hechos para robarte el trabajo, sino para ayudarte a abaratar los tiempos. ¿Cuanto se tarda en realizar un blog desde cero? ¿Cuanto se tarda instalar un Wordpress? Y el tiempo es dinero. Por lo que podrás aceptar más trabajos.
  • Trabaja con diseñadores gráficos. Aunque eleves un poco el precio, conseguirás resultados más depurados y atractivos.
  • Estudia y lee libros sobre usabilidad web. Al final tú eres el profesional y el que tienes que guiar al cliente. Cualquiera sabe añadir botones, pero muy pocos simplificar.
  • Realiza test. No es aceptable dar un trabajo mal testeado o con problemas. Dedica un tiempo. Si en necesario habla con el cliente para conseguirlo.

Y eso es todo. Dejen un comentario si quieren que añada algún otro punto.