¡Qué complicado hacer que todas las aplicaciones no molesten!

tendencias-peligrosas-nuevos-programadores
Créditos foto

Extraordinario artículo del argentino/nacionalizado español Ricardo Galli, activista del software libre, profesor y doctor en Informática en la Universidad de las Islas Baleares, miembro de la Free Software Foundation (FSF), ex-presidente del grupo de usuarios de software libre BULMA, co-creador de Menéame, sistema de promoción de noticias publicadas en blogs o en medios digitales (copia del conocido Digg). Autor también de las aplicaciones CpuDyn y Wp-Cache.


Habla un veterano programador sobre los nuevos programadores


¿Qué quiero destacar de ese artículo?

Que quien nos habla es un reputado experto y programador informático, y por ello mismo sus observaciones creo que tienen un gran valor.

Que lo hace con total sinceridad y honestidad, más allá de corporativismos.

Que nos cuenta sus impresiones acerca de la absurda y peligrosa deriva que últimamente se aprecia en las decisiones de las nuevas hornadas de programadores (bueno, ellos prefieren ahora denominarse 'desarrolladores', y es que vivimos en la era de los eufemismos y de evitar llamar a las cosas por su nombre), de jóvenes muy especializados pero con una mentalidad cuanto menos 'extraña', por no decir un tanto inhumana.

Algunos de estos jóvenes informáticos, verdaderos talentos que a temprana edad ya trabajan en compañías de 'altura' como Google, son quienes diseñan, programan y actualizan gran parte de las aplicaciones y servicios que diariamente usamos en nuestros ordenadores y dispositivos móviles. Y que usaremos, y que nos manipularán, a lo largo de nuestro futuro próximo.

El retrato que hace R. Galli del real alto grado de incompetencia y servilismo de -algunos de- tales ingenieros resulta descorazonador, por más que otros expertos y usuarios hace ya un tiempo que vienen advirtiéndolo. Ingenieros que parecería que no intervienen en decisiones o tendencias polémicas de sus grandes compañías, pero sin embargo acatan y materializan la manera en que esas tendencias deben concretarse.

Ese acatamiento, aparente irresponsabilidad en las decisiones pero aplicación a fondo de las mismas, acaba plasmándose en un aumento del paternalismo, prepotencia y desprecio hacia el cliente/usuario que transpira cada nueva versión de cada vez más softwares o aplicaciones. Lo vemos y sufrimos diariamente, p.e. en el caso de Microsoft Windows. Como nos recuerda R. Stallman:
"Windows tiene tres tipos de funciones malévolas: envía mensajes diciendo lo que hace el usuario, restringe al usuario en cuanto a lo que puede hacer con la máquina y hace cambios sin pedir la aprobación del supuesto dueño de la máquina."
O la tendencia igualmente paternal de quitarle al usuario opciones de configuración 'para evitar que rompa el software' -lo llegan a decir textualmente- iniciada hace unos meses por Mozilla y constatable p.e. en cada nueva versión del otrora abanderado navegador Firefox.

O la más que polémica nueva versión del también otrora pionero navegador Opera, que ha eliminado de un plumazo un montón de opciones configurables, diseñada ahora únicamente para usuarios novatos con total desprecio hacia sus usuarios 'de toda la vida'. Aquí puede leerse la justificación que da uno de estos jóvenes desarrolladores (hay traducción al español), es interesante fijarse en las quejas de los usuarios acumuladas en su misma sección de comentarios. Aquí otro ejemplo de cómo está decepcionando esta nueva versión/diseño/interfaz/motor de Opera.

Por citar sólo unos pocos casos de entre otros cientos similares, que incluyen cambios, supresiones o nuevos 'comportamientos' de softwares difíciles de entender por sus usuarios, como en las últimas versiones de iTunes, de Google Maps para Android y para PC, Google Chrome, Skype para Android, etc. No entramos aquí en materia de 'hardware', porque no toca, si no hablaríamos de cosas como esos teléfonos tipo 'smartphones' a los que por diseño no se les puede quitar la batería...


Dejo aquí el artículo original íntegro, que lo ilustra todo a la perfección:

Para ser ingeniero no basta con ser ingeniero (y los programadores vamos justitos)


29 Octubre 2013

Hace una hora iba conduciendo, llevaba mi teléfono en el bolsillo delantero derecho del pantalón, de golpe empieza a vibrar y a sonar. Una vez, dos, tres, cuatro… parecía que se había desatado una batalla campal entre mis pantalones (y no eran mis tripas ni el Viagra). Me empiezo a asustar, debe ocurrir algo grave para que alguien conocido me esté escribiendo de esa manera. Pensé que podían ser problemas de familia, o Menéame (que ni aún así insisten tanto).

Detuve el coche en cuanto pude, saqué el teléfono, era el Hangouts (el reemplazo de Google Talk para Android) de Google. Me habían metido en un texto-vídeo hangout con muchas personas (no sé cuántas, pero eran muchas), todos escribiendo a la vez. Después del susto que me pegué,... ¡Qué cabreo! Primero, con el irresponsable (no sé quién fue, salí inmediatamente) que abrió una vídeo conferencia de muchas personas. Pero luego lo pensé mejor.

¿Cómo es posible que un programa me meta automáticamente en un sala de vídeo-conferencia? No lo podía creer. Nunca había configurado nada así. Voy a mirar la configuración del Hangouts -que recuerdo es un reemplazo del Gtalk de Android- y veo que Google, y sus programadores, decidieron que yo iba a aceptar automáticamente conversaciones de toda la gente que tengo en mis círculos de Google+, ¡y también a la que no!. Esto incluye a las que tengo en 'My Stream' (gente a la que sólo sigo sus publicaciones en G+).

Alucinante.

Nunca quise eso (en GTalk sólo me podían escribir los que tenía autorizados), me meten en una sala con mucha gente a la que ni conozco por el apodo en Internet, y en su momento tampoco agregué a gente en mis círculos -o en 'My Stream'-, para que me puedan abrir automáticamente vídeo-conferencias. No sé quién es el genio al que se le ocurrió eso, pero obviamente lo han tenido que implementar programadores. Una burrada que difícilmente se deja pasar tan fácilmente en otras ingenierías.

Estamos rodeados de programas informáticos, no podemos hacer nada sin ellos, y con los móviles estamos 'abiertos' al mundo las 24 horas. Cualquier cosa que haga un ingeniero/programador tiene efectos reales sobre la gente. Te puede molestar y asustar cuando vas en coche, o despertarte cuando estás durmiendo, o molestarte en medio de una reunión o clase. Hasta hace poco lo teníamos razonablemente bien controlado, había un botón u opción rápida para que las llamadas no suenen. Pero es bastante más complicado hacer que todas las aplicaciones no molesten (tampoco tiene sentido estar deshabilitando contínuamente la capacidad de que te avise si tienes un Whatsapp o chat). Las cosas empeoran cuando te pueden meter sin preguntar en una sala de conferencia, por ejemplo.

Ortega y Gasset ya lo dijo: 'recuerda que para ser ingeniero no basta con ser ingeniero'.

Y tenía toda la razón. Lo que hacemos tiene efectos reales sobre la gente. Debemos pensar muy bien las causas de lo que implementamos, y corregir inmediatamente si causan problemas. Ésta es la responsabilidad de cualquier ingeniero.

Pero parece que la tendencia entre informáticos es 'lo implemento porque se puede', sin pararse a pensar siquiera en lo básico sobre privacidad, respeto y no molestar innecesariamente.

Cada día me molesta más este pasotismo y 'solucionismo' (como diría Evgeny Morozov) de mis colegas. Últimamente lo pienso cada vez que recibo el aviso, varias veces al día, del sistema de bloqueo de DoS de Menéame (en pocas semanas tenemos ya varios cientos de IPs que hacían 'DoS' involuntarios). Bots descontrolados que podrían tirar sitios completos (y/o causar gastos innecesarios), programas que generan cientos de conexiones por segundo, a veces durante meses (como nos pasa con la IP 46.105.237.95 de un servidor de DreaMule). No se salva nadie, tenemos bloqueadas IPs de muchas empresas importantes, incluido proxies corporativos de Google, servidores de Automattic/Wordpress, buscadores e indexadores sociales, y hasta el bot del buscador Bing de Microsoft [*].
...

Demasiadas molestias innecesarias causadas por programadores.

Lo de los bots descontrolados que hacen DoS y generan tanto tráfico inútil es de locos. Además de las molestias individuales debe tener un coste económico enorme globalmente (¿y cuántos deben pensar que están recibiendo ataques DoS o DDoS cuando es simple irresponsabilidad de los programadores?).

Pero que, por defecto y sin preguntar, un programa te meta en salas grupales de vídeo-conferencia es ya indescriptible: imaginaros que estáis con 'roaming' y no os dais cuenta que vuestro teléfono entró en una conferencia de éstas… para daros una idea del daño económico real que puede causar.

No es tan difícil si se piensa un poco, sobre todo si los programas afectan a lo cotidiano de millones de personas, y lo molesto y el daño que pueden causar. Me enerva cada vez más esta incapacidad de pensar profesionalmente en las consecuencias de lo que hacemos. No llegamos ni a ingenieros.
...

[*] En el caso de Microsoft tuve que darme de alta en Outlook.com, luego agregar los dominios de Menéame, y luego configurar la frecuencia de rastreo para evitar el problema, no ofrecían otra opción. En el caso de Google, envié un email a la dirección de abuso de registros de sus direcciones IP (en ARIN); me devolvió un email automático diciendo que no leen emails y me envió a un formulario de Google; después de varios intentos, no hubo forma de dejar el comentario. Al final me dijo que lo comente en un foro de Google (que ya ni me acuerdo); nadie me contestó; al final dejamos bloqueadas esas IPs de Google.


El artículo original mostraba la siguiente licencia de CreativeCommons:
Reconocimiento-CompartirIgual 3.0 España (CC BY-SA 3.0 ES)

De ese texto no puedo evitar fijarme en expresiones como:

"...Incapacidad de pensar profesionalmente en las consecuencias de lo que hacemos..."

"...Este pasotismo y 'solucionismo' de mis colegas ingenieros/programadores... sin pararse a pensar siquiera en lo básico sobre privacidad y respeto..."

"...Burradas que difícilmente se dejan pasar en otras ingenierías..."

"...Google y sus programadores decidieron por mí..."

...

Programados para el interés... propio


Al hilo de la frase de Ortega 'recuerda que para ser ingeniero no basta con ser ingeniero' con la que Galli titula su artículo, resulta también interesante la lectura del artículo 'No te llames a ti mismo programador, y otros consejos profesionales' (en inglés) del ingeniero informático Patrick McKenzie en su blog 'Kalzumeus Software'.

Patrick no habla exactamente acerca de las nuevas generaciones de programadores, pero nos ilustra este mundo con algunas verdades que ha ido aprendiendo a lo largo de su carrera profesional. Os hago un resumen:

Nos dice Patrick que el 90% de los trabajos de programación informática se orientan a crear software para líneas de negocio. Y que en este mundo de negocios y de grandes compañías, existen 'Centros de Beneficios' y 'Centros de Costes'. Los ingenieros/programadores en principio pertenecen a los Centros de Costes, y dado que además de ser 'costes' empresariales suelen tener sueldos altos, pueden ser despedidos con relativa facilidad. Trabajar en un Centro de Beneficios, en cambio, supone salarios más altos, más respeto y mayores oportunidades.

"El precio de cualquier cosa (incluyendo uno mismo) está en función de su oferta y su demanda. La mayoría del software es aburrido, aplicaciones para empresas y para todas las facetas imaginables de la economía global: seguimiento de gastos, optimización de costes de envío, proyecciones de contabilidad, diseño de nueva maquinaria, precios de pólizas de seguro, revisión de pedidos, etc. (...) El software está para resolver problemas de negocios y suele ser aplastantemente aburrido y de mínima complejidad técnica. (...) Lo único que le importa a esas compañías es reducir costes y generar nuevos ingresos. (...) Aunque un programador llegue a trabajar para una compañía que hace software para uso directo del cliente, casi nunca llegará a tener contacto directo con los usuarios. Realmente a los ingenieros se les contrata para crear valor de negocio, no para programar cosas o softwares bonitos. Están para reducir costes y aumentar beneficios."

Ocurre que están surgiendo 'jóvenes promesas' entre estos ingenieros/programadores, que comprenden a la perfección la importancia de trabajar en los 'Centros de Beneficios', y que demuestran una sorprendente habilidad en diseñar su trayectoria personal laboral para aterrizar en ellos en cuanto pueden.

Lo consiguen estando muy atentos a ciertos 'atajos', como proponer la externalización de algún 'Centro de Costes' -caro y necesario, pero que a nadie le importa- hacia otro país con salarios ínfimos, o aprender a programar en los lenguajes 'de moda' en cada momento y creando un simple software en ese lenguaje que aporte ingresos a la compañía.

"Hay un montón de empresas con políticas de recursos humanos descontroladas, donde la ausencia de una 'palabra de moda' significa que no serás seleccionado. (...) Si quisieras trabajar para ellos, no tienes más que añadir esa 'palabra de moda' a tu currículum y perder algunas noches o fines de semana aprendiendo ese lenguaje de programación. ¿Te estás riendo? Yo mismo hice eso para una tienda Java: desarrollé un proyecto en Ruby que hizo ganar 30.000$ a la empresa. Mi jefe estaba muy contento, claro, pero nunca preguntó qué fue lo que realmente generó esos ingresos."

Estos jóvenes y talentosos informáticos parecen haber comprendido de un modo casi innato una cruda realidad: ningún directivo recordará qué hacía exactamente ese software ni qué características tenía. A nadie le importa eso. Como mucho recordará que ese ingeniero ayudó a reducir costes y a generar ingresos. Y de este modo muchos de ellos llegan a trabajar en los 'Centros de Beneficios' de grandes compañías. Y saben bien que estos Centros son lugares seguros, porque no se externalizan nunca.

...

Bien. Son jóvenes, son inteligentes, tienen talento y tienen ambición. ¿Habría por eso que considerarlos como una especie de nuevos psicópatas...?

Quizás no por eso, así en abstracto, pero quizás sí por los detalles de cómo lo consiguen, qué les mueve realmente y cómo se desenvuelven posteriormente en sus trabajos. En cualquier caso, amable lector, te toca a ti juzgarlo.

Veamos qué nos sigue diciendo Patrick, que se pone ahora un poco irónico...

...

Estas jóvenes promesas de la ingeniería informática han comprendido también que nunca deben llamarse a sí mismos 'programadores'. ¿Por qué? Pues porque eso suena como 'un peón con un anómalo alto coste que teclea galimatías encima de otros galimatías'. Si uno se llama a sí mismo 'programador', es seguro que alguien en otro departamento de la misma compañía ya está trabajando para hacer que lo despidan.

En vez de eso, saben que deben describirse a sí mismos por cómo ayudaron en sus anteriores trabajos a reducir costes y aumentar ingresos. Y si no tuvieron la oportunidad de hacerlo, saben que deben vender ideas que sugieran que ellos tienen la habilidad de conseguirlo. O crear o participar en una 'Startup' o idea/empresa tecnológica de nueva creación y mínima inversión, como el reciente ejemplo de Instagram, adquirida por Facebook por 700 millones de dólares, o las 30 'startups' adquiridas por Twitter -que a su vez fue también una 'Startup' en sus inicios- desde 2006.

Han aprendido que tienen que saber 'comunicar', pero veamos qué es lo que entienden por tal concepto.

Wall Street está lleno de jóvenes con esta particular 'sabiduría', que han encontrado su lugar en esa selva y que, diariamente, utilizan las computadoras y las matemáticas como palanca para tomar decisiones de grandes consecuencias, generando con ello miles de millones en beneficios para sus firmas. Ellos obtienen a su vez unos beneficios anuales en bonos que superan ampliamente lo que un ingeniero programador sin esta 'clarividencia' ganaría en diez años.

"Se podría pensar que Google es una empresa a la que le 'molan' los programadores, pero la realidad es que está la masa de programadores, y luego están aquellos pocos que trabajan en conseguir un 1% de mejora en las tasas de clics para AdWords (y hablamos de miles de millones de dólares). Recientemente me topé con la página web de un tipo cuya biografía profesional rezaba:

'Escribí el código de facturación cliente-servidor a través del cual pasan el 97% de los ingresos de Google.'

Este tipo es ahora un 'ángel inversor' (un eufemismo para decir 'rico')."

En fin, el artículo de P. McKenzie es extenso. En ese mismo tono irónico, nos dice y argumenta también que no hay que caer nunca en la ilusión de que (como ingenieros programadores) nuestros jefes o colegas de trabajo son nuestros amigos. Que hay que entender que la mayoría de buenos trabajos se obtienen gracias a contactos privados. O que tener una buena red de contactos en realidad significa:

"a) conocer gente que en algún momento pueden hacer algo por ti, y b) causarles una buena impresión."

o que, si contactas con gente a través de Internet, p.e. a través de tu propio blog, es mejor no tener nunca contacto personal con ellos, o que cualquier título que puedas tener, por elevado que parezca, tendrá valor en el mundo académico pero no necesariamente en el mundo real/empresarial.

Y ya que entramos en el plano más 'humano' de la mentalidad de un desarrollador/programador informático...

Nos habla acerca de la verdadera capacidad para la 'comunicación' de estos tipos:

"¿Recuerdas que a estos ingenieros no se les contrata para crear programas, sino para crear valor de negocio? Su cualidad más destacada para ser contratados es la habilidad para dar la impresión de que son capaces de crear valor añadido. Lo cual no significa que en realidad lleguen a crear ese valor añadido. (...) Algunos de los mejores programadores que he conocido son patológicamente incapaces de mantener una conversación. Normalmente cualquiera de nosotros preferiría no trabajar nunca con ellos, o bien subestimamos su capacidad para crear valor añadido, simplemente porque basamos esa idea en cosas como una conversación, cuando en realidad ellos no se basan en este tipo de 'protocolos'. Ahí está mi propio caso, por ejemplo: la gente cree de una forma desproporcionada que soy un buen programador porque a) existe una cierta evidencia observable de que puedo programar, y b) porque escribo y hablo muy bien."

Pues sí, no tendrán la capacidad 'humana' de mantener una buena conversación, pero muchos de ellos han aprendido exactamente la importancia de saber 'venderse', que éste es un mundo mercantilista y que hay que comunicar de forma rápida, concisa y confiada la idea de que son capaces de crear valor añadido, y que deben comunicárselo a quien de entrada no tiene sus mismos conocimientos pero, sobre todo, a quien de entrada tampoco tiene razones para que les vayan a caer bien. Han aprendido habilidades interesantísimas, p.e. vender siempre cualquier innovación tecnológica como una cuestión de negocio, o sacrificar esos mismos intereses tecnológicos en nombre de los objetivos de negocio, sabiendo que esa es la decisión correcta.

Por supuesto, la comunicación a nivel 'humano' no es su principal baza, pero ya hemos dicho que, simplemente, utilizan otro tipo de 'protocolos'.

Nos habla también -en primera persona y en el mismo estilo irónico- acerca de cómo la modestia, en este ámbito, es un valor 'a superar', es decir totalmente inapreciado:

"Tiempo atrás podía describirme a mi mismo como un profesional 'ligeramente por debajo de la media'. Desde entonces he aprendido que tenía una impresión sesgada, que mis habilidades para programar no le interesan a nadie para optimizar nada, y que mi modestia iba claramente en contra de mis propios intereses."

Y éste es un punto que, actualmente, tienen muy claro esos jóvenes informáticos 'punteros', quienes en sus blogs personales hablan de conceptos como 'programar manejando la vergüenza', es decir no parecer nunca estúpido ni hacer el ridículo. Les importa mucho este tipo de cosas. Véase lo comentado en este artículo acerca de una recién aparecida versión del navegador Firefox y todo lo que hay detrás.

Son observaciones que Patrick ha ido anotando a lo largo de su vida profesional. Algunas amargamente aprendidas, está claro. Sin embargo, al mostrárnoslas retrata también las actitudes y mentalidades de ese 'mundillo', el de los ingenieros/programadores informáticos. Me ha parecido interesante comentarlo, pues creo que sirve de complemento al artículo de R. Galli y ayuda a entender un poquito la cuestión de fondo.

Aconsejo su lectura.

Programados para la ambición


Algunos textos más que acabarán de iluminar una mejor perspectiva sobre toda esta cuestión:

"Sus expectativas están en constante movimiento, los adolescentes son sofisticados y cambiantes, la mayoría ve el horizonte laboral como algo lejano. No obstante, es muy común escuchar entre sus motivaciones que quieren ser los directores de una empresa tecnológica o de su propio emprendimiento" (Cómo se prepara la próxima generación de jóvenes programadores)

"La generación en la que han crecido ha estado, en los últimos años, a punto de considerarse 'perdida'. Los empleos son escasos, e ir a la universidad no garantiza llegar a encontrar uno. Las grandes y antiguas corporaciones ya no son refugios seguros donde construirse una trayectoria profesional. Las 'Startups' aparecen, a través de la lente de los medios de comunicación, como la única señal de vida en un paisaje moribundo. (...) Recientemente entrevisté a un joven. Le pregunté dónde pensaba estar dentro de cuatro años. 'Llevando mi propia compañía', dijo sin dudar. Le pregunté por qué. 'Porque el espíritu emprendedor está en mi sangre', respondió. No mencionó lo que su hipotética empresa haría, o qué problema de la gente resolvería. Su objetivo era hacer negocio por el bien del negocio. Después de todo, para eso había ido a la escuela." (Carta a un Joven Programador Considerando una 'Startup')

"Esos jóvenes programadores no se sienten ya tan entusiasmados en colaborar con mejoras al núcleo y a otros componentes del sistema (Linux), y prefieren en lugar de eso participar en otros proyectos 'Open Source' más atractivos y emocionantes. De hecho, otros muchos prefieren ir a nuevos campos como el desarrollo para iPhone y otras plataformas móviles, donde además pueden apirar a una recompensa económica si ponen precio a su creaciones." (Linux ya no atrae a los jóvenes programadores)

"Auticon, una compañía con sede en Berlín, ya emplea exclusivamente personas autistas como verificadores de software. Tiene un equipo que analiza los datos para Vodafone Germany, dijo un portavoz de Auticon. (...) Las personas con autismo tienen algunas habilidades únicas para enfocarse en su tarea y seguir concentrados durante largos períodos de tiempo. También son buenos para detectar discrepancias en datos, dijo Thygesen, un ex gerente de Microsoft y Nokia (su hijo de 14 años tiene el síndrome de Asperger). (...) Las personas con autismo a menudo tienen dificultades para comunicarse y sufren problemas de aprendizaje para toda la vida." (La compañía alemana de software SAP recluta personas con autismo como programadores).

...

¿Qué opinas tú de todo esto, querido lector?

No hay comentarios:

Publicar un comentario

Resssopla aquí tu pregunta, tu respuesta, tu duda o tu fantasía...