Somos Plexus Tech. Una compañía tecnológica especializada en servicios y productos IT, basados en la innovación y el desarrollo. Fundada en el talento y las capacidades de nuestra gente, más de 2.800 profesionales desarrollan tecnología con alma para que organismos públicos, compañías del IBEX 35, grandes retailers, operadores turísticos y entidades financieras crezcan con nosotros.
Si lo que buscas es trabajar con las tecnologías más punteras del mercado y seguir progresando profesionalmente, ¡este es tu proyecto!
Buscamos un Desarrollador/a Android con al menos 5 años de experiencia para unirse a un proyecto muy interesante dentro de uno de nuestros clientes del sector bancario.
QUÉ NECESITAMOS?
* Poseer un historial comprobado de, al menos, 5 años de experiencia exclusiva en desarrollo nativo de aplicaciones Android.
* Haber trabajado en proyectos formados por librerías o que publiquen SDKs como producto.
* Será imprescindible haber trabajado en proyectos que requiriesen accesibilidad.
* No se tomará en cuenta la experiencia laboral en tecnologías híbridas de desarrollo móvil como React Native, Flutter o Xamarin.
* No se considerará la experiencia en proyectos de desarrollo dual iOS/Android, ya que no es posible determinar la dedicación específica a cada plataforma.
Conocimientos Técnicos necesarios:
Globales
* Dominio de Kotlin como lenguaje de programación.
* Amplio conocimiento de visibilidad y extensibilidad en Kotlin.
* Conocimiento de Flow y Coroutines o Sistemas de control de versiones, preferiblemente Git.
* Uso de herramientas de CI/CD: Bitrise (o similar: Github Workflow, Jenkins, ...)
* Metodologías ágiles de desarrollo.
* Flujo de trabajo de creación/revisión de PR y pruebas de control de calidad (QA).
Arquitectura
* Conocimiento sólido de patrones de arquitectura como MVVM y MVI.
* Inyección de dependencias: Koin (o similares: Dagger Hilt).
* Conocimiento sólido de buenas prácticas, incluyendo:
Principios SOLID
Patrones de diseño
Clean architecture
* Desarrollo, despliegue y control de versionado de librerías de uso interno o público.
Acceso a datos
* Librerías de obtención de datos en remoto: Retrofit (o similar: Ktor).
* Librerías de obtención de datos en local: Room, DataStore y SharedPreferences.
Jetpack Compose
* Dominio avanzado del framework Jetpack Compose, con experiencia demostrable en la
definición y creación de componentes complejos y pantallas completas en aplicaciones de
producción.
* Amplio conocimiento sobre mejorar la optimización y el rendimiento de Jetpack Compose para ofrecer la mejor experiencia al usuario.
* UX, creación de animaciones, transiciones e interacciones de UI para el usuario.
* Creación de componentes o bibliotecas para Compose (modelado de estados custom).
* Realización de pruebas de captura de pantalla utilizando Paparazzi o herramientas similares
como Shot, garantizando la calidad visual y funcional de las interfaces.
Accesibilidad
* Profundo conocimiento de las APIs de Jetpack Compose para añadir accesibilidad.
* Conocimiento de cómo estructurar la vista para que sea accesible por lectores de pantalla.
* Herramientas para probar la accesibilidad: Talkback, Switch Access o similares.
* Capacidad para identificar y resolver problemas de accesibilidad detectados a través de pruebas con TalkBack.
* Habilidad para diseñar y ajustar la interfaz de usuario para mejorar la accesibilidad para usuarios que dependen de Switch Access.
Testing
* Conocimiento sólido en la definición de pruebas unitarias con JUnit5 incluyendo el uso de
anotaciones, aserciones, y ejecución de pruebas.
* Crear y gestionar mocks y stubs de objetos y servicios, simulando comportamientos y respuestas para diferentes escenarios de pruebas.
* Verificar interacciones con objetos mockeados, asegurando que se llamen los métodos correctos con los parámetros esperados.
* Herramientas de análisis de cobertura de código (por ejemplo, JaCoCo) para medir y asegurar
que las pruebas unitarias cubran la mayor parte posible del código.
Análisis de código
* Herramientas de análisis de código estático: Detekt (o similar: Ktlint, Spotless, …)
Conocimientos Técnicos Deseable
* Experiencia en el desarrollo de aplicaciones que cumplan con estándares de seguridad.
* Experiencia en Gradle como herramienta de configuración del proyecto: Version Catalogs para manejo de dependencias, compartición de lógica mediante Convention Plugins, manejo de scripts en Gradle, Android Gradle Plugin, creación de plugins para Gradle…
* Uso de herramientas de análisis y mejora de rendimiento en las Aplicaciones: Baseline profiles, Tracing…
Conocimientos Técnicos Extras
* Familiaridad con librerías de procesado de anotaciones como KSP o herramientas de generación de código como Kotlin Poet.
* Experiencia en librerías de programación de tareas como WorkManager.
* Experiencia con librerías de control de Mapas: Google Maps
* Conocimientos extra de testing: TDD, Tests instrumentales…
Idiomas
* Nivel de inglés equivalente a B2. (Obligatorio)
* Valorable Portugués (BR).
TE OFRECEMOS:
* Contrato indefinido + 100% remoto.
* Jornada intensiva los viernes y en verano.
* Sistema de retribución flexible en seguro de salud, tickets restaurante, guardería y transporte.
* Plan de carrera y formación técnica a medida, para que sigas desarrollándote desde dentro de la compañía.
* Formación de idiomas.
* Club Benefits de Plexus Tech, que da acceso a ofertas exclusivas en viajes, hogar, salud, tecnología, moda y más categorías.
* Formar parte de un equipo dinámico, colaborativo, apasionado por sus clientes y con ganas de dar lo mejor de sí mismo.
Nos apasiona la tecnología, pero sobre todo nos encantan las personas que la hacen posible. Porque con motivación, ilusión y trabajo en equipo estamos haciendo cosas maravillosas.
Plexus Tech mantiene un compromiso firme con las políticas de Igualdad de empresa. Todos nuestros procesos de selección tienen en cuenta la igualdad de oportunidades entre hombres y mujeres de forma transversal, quedando esto reflejado en nuestro Plan de Igualdad.