Descripción
Resumen
Grid Automation ofrece a sus clientes una gama completa de productos, sistemas y servicios innovadores que abarcan el diseño y la fabricación, así como la puesta en servicio y el mantenimiento a largo plazo de soluciones de protección y automatización de subestaciones. Esto incluye, entre otros, relés de protección, sistemas de control, soluciones de ciberseguridad, gestión de dispositivos, rendimiento de activos y muchos más. El software de Grid Automation se encuentra dentro de los límites de las tecnologías de red, el software embebido y las soluciones avanzadas de análisis. Si te apasiona el software y deseas trabajar en la mejora de la resiliencia de la red mediante software, ¡este es tu puesto.
Buscamos un Desarrollador Senior de Software para unirse al equipo GridBeats™. El portafolio de software GridBeats™ agrupa todas las aplicaciones de automatización de red que monitorean, optimizan y gestionan dispositivos conectados a la red. Se trata de un portafolio muy complejo y fascinante que sienta las bases para la gestión futura de dispositivos conectados a la red.
El Desarrollador Senior de Software formará parte del equipo de Plataforma y apoyará la integración y convergencia de todas las aplicaciones GridBeats™ en una única arquitectura coherente y en prácticas comunes de desarrollo de software. Trabajará de forma transversal con todos los equipos, brindando capacitación y mentoría a desarrolladores junior, asegurando que las mejores prácticas de ingeniería de software sean bien comprendidas y aplicadas de forma consistente en toda la organización.
**Descripción del puesto**
===================
**Funciones y responsabilidades**
**Desarrollo de software y entrega técnica**
* Diseñar, desarrollar, probar y mantener componentes de software de alta calidad para el portafolio GridBeats™.
* Contribuir a la implementación de servicios de backend, capas de integración, bibliotecas comunes e interfaces entre dispositivos y software.
* Entregar código robusto, mantenible y bien documentado, alineado con los estándares del equipo y los requisitos del producto.
* Colaborar estrechamente con arquitectos, propietarios de producto, QA e ingenieros de sistemas para traducir los requisitos en soluciones técnicas confiables.
**Integración de sistemas e interfaces**
* Implementar y dar soporte a las integraciones entre software embebido, firmware, middleware, sistemas de backend, plataformas de análisis y otras aplicaciones de GE.
* Desarrollar y mantener APIs, flujos de comunicación, mapeos de datos e implementaciones de interfaces.
* Contribuir a la solución de problemas y resolución de incidencias de interoperabilidad entre sistemas y dispositivos.
**Mejores prácticas de ingeniería**
* Aplicar principios de diseño de software, estándares de codificación y mejores prácticas para garantizar implementaciones mantenibles y escalables.
* Participar en revisiones de código, discusiones de diseño y resolución técnica de problemas con el equipo.
* Ayudar a establecer y reforzar buenos hábitos de ingeniería, incluyendo código limpio, disciplina en pruebas y diseños reutilizables.
**Plataforma y componentes reutilizables**
* Construir y mejorar componentes compartidos, bibliotecas y servicios para reducir la duplicación y mejorar la coherencia en todo el portafolio.
* Contribuir a frameworks de desarrollo y activos técnicos reutilizables empleados por múltiples equipos.
* Apoyar la adopción de prácticas comunes de desarrollo y cadenas de herramientas de ingeniería.
**Atributos de calidad**
* Escribir software prestando especial atención a la fiabilidad, el rendimiento, la mantenibilidad, la ciberseguridad y la capacidad de prueba.
* Colaborar con los equipos de QA, Ingeniería de Sistemas y Ciberseguridad para garantizar que el software cumpla con los requisitos de verificación, validación y cumplimiento normativo.
* Apoyar el análisis de defectos, la investigación de causas raíz y la implementación de acciones correctivas para incidencias detectadas en campo o durante las pruebas.
**Sistemas heredados y migración**
* Asistir en actividades de refactorización, modernización y migración de sistemas heredados.
* Apoyar la compatibilidad hacia atrás y la evolución controlada de los componentes de software.
* Contribuir a la reducción de la deuda técnica mediante mejoras incrementales y limpieza del código fuente.
**Capacitación y liderazgo técnico**
* Capacitar a ingenieros junior y apoyar la incorporación de nuevos miembros del equipo.
* Compartir conocimientos técnicos, patrones de implementación y lecciones aprendidas con el equipo.
* Actuar como modelo técnico mediante una calidad constante en la entrega y un estilo de trabajo colaborativo.
**Cualificaciones obligatorias**
* Experiencia demostrada en ingeniería de software, con sólida experiencia práctica en desarrollo
* Conocimientos sólidos de principios, patrones y mejores prácticas de diseño de software
* Experiencia con uno o varios lenguajes y frameworks de programación, tales como Java, C\+\+, C\#, Python y JavaScript
* Conocimiento de plataformas de computación en la nube, como AWS o Azure
* Capacidad demostrada para resolver problemas y realizar análisis
* Conocimiento de estándares y prácticas relacionadas con la ciberseguridad, preferiblemente en contextos industriales o embebidos
* Experiencia en el desarrollo de software para sistemas distribuidos, a gran escala o embebidos
* Experiencia en la integración de sistemas embebidos con plataformas de backend/nube o software empresarial
* Experiencia en la definición o implementación de APIs, interfaces de sistema y modelos de datos entre múltiples sistemas
* Experiencia en la evolución de sistemas, estrategias de migración y gestión de la deuda técnica
* Experiencia trabajando con prácticas CI/CD, DevOps y cadenas de herramientas modernas de desarrollo de software
* Comprensión de la arquitectura de ciberseguridad y el diseño seguro de software
* Resulta muy deseable contar con experiencia en entornos industriales, embebidos o críticos para la seguridad
**Características deseadas**
* Excelentes habilidades comunicativas orales y escritas. Capacidad demostrada para analizar y resolver problemas. Capacidad para documentar, planificar, comercializar y ejecutar programas.
* Fuerte sentido empresarial, liderazgo y disciplina en la gestión del negocio diario.
* Capacidad para trabajar en organizaciones internacionales y matriciales.
* Capacidad para interactuar eficazmente con todos los niveles de la organización.
**Información adicional**
==========================
**Asistencia para reubicación:** No