Ubicación: Florida
Tipo de Empleo: Ingeniero de Software desde casa
Horario: Full-Time
Lenguaje: Ingles, Español
Compañía que está contratando: Sunrun
Descripcion del Puesto:
Buscamos un Ingeniero de Software Sr. con experiencia en datos. Como ingeniero de software sénior, colaborará en la dirección técnica de todas las soluciones de ingeniería de servicios de red de Sunrun y también liderará la transformación de nuestros sistemas en sistemas autorregenerables, fiables y reactivos. En este equipo, creará canalizaciones de datos para ingerir y procesar datos de IoT de nuestros más de 700.000 sistemas solares y de almacenamiento. Estos datos se utilizan en toda nuestra empresa para garantizar el tiempo de actividad del sistema, el análisis del rendimiento y la información para nuestros clientes.
Responsabilidades
- Liderazgo técnico: Ayudar a establecer estándares de desarrollo y arquitectura dentro del equipo, promoviendo la excelencia técnica y las mejores prácticas.
- Colaboración: Trabajar en estrecha colaboración con Gestión de Productos, DevOps y otros miembros del equipo para desarrollar aplicaciones que sean fácilmente comprobables y funcionen bien en diversas condiciones de red.
- Disponibilidad de datos: Garantizar que los consumidores tengan acceso a los datos que necesitan para tomar decisiones informadas, centrándose en la disponibilidad y fiabilidad de los datos.
- Cumplimiento de las mejores prácticas: Defender la adhesión a las metodologías de desarrollo de mejores prácticas en todo el proceso de desarrollo de software.
- Canalización de datos: Crear y mantener canalizaciones de datos para procesar y gestionar los datos de forma eficaz.
- Diseño de algoritmos y componentes de software: Diseñar y codificar algoritmos, estructuras de datos y componentes de software escalables y seguros.
- Documentación: Mantener una documentación clara y completa del código, los sistemas y los procesos.
- Revisiones de código: Dirigir revisiones de diseño y código para garantizar un código de alta calidad y el intercambio de conocimientos dentro del equipo.
- Pruebas automatizadas: Facilitar las pruebas automatizadas para permitir una rápida innovación y garantizar la estabilidad de las aplicaciones.
- Tutoría: Orientar y ayudar a desarrollar habilidades en todo el equipo mediante el establecimiento de normas, revisiones de código y programación en parejas.
- Ajuste del rendimiento: Optimizar las aplicaciones de producción para maximizar la eficiencia y el rendimiento.
- Métricas y análisis: Desarrollar métricas, análisis y cuadros de mando continuos para orientar las decisiones importantes y supervisar el rendimiento del sistema.
Cualificaciones
- Formación: Se prefiere una licenciatura o maestría en Ciencias de la Computación o un campo relacionado.
- Experiencia: Un mínimo de 5 años de experiencia práctica en el desarrollo de aplicaciones empresariales complejas con JavaScript, Kotlin y Python.
- Liderazgo: Fuertes habilidades de liderazgo con la capacidad de orientar y guiar a los miembros del equipo.
- Plataformas en la nube: Amplia experiencia con la plataforma en la nube AWS.
- Conocimiento de bases de datos: Competencia en bases de datos relacionales y NoSQL.
- Servicios en la nube: Familiaridad con varios servicios en la nube y arquitecturas sin servidor.
- Desarrollo de microservicios: Experiencia demostrada en el desarrollo de microservicios y Lambdas utilizando JavaScript/TypeScript.
- Entorno Empresarial: Experiencia previa trabajando en entornos empresariales complejos y desarrollando programas complejos.
- Desarrollo de API: Sólida experiencia en arquitectura y desarrollo de API REST.
- Dominio de Git: Conocimiento de Git, incluyendo control de versiones, ramificación, fusión/rebase y pull requests.
- SQL y lenguajes de procedimiento: Capacidad para escribir consultas SQL y código procedimental para el manejo de datos.
- Automatización: Un enfoque en la automatización, incluidas las prácticas de CI / CD y la automatización de pruebas.
- Agile/SCRUM: Experiencia con metodologías de desarrollo de software Agile/SCRUM.
- Prácticas de seguridad: Sólida comprensión de las prácticas de seguridad y protección de datos.