Careers at Codice Software

Ingeniero senior de QA

Buscamos un Ingeniero de QA que nos ayude a reducir el número de bugs detectados por clientes y a crear un producto más estable.

Nuestros usuarios son desarrolladores de software así que para probar y entender el producto hay que ser un desarrollador, y después llegar a comprender a fondo nuestro control de versiones.

¿Quiénes somos?

Somos el equipo que desarrolla Plastic SCM (https://www.plasticscm.com/company/team).

Plastic es un sistema de control de versiones. Sí, un competidor de los Gits, Mercurials, Perforces e incluso Subversions del mundo. Puede sonar a locura, pero llevamos en el mercado desde 2005.

Plastic lo usan desde clientes pequeños de 2 desarrolladores, a nuestro cliente más grande, con más de 3000 licencias (: https://www.plasticscm.com/company/customers).

Casi todos nuestros clientes están fuera de España, así que nuestro negocio es global.

El control de versiones es un software crítico. Hay otras herramientas que son opcionales en un desarrollo, pero si el control de versiones no funciona, el proyecto se para. Nuestros clientes evalúan Plastic comparándolo con los números uno. Cada venta supone que hemos ganado a GitHub, Perforce, ClearCase, RTC y TFS, entre otros. En cada uno de esos controles de versiones trabajan equipos más grandes que el nuestro, y aun así hemos conseguido clientes como Delphi (+3000 usuarios), Samsung (+500), Mapfre (+1000), HP, Sony, NASA, FacePunch Studios, Microsoft, etc, desde Estados Unidos a Corea del Sur, pasando por toda Europa y Australia.

¿Cómo es nuestro ciclo de trabajo?

Nuestra forma de trabajar la contamos en detalle en nuestro libro sobre control de versiones, la puedes ver aquí.

Se resume en: cada tarea es corta (horas, normalmente) y se le hace una code review. Luego se "valida", es decir, alguien del equipo la prueba a mano para ver que tiene sentido. Luego pasa tests (como 1-h de tests automáticos) y se integra. Cuando hay varias tareas listas, se pasa el resto de tests (como otra hora de tests automáticos) y se prepara una release candidate. Esa release candidate se valida a mano. Si va bien, se publica. Solemos sacar al menos una release a la semana. Puedes ver la historia de releases aquí.

¿Cómo probamos ahora?

En cada tarea se desarrollan nuevos tests, ya sea una nueva feature o un bug. No quiere decir que nuestro juego de tests sea perfecto, ni que todo esté cubierto.

  • Tenemos unos 15mil tests unitarios.
  • Unos 1000 "smoke tests": tests que prueban usando la línea de comandos, arrancando servidores, parándolos, probando casos. Los pasamos en todos los sistemas operativos que soportamos, constantemente.
  • Unos 200 GUI tests. Tests que prueban GUIs en Linux, macOS y Windows. Son frágiles, dan trabajo, pero encuentran fallos de vez en cuando.
  • En total son un montón de horas de tests automáticos, que paralelizamos en máquinas virtuales tanto on-premises como en Amazon para que una tarea tarde 1-h en probarse, y una release otra hora.

¿Qué (creemos) que necesitamos?

Un experto en QA que nos ayude a subir la calidad del producto.

Algunas de tus funciones serán:
  • Alguien que se responsabilice de las pruebas manuales actuales. No quiere decir que el resto dejemos de probar, pero que sí que haya un responsable.
  • Gestionar el conjunto de tests automáticos. Valorar, medir, decidir qué tests nuevos se hacen, si se abandonan otros, etc.
  • Trabajar con el equipo para reducir bugs detectados por clientes.
  • Definir tus funciones.
Habilidades y experiencia que nos gustaría ver:
  • Experiencia como desarrollador que ha trabajado en un rol de QA y pruebas para una empresa de software al menos dos o tres años, y con muchas ganas de hacerse cargo de su propio proyecto.
  • Conocimientos y opiniones sobre la mejor forma de hacer las cosas.
  • Experto en automatización de pruebas.

Cómo es el proceso de selección

  • Nos envías tu currículum y una carta de presentación en la que nos convences de por qué eres la persona ideal para el puesto.
  • Fijamos una reunión para hablar, ya sea presencial o por videoconferencia.
  • En la primera reunión resolvemos dudas que tengas sobre el puesto, sobre la empresa, el proyecto. Te explicamos en detalle los problemas a los que nos enfrentamos, qué estamos haciendo, qué dudas tenemos, qué recursos tendrás y hablamos sobre el modo de resolverlos. Y aquí es donde tienes que convencernos de que eres la persona ideal para ayudarnos a mejorar :-).
  • Filtraremos a los candidatos, los mantendremos informados.
  • Nos reuniremos una segunda vez, en persona, para tomar una decisión.

Qué ofrecemos

  1. Remuneración competitiva. Es un puesto senior, entre 40-50k, negociables.
  2. Horario y vacaciones flexibles.
  3. Tarjeta restaurante.
  4. Seguro médico.
  5. Un proyecto muy atractivo: uno de los pocos controles de versiones activos en el mundo.
  6. Trabajo remoto. Si trabajas desde la oficina, perfecto, pero es un puesto que creemos que se puede hacer en remoto perfectamente. Tenemos experiencia, parte del equipo trabaja en remoto, e incluso la gente que viene a la oficina trabaja desde casa cuando le viene bien.

¿Te interesa?

Si estás interesado escríbenos a

cv@codicesoftware.com