IOHK recluta Ingenieros de Software para desarrollo en Rust

Como Ingeniero de Software en IOHK usted es responsable de escribir código de alta calidad para nuestros productos. Usted tiene el emocionante desafío de trabajar con investigación y tecnología de vanguardia con un enfoque en las necesidades del mercado. Para apoyarle en este desafío, nuestros productos cuentan con arquitectos de software, gerentes de producto, gerentes de proyecto, especialistas en métodos formales e ingenieros de Q&A, con quienes debe comunicarse de manera profesional, efectiva y eficiente.

Deberes

  • Seguir prácticas ágiles de desarrollo de software.
  • Trabajar con equipos en múltiples zonas horarias.
  • Trabajar de forma independiente en tareas de desarrollo de software.
  • Ser proactivo y requerir una supervisión o tutoría mínima para completar las tareas.
  • Revisar las especificaciones elaboradas por arquitectos y especialistas en métodos formales.
  • Contribuir al diseño de algoritmos.
  • Escribir un código limpio, sencillo y eficiente que satisfaga los criterios y especificaciones de aceptación previamente acordados.
  • Realizar commit seguido, y enviar pequeños pull requests con frecuencia.
  • Incluir pruebas unitarias, de propiedades y de integridad en el código cuando corresponda.
  • Revisar los pull request de sus compañeros de equipo.
  • Corregir errores en su propio código y en el código creado por otros.
  • Estar disponible para solucionar a modo de emergencia problemas de gravedad 1 en productos desplegados.
  • Integrar componentes de software y bibliotecas de terceros.
  • Verificar e implementar programas y sistemas.
  • Solucionar problemas, depurar y actualizar el software existente.
  • Escribir la documentación del código.
  • Redactar los manuales técnicos de usuario.
  • Tener conocimientos en computación distribuida y concurrente.

Competencias clave

  • Escribir un código idiomático que satisfaga los criterios de aceptación de una tarea determinada.
  • Escriba pruebas (pruebas unitarias, pruebas de propiedades) que proporcionen una suficiente y eficiencia no superflua cobertura de código.
  • Documentar el código y las APIs de forma concisa e inequívoca.
  • Dividir las tareas en subtareas que se puedan completar en un corto período de tiempo y reporte la finalización según lo requieran los gerentes.
  • Adherirse pragmáticamente a los principios de la ingeniería de software (modularidad, desarrollo incremental, no optimización prematura, no desviación de las características, no generalización especulativa, …).

Educación / Experiencia

Es deseable pero no esencial:

  • Un mínimo de 3-5 años de experiencia en desarrollo con C/C++ pero con la capacidad de demostrar un buen conocimiento del lenguaje de programación Rust (profesional o no).
  • Experiencia trabajando con Git y el workflow de Git.
  • Experiencia práctica con métodos ágiles de desarrollo de software.
  • Conocimiento de paradigmas de programación funcionales y orientados a objetos.

Habilidades especializadas, para un ingeniero de software especializado en Rust

  • Tener experiencia en desarrollo de C/C++ (aprox. 3-5 años) pero con la capacidad de demostrar un buen conocimiento del lenguaje de programación Rust.
  • La experiencia en el desarrollo de protocolos de criptografía sería una ventaja.
  • Entendimiento de la API HTTP, así como accesibilidad y cumplimiento de seguridad.

Enlace al formulario para aplicar.

1 Like