Halliburton
Upwind Security
Ingeniero/a QA Senior
Ingeniero/a QA Senior - Descripción del puesto
Ubicación: Belfast, Irlanda del Norte · Jornada completa
Operamos con un modelo de trabajo híbrido, con tres días por semana en nuestras impresionantes oficinas de Custom House Square (martes, miércoles y jueves) y los días restantes trabajando de forma remota.
Declaración de Igualdad de Oportunidades
Upwind es un empleador que ofrece igualdad de oportunidades y no discrimina por motivos de raza, color, religión, sexo, orientación sexual, identidad o expresión de género, origen nacional, edad, discapacidad, condición de veterano, estado civil, embarazo, información genética, ciudadanía o cualquier otra característica protegida por la ley aplicable. Los solicitantes con discapacidades también pueden solicitar adaptaciones razonables en cualquier etapa del proceso de contratación.
Sobre el puesto
Upwind es una plataforma de seguridad en la nube de próxima generación que aprovecha el contexto en tiempo de ejecución para identificar y priorizar riesgos críticos, proporcionando información precisa y una gestión eficiente de la seguridad en la nube. A diferencia de las herramientas tradicionales, Upwind utiliza datos en tiempo de ejecución de forma proactiva para la priorización de riesgos y la información sobre el estado, asegurando que los equipos se centren en lo que realmente importa. Con una eficiencia líder en la industria y sensores impulsados por eBPF, Upwind ofrece capacidades integrales, que incluyen descubrimiento de estado de la nube sin agentes, protección contra amenazas en tiempo real y seguridad API integrada. Desde malas configuraciones hasta defensa contra malware, Upwind garantiza una protección integral y rentable de la infraestructura en la nube. En Upwind, tendrás la oportunidad de pensar de forma creativa, explorar nuevas ideas y utilizar tus habilidades para tener un impacto significativo en nuestro crecimiento.
Buscamos un/a Ingeniero/a QA Senior con experiencia para liderar las pruebas en varios de nuestros equipos de ingeniería en Belfast. Este es un puesto de ingeniería práctico: escribe código de prueba cada semana, la persona que lo ocupa crea y mantiene marcos de prueba, y establece el estándar de cómo los equipos a su alrededor prueban su propio trabajo. Abarcando servicios back-end en Golang y Java y aplicaciones front-end en React TS, los equipos construyen sistemas de escaneo distribuidos en los principales proveedores de nube (AWS, GCP, Azure, Oracle), ejecutándose en Kubernetes, Docker, Neo4j, ElasticSearch, Redis, TimescaleDB, RabbitMQ, y más.
Responsabilidades
- Diseñar, construir y mantener marcos y herramientas de prueba para servicios, APIs y la interfaz de usuario, y mantenerlos rápidos, fiables y fáciles de extender para los ingenieros
- Trabajar con los equipos para crear estrategias de prueba y decidir qué se prueba en cada nivel (unitario, integración, contrato, extremo a extremo) para que la mayor parte de la cobertura se sitúe por debajo de la interfaz de usuario
- Integrar pruebas automatizadas en canalizaciones de integración y despliegue continuos (CI/CD) como puertas de calidad, y tratar las pruebas inestables o lentas como defectos a corregir
- Abogar por las mejores prácticas de prueba, y escribir los estándares, ejemplos y documentación que los equipos adopten como predeterminados
- Enseñar a los ingenieros conceptos, marcos y técnicas de prueba a través de emparejamiento, revisión de código, talleres y guías escritas
- Revisar código de prueba y código de producción con una lente de prueba, y dar feedback claro y constructivo que eleve la calidad de ambos
- Trabajar con los ingenieros para hacer que los servicios sean testeables de forma aislada: contratos de interfaz, datos de prueba, entornos efímeros y resultados esperados conocidos y correctos
- Construir conjuntos de datos de prueba y entornos de prueba en la nube que nos permitan verificar la precisión de los hallazgos de seguridad, no solo que el código se ejecuta
- Contribuir a las pruebas de rendimiento, carga y fiabilidad, y ayudar a los equipos a definir objetivos de calidad medibles
- Medir y reportar sobre la calidad (defectos escapados, cobertura de pruebas, estabilidad de la canalización) y utilizar los resultados para decidir dónde invertir a continuación
- Interactuar con otros equipos (por ejemplo, Backend, Frontend, DevOps, Producto, Éxito del Cliente) para reproducir problemas de clientes, acordar criterios de aceptación y entregar funciones de primera clase
Requisitos
- Grado en Ciencias de la Computación/Ingeniería de Software o campo relacionado, o experiencia práctica equivalente
- + de 5 años de experiencia en pruebas de software, ingeniería de calidad o desarrollo de software para pruebas, incluyendo al menos 2 años liderando la estrategia de pruebas para un equipo o área de producto
- + de 2 años de experiencia con pruebas de extremo a extremo en navegador (por ejemplo, Playwright, Cypress)
- Sólidas habilidades de programación en al menos un lenguaje de alto nivel (idealmente Golang, Java, Python o TypeScript), con código de prueba escrito y revisado con el mismo estándar que el código de producción
- Experiencia en pruebas de servicios backend y APIs (REST, gRPC o basadas en eventos), incluyendo pruebas de integración y de contrato
- Experiencia con integración y despliegue continuos (CI/CD) y con la ejecución de pruebas en entornos contenerizados (Docker, Kubernetes)
- Experiencia con plataformas y productos en la nube (por ejemplo, AWS, GCP y Azure)
- Experiencia con arquitectura basada en microservicios y sistemas intensivos en datos (bases de datos, sistemas de eventos, sistemas de mensajería, etc.)
- Excelentes habilidades de comunicación escrita y verbal
- Experiencia en la creación de un marco de automatización de pruebas desde cero y su mantenimiento a medida que el producto y el equipo crecían es una ventaja
- Experiencia en la enseñanza de prácticas de prueba a ingenieros y en la influencia de equipos que no se gestionan es una ventaja
- Experiencia con herramientas de prueba de rendimiento o carga (por ejemplo, k6, Gatling, JMeter) es una ventaja
- Experiencia en ciberseguridad, seguridad en la nube o pruebas de sistemas de detección es una ventaja
