Descripción
**Descripción de la empresa**
En KMS Technology, estamos dedicados a ofrecer soluciones y servicios de vanguardia que permiten a las empresas alcanzar sus objetivos. Nuestro equipo está compuesto por profesionales altamente calificados apasionados por la tecnología y la innovación. Ofrecemos un entorno de trabajo dinámico y colaborativo donde puedes desarrollar tu carrera y generar un impacto significativo.
**Descripción del puesto**
Buscamos un **Ingeniero Senior de Software** altamente calificado y experimentado para diseñar y construir soluciones de software de alta calidad y confiabilidad para sistemas de automatización de laboratorio. En este rol fundamental, serás responsable del desarrollo de los servicios centrales que facilitan el envío seguro y de alta integridad de datos a sistemas externos, aprovechando tecnologías modernas de mensajería, diseño de APIs y protocolos de seguridad. Este puesto requiere una experiencia profunda en C\# y una sólida administración/integración de bases de datos en entornos tanto de MS SQL como de PostgreSQL.
**Responsabilidades:**
**Diseño y desarrollo del sistema:**
* Diseñar y desarrollar soluciones de software de automatización de laboratorio de alta calidad y confiabilidad utilizando **C\#**.
* Arquitecturar e implementar el envío fiable de datos de eventos mediante tecnologías de **cola de mensajes** (por ejemplo, **RabbitMQ** y/o **MQTT**).
* Crear y mantener APIs **RESTful** seguras y de alto rendimiento utilizando el marco **ASP.NET**.
* Integrar protocolos de seguridad, específicamente **OAuth 2\.0 y OIDC**, en los diseños de servicios y APIs para garantizar el intercambio seguro de datos.
**Base de datos e infraestructura:**
* Diseñar e implementar soluciones integradas con bases de datos **MS SQL** y **PostgreSQL**.
* Desarrollar funcionalidad robusta para el **mantenimiento automático de bases de datos** y la **recuperación ante desastres**, asegurando la integridad de los datos del cliente y la disponibilidad continua del sistema.
* Contribuir al desarrollo de **aplicaciones web** complementarias utilizando marcos modernos (por ejemplo, **React, Angular o Vue.js**).
**Excelencia técnica y colaboración:**
* Aplicar conocimientos avanzados de **Programación Orientada a Objetos (POO), principios SOLID** y metodologías de la industria del software para garantizar una alta calidad del código.
* Desarrollar código con **pruebas unitarias** exhaustivas para asegurar la estabilidad y mantenibilidad del sistema.
* Colaborar eficazmente en un entorno de equipo y demostrar la capacidad comprobada de implementar con éxito proyectos complejos de extremo a extremo.
**Requisitos** **Experiencia y habilidades técnicas requeridas:**
* Experiencia profesional de **5 años o más** en desarrollo de software.
* Competencia experta en **C\#** y comprensión profunda de patrones modernos de diseño de software (por ejemplo, **SOLID**).
* Experiencia demostrable en el diseño e implementación de **APIs RESTful** mediante **ASP.NET** y **C\#**.
* Experiencia práctica con sistemas de colas de mensajes como **RabbitMQ** y/o **MQTT**.
* Experiencia práctica en la implementación de autenticación/autorización mediante **OAuth 2\.0** y **OIDC**.
* Competencia en bases de datos **PostgreSQL** y/o **MS SQL**, incluyendo desarrollo de aplicaciones, administración y optimización del rendimiento.
* Experiencia en el desarrollo de interfaces de usuario modernas utilizando al menos uno de los principales marcos web (**React, Angular o Vue.js**).
**Habilidades y atributos preferidos:**
* 3 años o más desarrollando aplicaciones y servicios basados en Windows.
* Conocimiento de tecnologías de orquestación de contenedores como **Kubernetes** y/o **Docker**.
* Excelentes habilidades analíticas y de resolución de problemas, junto con una comunicación verbal y escrita sobresaliente.
**Información adicional** **Ubicación:** Guadalajara, Jalisco, México (trabajo desde casa; no será obligatorio acudir a la oficina en todo momento, sino únicamente cuando sea necesario).