A los Buenos Informáticos
Para mi es un placer incluir el siguiente post en el marco del aniversario de este blog, porque soy un gran admirador del estilo de Aldrin Martoq, creo que tiene un gran talento para escribir y debería hacerlo más, lo que reafirma una observación que tengo de que los buenos informáticos son buenos comunicadores también, y de esto precisamente nos habla este nuevo “villano invitado":
A los buenos informáticos
por aldrinmartoq
Cuando conocí en persona a Eduardo le pregunté si tocaba algún instrumento. Yo usualmente hago esto porque tengo la teoría que hay una correlación importante entre informático y músico frustrado. Después de pensar un poco, me respondió que efectivamente cuando más joven tocaba la batería.
También conversamos que yo y un amigo veíamos el desarrollo de software muy similar a hacer una película. Eduardo me dijo que él pensaba exactamente lo mismo y estaba algo asombrado de encontrar a alguien con la misma idea. Después conversando con mi amigo nos dimos cuenta que no fue simple coincidencia: él había leído este blog (para ser precisos: Desarrollar software es como hacer una película) y por eso habíamos discutido el tema.
Es un gran honor para mí participar en el aniversario de este blog que como ven, directa o indirectamente nos ha llegado durante todos estos años.
Informáticos mal enfocados
Algo que repito constantemente es que el principal problema de los informáticos es la tremenda falta de foco en todo lo que hacemos.
Es algo que vemos día a día: construimos aplicaciones que están lejos de resolver el requerimiento original; trabajamos en problemas que no están alineados con la solución; buscamos respuestas al eterno sufrimiento que significa levantar cualquier sistema reinventando metodologías nuevas.
Esto sucede por muchas razones.
Muchas veces nos metemos tan a fondo en un problema que nos olvidamos completamente para qué estamos haciendo lo que estamos haciendo. Terminamos enfrascados en tratar de conectarnos con el Web Service; luchamos por no mezclar el modelo de datos con lógica de las vistas (porque eso es lo que dicen las buenas prácticas); o estamos muy preocupados de hacer funcionar el cluster con el sitio de desastre… Y olvidamos que la aplicación no anda para atrás ni para adelante, ni hablar en paralelo, algo que creo estamos lejos de entender bien.
O copiamos fórmulas que aplican a otras disciplinas. Si le funciono a Toyota, ¿por qué no a nosotros? Todo el tema de diseño de patrones viene de la arquitectura y otros modelos aplicables a cosas físicas, pero la informática es algo tan abstracto que no podemos llegar y aplicar esas fórmulas a lo mágico que es el software. Las analogías son buenas, pero tienen un ámbito. Y un límite, como cualquier modelo.
El problema para mí sigue siendo el mismo: si nos enfocáramos en resolver los problemas en su contexto nos daríamos cuenta de esto y mucho más.
Para mí el mejor ejemplo de enfoque es Apple. Muchos me etiquetan de fanboy cuando yo encuentro que en general OS X deja bastante que desear, por ejemplo. Es horrorosamente lento pues no es un BSD nativo sino que está montado sobre otra cosa (Mach); el sistema de archivos hace cosas bastante extrañas; la cantidad ridícula de recursos que consume es asquerosa; etc.
¿Sabía usted que la interfaz gráfica en OS X no está 100% optimizada? Hay una tecnología llamada QuartzGL que después de 7 años todavía viene deshabilitada y sólo está disponible con un utilitario llamado Quartz Debug.
Si esto fuera Linux ya habrían reescrito todos los drivers y cambiado el API de GTK para implementar algo similar a QuartzGL o lo que sea. Pero Apple entiende que hay cosas más importantes para sus usuarios que una gráfica 100% fluida. Mal que mal, el sistema no es perfecto pero cumple los objetivos bastante bien y hay problemas más importantes por resolver. Eso es enfoque.
¿Les ha pasado que un gásfiter (plomero) viene a reparar una llave y al final del día descubren que no hay agua caliente? Eso es la informática hoy. Y las excusas son similares: “No, si yo ya reparé la llave de paso debajo del lavamanos, ¿cuál es el problema?”. “Ah, pero mire, el agua caliente tenía el mismo problema y usted no me dijo nada”.
Bueno, muchos tal vez se sientan ofendidos si uno los compara a un gásfiter de mala muerte. Pero eso es la segunda parte de este artículo.
Trabajo de esclavos
Para darles una posible razón de nuestra falta de enfoque, les contaré una historia.
El otro día una amiga llegó a la oficina mientras programaba y vio mi pantalla llena de código fuente. Me dijo: “¡Que foooooome Aldrin! ¿No te aburre mirar esa pantalla? Se parece a Matrix” Yo le respondí: “No, ¡para nada! De hecho, hacer esto es lo que me gusta”. “Mmm, ¡muy bien!” me contestó.
Los griegos tenían el mismo asco ante este tipo de trabajos… que horror esa gente que se “ensucia las manos” y trabaja en “cosas de máquinas”. La invención y experimentación eran trabajos manuales, algo no digno de hacer para los hombres. Quienes hacían lo que hay llamaríamos ingeniería eran no-humanos, es decir, esclavos.
¿Les suena o parece familiar la sensación que estamos trabajando indignamente al igual que los esclavos?
Este mismo sentir es algo tragicómico y genera contradicciones que vemos día a día. Hace un par de días, en un reportaje salió mi amigo (el mismo) en el noticiario central. Pero no con algo relacionado a la informática, sino porque va a un taller de teatro. El reportaje era más largo: había gente que siempre quiso ser futbolista, unas chicas que querían ser modelos, etc. Adivinen qué: casi todos los entrevistados eran informáticos.
Pareciera que ya nadie quiere ser informático. Mi tufazo inicial de ingeniero informático ≈ músico frustrado va de mal en peor: me he encontrado cineastas, cocineros, actores y un largo etcétera. Todos frustrados. Derechamente, ya nadie se declara programador como reclama Eduardo. Y esto es fatal: creo que entender y tener la experiencia de programar es algo fundamental para nuestra actividad.
El hecho que ya nadie se etiquete programador sino que geek, brogrammer o desarrollador es un buen indicador. Es impresionante que muchos terminen la jornada con la misma sensación de liberación de un esclavo: por fin se acabó esta jornada de trabajo denigrante.
Siento que una buena parte de la raíz del desenfoque viene del hecho que no estamos contentos o no nos llena lo que estamos haciendo. Somos una masa de lo-que-sea-frustrados en vez de ser derechamente informáticos.
Y usted, ¿Es un informático frustrado?