Bienvenidos a este nuevo programa de Hireline, Top Dev La Entrevista, donde nos contarán cómo es trabajar como Senior Quality Engineer en Estados Unidos. Inaugurando el programa tenemos a Eugenio Sánchez, Senior Quality Engineer en F5, una compañía de tecnología en Seattle, Washington, con más de 25 años de experiencia.

¿Qué es un Senior Quality Engineer?

Empezamos por el concepto de lo que es calidad, que es obviamente el tener un producto que se ajuste, tanto expectativas del usuario como el poder responder dentro de ciertas limitaciones del sistema.

Enfatizo esta parte de las limitaciones porque muchas veces vemos dentro de un producto cómo queremos que funcione y a veces se nos olvida cómo queremos que no funcione, y también cuáles son las restricciones externas dentro de un producto que hace que dicho producto no satisfaga los deseos o las expectativas del usuario.

¿Qué hace un Quality Engineer?

Una persona que hace Quality Engineering es aquella persona que ve el producto y aplica pruebas que ayudan a determinar si el producto se ajusta a las necesidades y requerimientos del cliente.

¿Qué hace un Senior Quality Engineer?

Ven no solamente lo que está dentro del producto, sino que aquellos factores que están fuera de él. Cosas tales como impacto en el mercado, ventajas competitivas, cuáles son los productos que están fuera o que están compitiendo con el producto que tú estás viendo, direcciones que está teniendo la industria, requerimientos que pueden ser de seguridad, legales, de desempeño, interfaces con otros productos.

¿Cuál es la diferencia entre un Junior Quality Engineer a un Senior?

El Senior Quality Engineer tiene que dar un paso más adelante no sólo en convertirse en un conocedor del producto, sino también en un experto en el producto y una persona que realmente es muy buena en esto, sería también un experto en el producto y en las tecnologías que están relacionadas con el producto, y además en todo el ecosistema que está alrededor del producto.

¿Qué tecnologías utiliza un Quality Engineer?

Un Quality Engineer  no está limitado a aquellas tecnologías que están utilizando los desarrolladores, lo importante es, repito, el nivel de experiencia, de qué tan a gusto se sienta desarrollando esas pruebas.

Plataformas como Pytest, las tecnologías que utilizan un browser o que permite manejar un navegador sin tener que utilizar una interfaz de usuario; cualquier herramienta que te sirva para reserva pruebas automatizadas es lo que están buscando en este momento de una manera muy fuerte y muy particular.

¿Qué habilidades necesita desarrollar un Quality Engineer?

  • La comunicación es fundamental: Es básica en todos los niveles y en este sentido el poder comunicarse en todos los niveles y con cualquier tipo de personas que estén relacionadas con el sistema y no solamente en un alto nivel técnico.
  • Capacidad de empatía: ponerse realmente los zapatos del usuario y ver qué es lo que necesita, cuáles son sus necesidades, cuáles son los pain points del usuario.
  • Muchísima honestidad: el decir las cosas tal como son y decirlo lo más pronto posible es un punto muy importante que hay que seguir.
  • Mantenerse actualizado: con las tecnologías que estamos usando y aquellas tecnologías que vienen también en el futuro.
  • Conocimiento en el idioma inglés: Desafortunadamente gran parte de la tecnología y la documentación está documentada en el idioma inglés y manejarlo bien por lo menos el inglés técnico de una manera fluida es crucial.

Puntos adicionales es conocer las disciplinas de desarrollo ágiles, eso es lo que también buscan las empresas, que conozcan eso. Y ya en aspectos técnicos, hacerse experto en cualquier lenguaje: Javascript, Python, C++, Go, Java, inclusive lenguajes no exóticos porque eso ayuda.

¿Cómo fue tu primera experiencia como Quality Engineer?

Empecé en pruebas de lo que era antes un subsistema de Windows, llamado Component Object Model. En aquella época, Microsoft le ponía mucho énfasis, era una tecnología muy complicada, muy compleja por lo mismo, cayó en desuso.

¿Cómo ha sido tu experiencia siendo un Quality Engineer?

En Amazon estuve en el equipo de pruebas del navegador Silk, que es el que está incluido en todos los los dispositivos fire, todas las tabletas de color utilizan este navegador. Estuve en una startup que desarrollamos todo un ecosistema de consumo de medios tanto música como video y desarrollamos un dispositivo de reproducción de medios que conectabas a tu televisión y podías insertar una tarjeta de memoria.

También trabajar en aplicaciones de lo que llaman plan of business, haciendo pruebas del punto de venta de Starbucks, en un sistema de recursos humanos para una empresa pequeña de aquí de Seattle, en los sistemas de publicidad tanto en internet como en mobile para BestBuy.

¿En qué proyectos trabajas actualmente?

Estoy trabajando en un proyecto que se llama NGINX Service Mesh, que es una herramienta para manipular redes de servicios dentro de un clúster de kubernetes. Estoy utilizando tecnologías de kubernetes, Google Language para entender que es lo que están haciendo los desarrolladores, pero las pruebas las hacemos en Python.

¿Qué consejo les darías a los QAs Juniors?

Hace muy poco leí un artículo que dice que la mayoría de las veces las personas con las que interactúan tienen una mucha mejor opinión de ti de lo que tú crees. Es decir, tú crees que eres burro o que eres flojo o tú crees tener una serie de defectos, pero ten la certeza de que las personas con las que interactúas no te ven así; no te ven con esa mirada tan crítica como la que tú te estás autojuzgando.

La segunda es desde luego ganarse la confianza de tu equipo en el día a día y esto quiere decir obviamente el hablar siempre con la verdad, el no sacar la vuelta a proyectos complicados, el cumplir con aquellas metas y las fechas con que tú estás diciendo, restringirte dentro de los costos tanto de tiempo como de dinero. Y la tercera es no tener miedo de hablar cuando veas que hay algo en el proceso que no esté funcionando bien.

¿Cómo es el trabajo de un Quality Engineer en una empresa de Estados Unidos?

Hay un énfasis muy fuerte en los tiempos, el tiempo es oro y eso se refleja en la necesidad de llegar al mercado antes que la competencia y hay muchísima presión para que tu producto esté disponible lo más antes posible en el mercado. Eso es algo que en México a veces no apreciamos, no quiere decir que no sea importante hacer las cosas a tiempo.

En el aspecto de la comunicación, aquí la comunicación puede ser más franca, puede ser más abierta, en la mayoría de los casos la gente no lo toma de manera personal. Cómo todo, siempre hay personas que tienen los cayos un poquito más sensibles.

¿Qué consejo les das a los QAs con el inglés?

Yo diría que no se preocupen tanto por el idioma, hay muchísimas personas aquí que trabajan en esta industria para las cuales el inglés no es el idioma materno. No se estresen, por eso háganse entender. El expresarse de una manera bien, adecuada y correcta, y sobre todo a tiempo, es importante.

Claro, mientras más vas practicando esta capacidad de expresar tus ideas en el idioma inglés, se puede ir mejorando poco a poco. Y de nuevo, cualquier cosa que no entiendas, utiliza un buen diccionario. Hay varios diccionarios muy buenos en inglés, en español, inclusive en línea.

¿Cómo cambian los proyectos dependiendo del tamaño de la empresa o el país de la compañía?

Creo que hay una relación inversa entre lo que es el tamaño de la empresa y lo que llamamos tiempo para salir al mercado. Lo que sí he notado es que mientras más grande sea la empresa, hay muchísimo más papeleo que tienes que llenar, muchísimas más cosas que tienes que hacer.

Yo creo que las diferencias más importantes que yo veo entre trabajar en proyectos grandes y trabajar en proyectos de startups, es la necesidad de responder a un mercado de una manera más rápida. No hay proyectos pequeños, es muy interesante como para una empresa pequeña, el responder, el tener la capacidad de respuesta más rápida, es crucial.

¿Cómo evolucionar de Quality Engineer junior a senior?

  • Salir de tu zona de confort: Tener la capacidad de trabajar en proyectos los cuales no tienes absolutamente la menor idea, retos que te saquen de tu zona de confort y comenzar a tomar más retos que te permita tomar experiencia, que luego puedas tú trasladar a otros proyectos y encontrar aspectos comunes en ello.
  • Diversidad: Trabajar con diferentes tipos de equipos y equipos que tienen diferentes disciplinas de desarrollo.
  • Curiosidad: Tener siempre esa curiosidad insaciable y esa intención de seguir buscando retos nuevos.

¿Cómo te das cuenta que eres un Quality Engineer Senior?

Comienza cuando comienzas a ver la descripción del puesto y comienzas a ver cosas o actividades que involucran más que simplemente la codificación o simplemente el conocimiento técnico, cuando eres capaz de articular una estrategia de pruebas y una estrategia de liberación de un producto, y sobre todo cuando trabajas en startups.

Eres capaz de responder preguntas tales como ¿Es esto lo que quieren los clientes? ¿Cómo vas a implementar un plan de pruebas de a a z que nos permita tener una confianza en que el producto es capaz de no solamente capturar mercado, sino defenderse en contra de la competencia? ¿Cómo puedes tú defender tus argumentos en frente del resto del equipo y enfrente de la administración de que un producto no debe salir?

Y cuando una persona tiene argumentos de peso para responder esa pregunta, es decir, por qué un producto no debe salir de esas oficinas por ningún motivo a menos que hagamos esto, yo creo que ese es el momento en que tú puedes decir y sobre todo defenderlo, defender ese punto.

¿De todas las experiencias que has tenido, en cuál llegó un punto en el que no sabías ni qué y cómo lo resolviste?

Cuando estábamos trabajando con el dispositivo de reproducción de multimedios uno de los retos era precisamente automatizar la manera en cómo simular las acciones de un usuario en ese tipo de dispositivo. No solamente es difícil ese programar, sino que será un poquito caro, sobre todo para una Startup.

A mí lo que se me ocurrió fue cómo manda señales el control remoto al dispositivo, entonces yo lo que hice fue algo muy sencillo, bueno en aquél entonces se me hizo muy sencillo.

Es modificar el sistema para reemplazar ese dispositivo especial de Unix, en lugar de leer valores de un control remoto, leer valores de un archivo, ya que son solamente números. Boom, con eso engañas o controlas al reproductor para que recibiera todos los controles que tú quisieras.

¿Qué consejo les darías a los Quality Engineers Juniors?

no duden de su propia capacidad, de aquello que ustedes tienen. Toda persona, toda contribución de cualquier miembro del equipo, es invaluable. No tengan miedo de expresar sus ideas, lo que ustedes tienen en su cabeza.

No tengan miedo de convertirse en expertos en algo porque eso aparte de que demuestra la curiosidad innata que ustedes tienen, les va a ayudar también a encontrar la manera de profundizar en su conocimiento de las tecnologías que les pongan enfrente y las tecnologías con lo que estudies frente a su carrera en el futuro.

Jueguen, sean curiosos, esto les va a ayudar muchísimo, salir adelante y a siempre cuestionarse con hacer mejor las cosas y a aprender mucho más en su futuro tanto profesional como personal.

¿Dónde puedo probar mis conocimientos en programación?

TOP DEV de Hireline es un programa que te ofrece formar parte de una lista de los mejores devs en LATAM y ser visto por miles de reclutadores, conoce más sobre el programa TOP DEV de Hireline en: https://hireline.io/top-dev