Job details

Software Engineer Sr - Mobile (React Native)

  • Java
  • REST
  • AWS
  • TypeScript
  • React Native
  • SOLID

Posted: 2 weeks ago

Objetivo General

El objetivo general de este rol es liderar y acompañar la producción de código efectivo basado en requisitos, aportando su experiencia en diseño y mejores prácticas de desarrollo. Es responsable de garantizar el cumplimiento del nivel de calidad buscado y el uso apropiado de las metodologías de trabajo seleccionadas. Busca solucionar de manera autónoma problemas complejos y contribuye a generar documentación técnica de calidad.


Responsabilidades del puesto:

·       Desarrollo de Producto a nivel experto y respaldar la producción efectiva de código para aplicaciones mobiles basada en requisitos, colaborando en su determinación.

·       Aportar experiencia en diseño y prácticas de desarrollo de vanguardia.

·       Asegurar el nivel deseado de calidad y el uso adecuado de metodologías de desarrollo seguro dentro de la organización.

·       Asegurar que el código entregado sea siempre código funcionalmente correcto.

·       Resolver de manera autónoma desafíos complejos en desarrollo de apps móviles.

·       Contribuir a documentación técnica de alta calidad.

·       Escribir código excelente basado en requerimientos de arquitectos y product owners.

·       Escribir código libre de errores y/o vulnerabilidades.

·       Revisar y retroalimentar código, identificando problemas y convenciones.

·       Crear pruebas automatizadas valiosas y significativas.

·       Garantizar viabilidad técnica de diseños UI/UX e integración en la app.

·       Optimizar app para máxima velocidad y escalabilidad.

·       Analizar, depurar y solucionar errores complejos.

·       Implementar integración y entrega continua (CI/CD) dentro del ciclo de pruebas CT.

·       Mantener actualizado el estado de tareas en Jira.

·       Colaborar en programación en pareja con otros ingenieros para mejorar calidad.

·       Brindar soporte a ingenieros de soporte en diagnóstico y solución de problemas.

·       Cumplir normativas y procedimientos de documentación y desarrollo seguro.

·       Contribuir activamente a reducir deuda técnica y procesos de refactorización.

·       Liderar equipos y asumir rol de liderazgo técnico en proyectos.

·       Fomentar innovación y creatividad en desarrollo de apps móviles.

·       Fungir como mentor para otros desarrolladores, brindando apoyo técnico en la resolución de problemas y desafíos.

·       Probar la usabilidad y accesibilidad del producto.

·       Mantener documentación actualizada sobre arquitecturas, procedimientos y herramientas operativas.

·       Seguir lineamientos de arquitectura de datos en términos de cómo recolectar y almacenar la información.

·       Generar y entregar documentación de diseño y disponibilidad de información al equipo de data.

·       Colaboración y mentoría.

·       Estimaciones de desarrollo.

·       Desarrollar herramientas y scripts para automatizar tareas operativas y procesos de despliegue.

·       Revisión de código (Calidad, consistencia y mejores prácticas).

·       Facilitar la transferencia de conocimientos entre equipos de operaciones y desarrollo

·       Implementar sistemas de control de versiones para gestionar el código fuente y la infraestructura.

·       Colaborar en estrategias de ramificación y fusión (branching and merging) efectivas.

·       Facilitar la transferencia de conocimientos entre equipos de operaciones y desarrollo.

·       Gestionar y operar sistemas y servicios de producción críticos.

·       Garantizar la disponibilidad y el rendimiento de los sistemas.

·       Diagnosticar y resolver problemas de rendimiento y escalabilidad

·       Colaborar con equipos de SRE para dimensionar adecuadamente la infraestructura

·       Gestionar la configuración de aplicaciones y sistemas para garantizar la consistencia y la reproducibilidad. (Deseable)

·       Utilizar herramientas como Cloud formation y Terraform, para gestionar la IAC. (Deseable AWS)

·       Automatizar la creación y configuración de entornos de infraestructura.  (Deseable)

 

Calificaciones necesarias para ejecutar el puesto:

·       Más de 4 años en desarrollo de apps móviles.

·       Profundo entendimiento de patrones de diseño, arquitectura y principios SOLID.

·       Uso avanzado de Git y resolución de conflictos, así como herramientas CI/CD integrado al ciclo de pruebas (Github Actions, Sonar Cloud, Bitrise)

·       Entendimiento del versionado semántico de software.

·       Experiencia con TDD, BDD

·       Experiencia demostrable de desarrollo seguro (uso de herramientas de SAST, DAST, MAST)

·       Experiencia en superapps, enfoque en la arquitectura modular, microfrontends y la reutilización de componentes y librerías.

·       Dominio consumo de servicios REST, APIs RESTful.

●      Capacidad para liderar equipos y proyectos, asegurando que se cumplan los plazos y se mantenga un alto estándar de calidad.

●      Habilidad para adaptarse a cambios rápidos en el entorno de trabajo y las prioridades del proyecto

●      Excelentes habilidades de comunicación y colaboración.

●      Disposición para adquirir conocimientos en nuevas tecnologías del stack tecnológico de Digital@FEMSA.

 

React Native

·       Conocimiento de React Native y sus componentes, hooks, custom hooks, ciclo de vida de un componente, entendimiento claro del estado y su manejo, html, css, flexbox, formularios, librerías de networking.

·       Sólidos conocimientos avanzados en Javascript y Typescript.

·       Sólidos conocimientos en Jest.