Experimentado desarrollador de software, especializado en tecnologías de Apple
Profesional con más de 15 años de experiencia en desarrollo móvil, especializado en Swift y Objective-C y con conocimientos sólidos en Kotlin, TypeScript, C++ y Dart. Amplia experiencia en diferentes arquitecturas aplicando principios SOLID y en el desarrollo de aplicaciones con integración a servidores mediante REST, WebSockets y gRPC. Especial interés en el ecosistema SwiftUI y profundo conocimiento de los frameworks de iOS, incluyendo la gestión de dependencias a través de Swift Package Manager.
Tras mi promoción a Technical Lead, planifiqué y diseñé módulos y especificaciones, liderando un equipo de tres desarrolladores iOS. Entregamos aplicaciones a tiempo y dentro del presupuesto, incluida la primera aplicación para iPad como un producto disruptivo en el mercado.
Desarrollo de aplicaciones en SwiftUI bajo arquitecturas MVVM-C/MV y Combine Framework.
Implementación multiplataforma mediante Skip Framework (https://skip.tools/) para Android, con módulos específicos en Kotlin.
Diseño y mantenimiento de paquetes internos distribuidos mediante Swift Package Manager.
Integración con gRPC (Protobuf), MQTT, WebSockets y REST (JSON) para la comunicación con dispositivos y backend.
Coordinación con Product Owners para la planificación y priorización del trabajo en sprints, asegurando un delivery ágil y eficiente.
Seguimiento y apoyo al equipo a través de evaluaciones periódicas y definición de objetivos de crecimiento profesional.
Desarrollo de la versión inicial del driver para nuevo hardware, utilizando Swift, C++, DriverKit y APIs de bajo nivel (Unsafe).
Implantación de CI/CD con XCTest, XCUITest, GitLab, Fastlane y TestFlight, optimizando la calidad y el despliegue continuo.
Miembro del departamento de I+D, desarrollé prototipos para iOS y Android cumpliendo de forma fiable los hitos acordados, utilizando Swift, Kotlin y TypeScript.
Uso de Swift y Kotlin para mostrar gráficos web (WKWebView). UIKit, IOKit, Protocol Buffers, GRPC, MVVM y Combine Framework.
Creación de módulos en C++11 y C para permitir la comunicación con aplicaciones iOS y Android a través de USB.
Uso de test unitarios, programación orientada a protocolos y librerías externas como OCMock y Catch (para C++).
Ayudando al equipo frontend con tickets en TypeScript usando Ionic framework, StencilJS y RxJS.
Creación de plugins nativos con Capacitor framework utilizando Swift y Kotlin.
Desarrollo de funcionalidades en plazo y presupuesto para el principal producto iOS de marca blanca, el cual da servicio a más de 300 clientes corporativos y gestiona más de 1 millón de reservas diarias.
Diseño y desarrollo de nuevas funcionalidades utilizando Swift y UIKit.
Introducción de principios S.O.L.I.D., programación orientada a protocolos y la arquitectura MVVM para mejorar la mantenibilidad, escalabilidad y calidad del código.
Desarrollo de pruebas unitarias (XCTest), pruebas de interfaz de usuario (XCUITest) y uso de librerías externas como OCMock y OHHTTPStubs.
Desarrollo de múltiples aplicaciones iOS dentro los plazos establecidos para una cartera diversa clientes, logrando de forma consistente altos niveles de satisfacción de los usuarios.
Creación de componentes en Swift.
Uso de CocoaPods como principal gestor de dependencias para librerías de terceros como AFNetworking, Stripe, MapBox, Mantle, etc., y creación de pods privados.
Experiencia en el uso de frameworks como Core Data, Core Text y Quartz 2D, así como herramientas de diseño de interfaces como Auto Layout.
Uso de herramientas de despliegue como Fastlane y herramienta de reporte de errores en tiempo real Crashlytics.
Integración continua bajo Travis CI con pruebas automatizadas con Calabash-iOS (BDD), OCMock y OHHTTPStubs.
Participación en el desarrollo de aplicaciones iOS utilizando Unity Core para la gestión de animaciones 3D.
Colaborando en el desarrollo de aplicaciones Android como Desarrollador Junior.
Miembro del equipo de desarrollo de aplicaciones iOS B2B orientadas a distribución y mantenimiento de stocks.
Desarrollo y distribución de librerías internas para comunicaciones específicas de la empresa (usando GCD) y un generador semiautomático de consultas con acceso a base de datos (usando SQLite).
Desarrollo de componentes adicionales utilizando varios frameworks como MapKit, Core Location, QuickLook, Quartz 2D, Auto Layout y los frameworks básicos de Cocoa Touch.
Desarrollo de aplicaciones sencillas para el registro datos de pacientes y garantizar el acceso a la terapia.
Desarrollo de una app que recopila y almacena datos de usuarios (SQLite), envía datos al backend mediante API REST con JSON y los encripta usando CCCRyptor (3cc). Backend: MySQL y PHP con jQuery.
En mi proyecto fin de carrera (Estudio para el desarrollo de aplicaciones sobre iOS), desarrollé una aplicación en Objective-C para demostrar cómo el sistema operativo iOS y su ecosistema de frameworks trabajan juntos. El proyecto utilizó diversas funcionalidades del iPhone (GPS, alarma, cámara, etc.). Los usuarios podían crear reglas entre estas funciones, lo que les permitía construir automatizaciones personalizadas según sus necesidades.
FP Superior en Sistemas informáticos
2005 - 2007 • 2 años
I.E.S. Jovellanos
Fuenlabrada - Comunidad de Madrid - España
Prácticas en European Aeronautic Defence and Space (EADS) - Madrid. Durante mis prácticas obligatorias, trabajé en múltiples tareas de desarrollo, principalmente en scripting nativo en Excel usando Visual Basic para Aplicaciones (VBA).
Proyectos
App de ayuda para la extrofia vesical
Septiembre 2025 - Presente
Volutario para apoyar a personas afectadas por extrofia vesical, así como a sus padres, desarrollando una aplicación para iOS y Android diseñada para ayudar a los usuarios a crear y mejorar rutinas que respalden su condición: