Lo cutre

Ayer, un amigo que ha sido compañero de trabajo en ya dos empresas y de los que tiene la cabeza encima de los hombros, me comentaba mientras nos calzábamos unos buenos copazos que poco menos que se habían reído de él cuanto estaba explicando su solución técnica para gestionar cuentas de millones de usuarios porque usaba eval

Hace no demasiado, en la SpainJS (una conferencia de javascript), un chaval de Spotify decía, con cierto reparo, que usaban iframes. En la charla además explicó cómo se comunicaban y qué diferentes aproximaciones habían usado, lo que hizo que fuese, de largo, la mejor charla de la conferencia. Lo que se me quedó grabado es que casi pedía perdón por usar iframes. Se conoce que alguien en alguna parte dijo que los iframes no eran una solución elegante, que era cutre.

Estos son dos ejemplos, pero veo mucho más todos los días, gente aclamando que siempre debes hacer TDD, que lo más importante es que el código quede perfecto, discutiendo si tal o cual tecnología es una bazofia. A menudo se nos olvida que hay un factor que todos tenemos muy limitado, y es el tiempo. Y para hacer cosas en tiempo hay que hacer algunas cosas cutres, cosas mal vistas, dejar lo que ahora todos llaman deuda técnica que no deja de ser lo que toda la vida se ha llamado ingeniería, o dicho de otro modo, saber qué puedes puentear y qué debes hacer lo mejor que puedes. No se puede, bajo ningún concepto, hacer siempre lo mejor que puedes en un proyecto, porque estarías tirando tu tiempo.

Cada vez que haces algo cutre, es decir, cada vez que tomas una decisión técnica que no es la perfecta, sino la ideal para eso, alégrate, acabas de ganar un poco de tiempo de tu vida. Pero claro, para saber en qué debes apretar los machos y dónde dejar esa deuda normalmente tienes que tener una perspectiva que los programadores no solemos tener y lo tapamos con basura técnica. Y no se te olvide anotar que esas cosas las has hecho así por si viene algún espabilado después criticando lo que hiciste en su día (no te preocupes, puedes poner comentarios en el código, son bienvenidos).