Marzo de 2018. Sede de Facebook en Mountain View, California, Estados Unidos. Allí estaba trabajando por unas semanas Robert Sabourin, profesor adjunto de Ingeniería de Software en la Universidad de McGill en Canadá y presidente de Amibug.com Inc, con sede en Montreal. Sabourin es especialista en testing (rama encargada de poner a prueba el desarrollo del software previo a su lanzamiento al mercado). El escándalo por la trama rusa y las posibles intervenciones en la campaña estadounidense estaban en el ojo de la tormenta y Facebook estaba en la mira por el uso de datos personales sin consentimiento.
Sabourin le habló a los estudiantes y recién recibidos de Testing y de la carrera de Ingeniería de Software durante el evento organizado por el Centro de Ensayos de Software (CES) en la celebración de su 15º aniversario el pasado 11 de diciembre en la Facultad de Ingeniería de la Universidad de la República. Les dijo que tienen que prepararse para el futuro cambiante y que deben esforzarse por llegar a los empresarios y asesorarlos en su negocio para que desarrollen mejor software. Eso implica prestarle atención a cuestiones como la privacidad y la seguridad que los consumidores demandan cada vez más y que requiere un abordaje desde el principio, desde el desarrollo del software.
—Lo hago para tomar ejemplos de la vida cotidiana de un campo y aplicarlo en otro. Es aplicable y existen paralelismos, por ejemplo con la medicina. Al igual que ocurre en ese campo, en software testing lo que hacemos es tratar de identificar cuáles son los problemas más críticos para arreglarlos. La tecnología avanza y a la gente le cuesta saber hacia dónde va esto, cómo le va a impactar y, desafortunadamente, como cambia tanto la gente, tiene miedo a veces de tomar decisiones. La tecnología va a cambiar, entonces, ¿qué debería hacer yo? ¿Me compro un teléfono nuevo ahora? Si estás en ingeniería de software ves como el testing tiene un fuerte impacto porque hoy se están lanzando productos al mercado que son una basura, son realmente débiles y no funcionan bien. Ocurrió en 2010 cuando Apple lanzó el Iphone4 y ocurre ahora también pese a que las compañías ganan millones.
—Usted, que es un experto en testing, critica a Apple pero tiene un Iphone…
—Sí, pero no adopto tempranamente la tecnología, no me compré el Iphone 4 sino el Iphone8. Esperé muchos, muchos años antes de tener un smartphone. Solo cuando los smartphones estuvieron un buen tiempo en el mercado fue que compré uno, no confío en nueva tecnología, odio la nueva tecnología. Es verdad, me encanta la ingeniería de software, desarrollar productos, es mi trabajo, pero para mi consumo personal siempre espero porque sé que los primeros van a tener problemas.
—¿Qué espera del futuro de la ingeniería de software?
—Cada vez verás más aplicaciones, no solo en teléfonos, sino en tablets y computadoras. (Toma su celular y comienza con el dedo a mover la pantalla y mostrar la cantidad de aplicaciones que ha bajado en él). Si ves mi teléfono, ves muchas app. A medida que pase el tiempo serán cada vez más y más especializadas y la app va a hacer menos trabajo y lo va a hacer muy bien. Entonces la dirección es: más app, altamente especializadas y, como serán altamente especializadas, van a funcionar muy bien. No lo harán todo, de hecho solo harán un par de cosas. Hoy parece que la tendencia es ser más especializado y eso derivará en mejor calidad.
—¿Y la inteligencia artificial? ¿En qué lugar la coloca?
—Tendremos que esperar para que la gente convierta a la inteligencia artificial en una aplicación práctica. Ahora se está usando muy bien, Google la usa mucho para publicidad, cuando usas Gmail y te aparecen publicidades ahí hay inteligencia artificial. Para la evolución de los negocios es que tenemos que esperar aplicaciones prácticas que las apliquen como las herramientas bancarias. La gente cree en testing que la inteligencia artificial va a ayudar mucho porque puedes estudiar patrones de cómo la gente usa el sistema y anticiparse a cuál test deberías probar para que coincida con lo que la gente hará. Te podría ayudar a hacer mejor testing. Eso creemos, es una buena dirección. Es futuro, y como toda tecnología en sus primeros pasos tendrá muchos errores. Por eso, el desafío para los jóvenes ingenieros es aprender a aprender. Hoy si aprendes a programar en un método está bien, pero yo valoro más cuán fácil puedes aprender un nuevo método. Cuando contrato gente no digo que estoy buscando que sepa este lenguaje de programación y otro, estoy buscando muchos lenguajes de programación y la demostración de que puede cambiar rápido y bien. De todos modos siempre habrá lugar para los especializados, ocurrirá siempre. Hay mecánicos especializados en arreglar Jaguars, eso va a pasar. En programación de software veremos especialización. Verás gente joven que seguirá haciendo millones de dólares. Los consumidores pagan, hay demanda de mercado, hay una demanda increíble vinculada a las redes sociales. Es una locura en todo el mundo y quieren estar todos en esa área. A mi no me gusta, no puedo soportar Facebook, pero sé bien cómo testearla, cómo hacerla funcionar, conozco la tecnología.
—Ha trabajado con Facebook. Además, sabe testear redes sociales, ¿dónde están los errores y los problemas?
—He testeado redes sociales, sí, y sé dónde están muchos errores, pero también sé que hay consumidores que realmente quieren eso.
—¿Quiere decir que a los consumidores de redes sociales no les importan cuestiones como, por ejemplo, la privacidad?
—A algunos directamente no les importa y otros aprenden a que les importe de mala manera. Estoy de acuerdo con usted en que hoy hay factores críticos para el software y estos son la privacidad y la capacidad para guardar un secreto que es muy crítico. Si estás usando Facebook como consumidor, confías, y eso creo que es un grave error. Tienes que ser muy cuidadoso y es un tema de educación. Es importante que los testers descifren cómo trabajar para el cliente de la red social en vez del desarrollador, la empresa que la hace. Solo entonces verás que el tester se mueve a ser un defensor de la gente mediante el testing. Es un modelo de negocio diferente, es un trabajo distinto. El tema es que los consumidores en general no están dispuestos a pagar mucho dinero para testers. ¿Quieres comprar productos? Deberías asegurarte de que hace lo que necesitas antes de que lo compres. Entonces, el tester debería trabajar para el consumidor y no para el desarrollador, a mi me gusta ese modelo, pero ¿cómo hago? Es un modelo de servicio. Trabajo para una compañía en India, Moolya, y tienen algunos proyectos como esos. También tuve clientes que me preguntaron cómo hacer esto, pero los números nunca tuvieron sentido, ven que el costo es muy alto para ellos. Debemos esperar a que nuevos negocios emerjan y ayuden a las compañías a comprar software y ayudar a los consumidores a defenderse. Estamos empezando recién. No hablo de la defensa al consumidor en mostrar cuántas estrellas tiene una app cuando la vas a descargar. Hablo de verdadero testing. Hablo de si esto realmente es seguro, si realmente es privado, si es útil. Eso no lo vemos, ahí hay una oportunidad para la comunidad del testing.
—¿Cree que cuestiones como el juicio que está atravesando Mark Zuckerberg y Facebook en Estados Unidos en torno al uso de datos personales y la privacidad ha hecho que la gente tome más conciencia de que existen huecos en el software que consume en redes sociales?
—Para alguna gente sí. He pasado mucho tiempo en Facebook. Ellos colaboraron conmigo. Tengo una compañía independiente y además soy profesor universitario en Canadá. He hecho trabajo colaborativo con Facebook. En marzo de 2018, cuando estuve dos semanas en Mountain View (su sede principal en California, Estados Unidos) trabajando junto con ellos, me encontré en aquel momento que la privacidad y la seguridad eran preocupaciones que empezaban a convertirse en paranoia. Estaba en cada desarrollador, todos estaban preocupados por eso. No había nadie que supiera qué hacer con esa preocupación, pero empezaban a preocuparse. Hoy cambiaron dramáticamente cómo desarrollan software para ser más cuidadosos con la información de la gente y las cuestiones de privacidad. Es importante también que el gobierno mire al software y ojalá cree cuerpos regulatorios que ahora no existen. Falta legislación sobre la privacidad en el software. Me encantaría que hubiese una organización internacional sobre privacidad de software que construyera estándares para que los países adhieran o algo así.
—¿No hay ninguna organización que aborde estas cuestiones de privacidad con este encare que propone? ¿Por qué no ha ocurrido?
—No lo veo. Veo organizaciones haciendo un buen trabajo en estándares de tecnología, como el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) que hacen un buen trabajo. Veo también trabajo en estándares de negocio como la ISO, pero no veo algo así en privacidad y seguridad de manera general, son recomendaciones individuales o específicas, no hay estándares para el consumo de software en el día a día. En el Apple store cualquiera puede subir una app. Apple se asegura de que testeen el software pero no garantiza privacidad y seguridad, ni cuánta energía de la batería consume al usarla. Estas tres cosas hace cinco años no le importaban a la gente y está empezando a cambiar un poco el desarrollo del software para adaptarse a estos factores de calidad que están empezando a preocupar a los consumidores. Los equipos de desarrollo deberían tratar de crear patrones y respetarlos, pero en cada proyecto son diferentes. En mi charla en Uruguay dije que los testers deberían convertirse en asesores para los negocios. Tal vez las empresas no estén al tanto de lo importante que podemos ser al asesorar en desarrollo. Por ejemplo, si van a utilizar el dato fecha de nacimiento, incluyámosle tests especiales para asegurarnos de que ese dato nunca sea compartido. El empresario no piensa como un tester, entonces el tester se debería convertir en un asesor. Quienes se gradúan aquí en Uruguay en testing podrían ayudar a hacer mejor software desde el punto de la seguridad y privacidad.
—El tema es que lleva tiempo y a veces el desarrollo de software se hace con márgenes acotados para salir al mercado rápido.
—Si la compañía pasa demasiado tiempo construyendo y desarrollando un producto y otra llega al mercado primero, estás en problemas. Si yo hago un buen producto pero me he pasado demasiado tiempo trabajando en seguridad, y llega otro con el mismo producto pero sin seguridad y dos meses antes, entonces me ganó. Sí, hay mucha presión.
Edición 2054
2020-01-09T00:00:00
2020-01-09T00:00:00