Descripción del puesto:

Conceptualización, definición e implementación de componentes. Liderar
estándares de calidad y refactorizaciones. Aplicación de los componentes en construcciones,seguimiento y mejora continua. Garantizar el éxito tecnológico de un producto con altísima complejidad tecnológica debido a su naturaleza altamente paramétrica. Velar por su mantenibilidad y facilidad de uso, parametrización y expansión.


Descripción del proyecto:

Nuestro cliente está desarrollando un producto SaaS con multi‐tenencia altamente
parametrizable y modular que está en etapas tempranas de conceptualización y construcción. Buscamos a un colaborador integral con dilatada experiencia para incorporase a un equipo pequeño, pero de alto rendimiento, que nos ayude a asentar las bases del producto y de los equipos de trabajo. El producto
está construido con Angular 2+ y un backend en .Net con Microsoft SQL Server. Utilizamos prácticas modernas de desarrollo: pull requests, revisión cruzada, integración continua hasta publicación.


Responsabilidades y tareas:

  • Definir e implementar componentes de arquitectura de alta complejidad paramétrica.
  • Auditar, reevaluar y gestionar la mejora continua en seguridad, mantenibilidad y DX.
  • Seguimiento del uso de componentes y evolución de éstos durante la construcción.
  • Participación en las construcciones funcionales.
  • Mejora continua de la DX para reducir costes de mantenimiento y desarrollos futuros con los componentes del producto.
  • Garantizar que todo el equipo se adhiere a los estándares de calidad, para que el trabajo salga con la máxima calidad posible.
  • Entender y ser capaz de explicar la importancia de buenos principios de diseño del software y del desarrollo, y de buenas prácticas como la refactorización, el TDD o la programación por pares.
  • Ayudar a los miembros del equipo a aprender a hacer las cosas de mejor manera y mejorar sus habilidades.
  • Garantizar que el producto del que el equipo es responsable es saludable y de que esta salud es
  • visible para todos los desarrolladores, para que todos sepan donde hay áreas de mejora y donde se acumula la deuda técnica.
  • Ser un ejemplo para el resto del equipo siguiendo a raja tabla los estándares de calidad.


Conocimientos y habilidades:

  • Acostumbrado a aplicar altos estándares de calidad del desarrollo: ACID.
  • Se valora experiencia con sistemas de alta capacidad paramétrica, con capacidad de modificación en caliente de estructura y flujos según configuración y/o reglas de negocio.
  • Trabajo con flujos de control de la calidad: pull requests, revisiones cruzadas, entornos automáticos, IC.
  • Imprescindible dominio de GIT. Utilizamos Bitbucket.
  • Imprescindible conocimiento de C#, Entity Framework, Microsoft SQL Server.
  • Se valora participación en proyectos de código abierto.
  • Se valora conocimiento de diversidad de frameworks con diferentes tecnologías ya sean antiguas o modernas (PHP, Laravel, Symfony) y de desarrollo frontend, que aporten una visión amplia de patrones de desarrollo de software.
  • Conocimiento interdisciplinario: debe tener capacidad de entender e involucrarse mínimamente en todas las áreas técnicas del producto, incluidos los procesos frontend (angular 2).
  • Herramientas del ecosistema de desarrollo de Microsoft: Visual Studio y Microsoft SQL Server.
  • Mínimo 6 años de experiencia en desarrollo de software e ingeniería de producto, y mínimo 2 utilizando tecnologías de backend modernas de .Net (Ninject u otro sistema de inyección de dependencias, Entity Framework Code First, ASP. Net)
  • Pasión por la tecnología y gusto por los retos.