Descripción
Resumen:
Este puesto apoya la producción de código para aplicaciones móviles, centrándose en la experiencia en diseño, las mejores prácticas de desarrollo, la garantía de calidad y la resolución autónoma de problemas.
Aspectos destacados:
1. Aprovechar la experiencia en diseño y las mejores prácticas de desarrollo para aplicaciones móviles.
2. Resolver de forma autónoma problemas complejos y aportar código de alta calidad.
3. Fomentar la innovación y la creatividad en el desarrollo de aplicaciones móviles.
**Objetivo del puesto**
El objetivo principal de este puesto es apoyar la producción de código para aplicaciones móviles según los requisitos, aprovechando la experiencia en diseño y las mejores prácticas de desarrollo. El puesto es responsable de garantizar el nivel de calidad deseado y el uso adecuado de las metodologías de trabajo seleccionadas. Se espera que el desarrollador resuelva de forma autónoma problemas complejos y contribuya con código técnico de alta calidad y documentación técnica.
**Principales responsabilidades**
* Brindar experiencia en prácticas de diseño y desarrollo de vanguardia.
* Garantizar el nivel de calidad deseado y el uso adecuado de metodologías de desarrollo seguro dentro de la organización.
* Asegurar que el código entregado sea siempre funcionalmente correcto y esté libre de errores o vulnerabilidades.
* Contribuir a la documentación técnica de alta calidad.
* Escribir un excelente código basado en los requisitos proporcionados por los arquitectos y los propietarios de producto.
* Crear pruebas automatizadas valiosas y significativas.
* Garantizar la viabilidad técnica de los diseños de interfaz de usuario/experiencia de usuario (UI/UX) y su integración en la aplicación.
* Optimizar la aplicación para lograr la máxima velocidad y escalabilidad.
* Analizar, depurar y resolver errores complejos.
* Implementar integración continua y entrega continua (CI/CD) dentro del ciclo de pruebas.
* Mantener actualizado el estado de las tareas en Jira.
* Colaborar en programación en pareja con otros ingenieros para mejorar la calidad.
* Brindar soporte a los ingenieros de soporte para diagnosticar y resolver problemas.
* Cumplir con los procedimientos de documentación y desarrollo seguro.
* Contribuir activamente a la reducción de la deuda técnica y a los procesos de refactorización.
* Fomentar la innovación y la creatividad en el desarrollo de aplicaciones móviles.
* Definir criterios de aceptación claros antes del desarrollo.
* Escribir, automatizar, ejecutar y documentar casos de prueba (TCC).
* Realizar pruebas de integración para verificar la funcionalidad conjunta.
* Probar la usabilidad y accesibilidad del producto.
* Mantener actualizada la documentación sobre arquitecturas, procedimientos y herramientas operativas.
* Desarrollar herramientas y scripts para automatizar tareas operativas.
* Seguir las directrices de arquitectura de datos sobre cómo recopilar y almacenar información.
* Generar y entregar documentación de diseño y disponibilidad de información al equipo de datos.
* Colaborar y orientar a los miembros del equipo.
* Proporcionar estimaciones de desarrollo.
* Desarrollar herramientas y scripts para automatizar tareas operativas y procesos de despliegue.
* Facilitar la transferencia de conocimiento entre los equipos de operaciones y desarrollo.
* Implementar sistemas de control de versiones para gestionar el código fuente y la infraestructura.
* Colaborar en estrategias efectivas de ramificación y fusión.
* Facilitar la transferencia de conocimiento entre los equipos de operaciones y desarrollo.
* ETL (deseable).
* Promover una cultura de trabajo autónomo al fomentar la autorregulación, la rendición de cuentas y la resolución proactiva de problemas entre los miembros del equipo.
* Actuar como Embajador de la Cultura Spin para fomentar y mantener un entorno laboral positivo, inclusivo y dinámico que se alinee con los valores y la cultura de la empresa.
**Conocimientos y experiencia requeridos**
* Experiencia mínima de 2 a 4 años en desarrollo de aplicaciones móviles.
* Comprensión de patrones de diseño, arquitectura y principios SOLID.
* Competencia en Git y herramientas de CI/CD (GitHub Actions, SonarCloud, Bitrise).
* Conocimiento de la versión semántica.
* Habilidades en TDD y BDD.
* Experiencia en prácticas de desarrollo seguro (SAST, DAST, MAST).
* Experiencia preferible en esquemas de superaplicaciones, arquitectura modular y reutilización de componentes/bibliotecas.
* Competencia en servicios RESTful, React Native, JavaScript y TypeScript.
* Experiencia con Android (Java, Kotlin) e iOS (Swift, Objective C).
* Capacidad de adaptación a cambios rápidos en el entorno laboral y en las prioridades del proyecto.
* Excelentes habilidades de comunicación, colaboración, pensamiento crítico y gestión de conflictos.
* Disposición para adquirir conocimientos sobre nuevas tecnologías dentro de la pila tecnológica de Spin.
**React Native:**
* Conocimiento de React Native y sus componentes, hooks, hooks personalizados, ciclo de vida de los componentes, gestión de estado, HTML, CSS, Flexbox, formularios y bibliotecas de red.
**Android:**
* Conocimiento de Java y Kotlin, Android Studio, SDK de Android y Gradle.
**iOS:**
* Conocimiento de Swift y Objective C, Xcode, Cocoa Touch y CocoaPods.
En Spin estamos comprometidos con construir un lugar de trabajo diverso e inclusivo.
Creemos en la igualdad de oportunidades y promovemos un entorno libre de discriminación por motivos de raza, origen nacional, género, identidad de género, orientación sexual, discapacidad, edad o cualquier otra condición legalmente protegida.