Experienced software developer with a focus on Apple technologies
Me apasionan las plataformas móviles y los lenguajes web, especialmente Swift y C++, así como Android y JavaScript. Soy un desarrollador diligente que aplica los principios SOLID y cuenta con una amplia experiencia en el desarrollo de aplicaciones con comunicación hacia servidores. Además, tengo una fuerte afinidad por las aplicaciones desarrolladas con SwiftUI y un excelente conocimiento de los frameworks de iOS, incluyendo bibliotecas de terceros gestionadas mediante Swift Package Manager.
Lidero el desarrollo de una aplicación en SwiftUI bajo la arquitectura MV, que interactúa con REST APIs, con diseño creado en Figma. Utlizamos las herramientas de Skip para convertir la aplicación en Swift a nativa en Android, además del desarrollo de partes personalizadas en Kotlin
Lidero el desarrollo de varios paquetes internos, distribuidos bajo Swift Package Manager, algunos de los cuales ya han sido convertidos para su uso con las herramientas de Skip.
Lidero el desarrollo de múltiples aplicaciones SwiftUI que utilizan diversos protocolos de comunicación y APIs, como gRPC con Protobuf, MQTT, WebSockets y APIs REST, asegurando soluciones de alto rendimiento y escalables
Colaboro con otros departamentos para conceptualizar y perfeccionar nuevas funcionalidades, alineando las capacidades técnicas con las necesidades del negocio.
Trabajo estrechamente con jefes de proyecto, para planificar y priorizar las tareas del sprint, manteniendo un flujo de trabajo ágil y cumpliendo con los plazos de entrega.
Superviso y guio a un equipo de dos desarrolladores iOS, realizando regulares evaluaciones de rendimiento y estableciendo claros objetivos para fomentar el crecimiento profesional.
Implementando funcionalidades robustas, mediante la adhesión de patrones de diseño MVVM y MV, así como asegurando la mantenibilidad, buenas prácticas de codificación y principios SOLID.
Desarrollé la version inicial del Driver para el hardware más reciente de la empresa bajo Swift y C++ y usando DriverKit y las funciones Unsafe de Swift.
Asegurando que todos los proyectos se mantengan bajo integración continua (XCTest y XCUITest) y pipelines de Continuous Delivery (GitLab, Fastlane y TestFlight), optimizando los procesos de desarrollo y despliegue.
Realizando trabajos de mantenimiento en nuestra CI utilizando Fastlane y GitLab para construir, realizar test y distribuir aplicaciones tanto para iOS como para Android.
Mejorando la iOS app de marca blanca, que atiende a más de 300 clientes corporativos y gestiona más de 1 millón de reservas diarias en total.
Diseño y desarrollo de nuevas funcionalidades y componentes de interfaz de usuario utilizando Swift y UIKit.
Introducción de principios S.O.L.I.D., programación orientada a protocolos y la arquitectura MVVM para mejorar funcionalidades existentes y desarrollar otras nuevas
Desarrollo de pruebas unitarias (XCTest), pruebas de interfaz de usuario (XCUITest) y uso de librerías externas como OCMock y OHHTTPStubs.
Uso de CocoaPods como principal gestor de dependencias para librerías de terceros como AFNetworking, Stripe, MapBox, Mantle, etc., y creacion 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.
Uso de pruebas de integración continua con Travis CI, Calabash-iOS (BDD), OCMock y OHHTTPStubs.
Participación en el desarrollo de aplicaciones utilizando Unity Core para la gestión de animaciones 3D.
Colaborando en el desarrollo de aplicaciones Android como Desarrollador Junior.
Voluntario como analista y desarrollador iOS en Samsamia, contribuyendo a la creación de Drescovery App, un motor de búsqueda visual para bolsos de mujer utilizando imágenes capturadas con la cámara del iPhone.
Uso de los principales frameworks de Cocoa Touch para iOS 7 y OpenCV en iOS para gestionar el algoritmo de detección de características e identificación de objetos.
Comunicación con el backend a través de API REST usando JSON con AFNetworking.
Miembro del equipo de desarrollo de aplicaciones moviles diseñadas para ayudar a los representantes de ventas en la visita a clientes y mayoristas..
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 registrar 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 projecto fin de carrera, 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
Bladder exstrophy companion app
Junio 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:
iOS app: SwiftUI, Swift, arquitectura Model-View
Android app: Jetpack Compose, Kotlin, Skip tools
Carlos Pages site
Febrero 2025 - Presente
Creación de mi sitio página web y futuro blog utilizando el framework Ignite.