He dicho antes que los programadores no son personas comunes; son personas con algún tipo de superpoder. Pero el problema es que los programadores a menudo no son conscientes de esta habilidad especial. A sus ojos, creen que son muy ordinarios, igual que la gente común, por lo que las cosas que los programadores pueden hacer, otras personas —como sus clientes o usuarios del software— también deberían poder hacerlas fácilmente. Pero en realidad, como la mayoría de las personas —la gran mayoría (incluidos los clientes de las empresas de desarrollo de software y los usuarios que compran el software)— son novatos en computación (personas que saben muy poco sobre informática, computación o software). Una operación de software que es obvia para un programador, cuando la realiza un cliente, puede dar lugar a todo tipo de cosas extrañas. Esto hace que los programadores sufran mucho.

Recuerdo una vez que un cliente me llamó y dijo que la "E grande" en el escritorio de su computadora había desaparecido. No entendí: ¿qué "E grande" había desaparecido? El cliente explicó: es que el icono que parece una letra "e" grande ya no está. Me quedé atónito. Finalmente entendí que se refería a que el icono del navegador IE en el escritorio había desaparecido.

Otra vez, un cliente presentó un requisito: quería agregar una función de búsqueda en la página. Le pregunté: el sistema ya tiene función de búsqueda, ¿por qué agregar otra aquí? Dijo que no era esa búsqueda; lo que quería era buscar una palabra clave en esa página. Después de comunicarnos más, entendí que lo que quería era la función del atajo CTRL+F del navegador.

Debido a estas características de los clientes, el programa que el programador considera perfecto se convierte en un software extremadamente difícil de usar en manos del cliente, y el teléfono de quejas suena sin parar como una mujer vulgar gritando en la calle en el campo. Y al analizarlo después, la causa raíz es que los programadores sobrestiman la capacidad de los usuarios para controlar el software y subestiman su propia capacidad para crear software, lo que los lleva a ver que estos clientes usan el software que desarrollan de una manera tan ridícula, como se muestra en la siguiente imagen:

在程序员的眼里,用户是这样使用他们开发的软件的


A los ojos del programador, los usuarios usan el software que desarrollan de esta manera

Si se trata de un programador de mal genio, ante esta situación es inevitable que se queje ante el cliente. Además, los programadores generalmente no tienen muy buen temperamento, por lo que cuando se comunican con el cliente, normalmente el gerente de proyecto los acompaña para evitar que la situación se intensifique.

Aunque los clientes causan muchos problemas a los programadores, en realidad todo el sentido de orgullo del programador proviene de los clientes, porque solo cuando los clientes están satisfechos con el uso, el programador tiene una sensación de logro. Por ejemplo, las expresiones que muestran los siguientes clientes al usar un software nuevo son suficientes para hacer sonreír a un programador en una tarde de fuerte contaminación en Pekín:

用户在使用一款新软件时的样子


El aspecto de los usuarios al usar un software nuevo

Aunque los programadores tienen mal genio, siempre piensan en el trabajo y no guardan rencores personales. Cuando hay tareas urgentes en el desarrollo de software, trabajan horas extras sin quejarse. Cuando aparece un bug grave en el software ya publicado, se sienten profundamente culpables y trabajan toda la noche para crear un parche de reparación urgente. Si no pueden satisfacer al usuario de inmediato, pierden el apetito, no duermen y no descansan. Incluso cuando no hay una solución completa a corto plazo, se les ocurren algunos trucos, pero son soluciones efectivas que ayudan a los usuarios a superar el momento difícil. Por ejemplo, el siguiente es un parche de reparación urgente:

紧急修复补丁


Parche de reparación urgente

Los clientes deberían ser considerados con los programadores. La vida del programador se encuentra en un estado muy contradictorio. La programación no es como otras industrias, por ejemplo, un albañil que coloca ladrillos: cada capa que coloca, la pared sube un poco. Pero la programación es diferente; a veces un programador escribe código todo el día, sudando por la urgencia, pero el progreso del desarrollo no necesariamente avanza, e incluso a veces retrocede. La programación de software es un mundo que es a la vez virtual y real. A veces no entiendes por qué un fragmento de código funciona, y a veces te sorprendes de que el software construido con ese código también pueda ejecutarse, como se muestra en la imagen siguiente:

软件中有鬼


Hay un fantasma en el software

Por último, hablemos de algunas precauciones al tratar con programadores. Como los programadores lidian con la lógica de programación todo el día, son especialmente sensibles a las relaciones de causa y efecto. Si la relación causa-efecto de tus palabras no es muy clara, eso los confundirá; si la relación causa-efecto de tus palabras está incompleta, eso los hará cometer errores. Si tus palabras contienenifes mejor que después usesthenpara terminar, o usaelsepara dar opciones. El sujeto debe ser claro. Si no es claro, aparecerá el accidente que se muestra en la siguiente imagen:

程序员是这样理解这个指示牌上的话


Así entiende el programador las palabras de este letrero

Si eres programador, entenderás lo que digo.