Crear apps iOS en Madrid: consejos prácticos de un ingeniero senior
noviembre 4, 2018

Desarrollar una aplicación iOS en la ciudad de Madrid supone abrirse a increíbles oportunidades profesionales. Hay otras ciudades en España que también son para destacar su gran empuje en la creación de aplicaciones. Hoy hablo de Madrid porque ha sido la ciudad que acogió y apoyó a un apasionado de la vida y un gran Ingeniero iOS Senior llamado Carmelo Ruymán Quintana Santana.

Desde hace unos años hay personas que han sido una fuente de inspiración para todos nosotros por su éxito profesional. Conforme los vas conociendo mejor te das cuenta que detrás de cada caso de éxito hay procesos, metodologías, pasión y alegría por alcanzar sus sueños. Estas cualidades y sentimientos son los que Carmelo siempre me ha trasmitido desde que lo conocí hace unos años.

Compartir intereses comunes siempre nos une a todos. Por eso, quiero hablarte de lo afortunado que me siento de compartir una de nuestras mayores pasiones: la creación de iOS con Swift. Esta profesión nos ha dado la oportunidad de pasar buenos momentos compartiendo opiniones y conocimientos. Especialmente cuando nos mueve el objetivo de hacer más eficiente cada nueva aplicación.

Mi deseo es que tengas la oportunidad mediante este artículo de conocerlo en más profundidad, más allá de su perfil en LinkedIn. Saber cómo trabaja en el día a día, los proyectos tan importantes en los que ha demostrado su pericia como ingeniero iOS y comprender de qué forma organiza su desarrollo de aplicaciones. Descubrirás qué tecnologías avanzadas y de alto rendimiento usa Carmelo. Su forma de trabajar lo ha convertido en un ingeniero con gran prestigio profesional en la ciudad de Madrid. Quiero que disfrutes de todas las cosas que nos enseña mediante esta entrevista. Estoy seguro que si prestas atención a sus palabras estarás más cerca de la élite de los grandes ingenieros iOS.

¿Qué tal estás Carmelo?

Hey, aquí trabajando, probando mi aplicación de bkool, desde casa, ya ves, hay que sudar.

¿Qué te llevó a tomar la decisión de especializarte en el desarrollo de aplicaciones iOS?

Al finalizar la carrera desarrollé un proyecto orientado a la Biomedicina, donde por primera vez vi la Programación Orientada a Objetos. Este proyecto trataba, en medir la carga emocional de una persona a través del movimiento de sus labios. Tuvo mucho éxito, y a raíz de ahí, empecé a estudiar más en profundidad el código orientado a objetos. Hice algunos cursos Online. Terminando en un master de una academia aquí reconocida a nivel nacional. Y he seguido evolucionando y creciendo desde entonces.

Tu carrera profesional ha tenido una progresión ascendente increíble. ¿Qué factores crees que te han ayudado más para estar donde estás?

Los factores fueron varios. La necesidad de encontrar una salida viable en el momento en que me encontraba. Porque después de dos años en paro, me decía: quiero encontrar algo, pero nada referente a las telecomunicaciones. Comencé a escuchar que esto de la programación para los dispositivos móviles estaba tomando bastante importancia, así que después de un curso vino otro. Y así hasta que opté por una beca, en un master como Full Stack Developer. Y desde entonces no he parado de comprarme libros, leerme blogs, formarme año tras año en las novedades que presenta Apple. Y he ido creciendo profesionalmente. Creo que una de las claves con la que he llegado al éxito, es que siempre he querido mejorar, dar un paso más, el extra, el coger y ver cuáles son las nuevas arquitecturas. Las que están ahora a la última. Buscar siempre información de importancia. Por ejemplo, el libro que me hable de testing, test unitarios, como mejorar las arquitecturas y así poder utilizar los test. O la programación reactiva, pues hay muchísimos libros de RxSwift o de RxCocoa. Y siempre he tirado por estos, por los últimos, por los que me ayudan a hacer un código más legible, más escalable. Tirando siempre por lo último. Entonces evolucionas, creces y mejoras.

¿Recuerdas alguna anécdota, que puedas contar, cuando estuviste trabajando en las aplicaciones de Telecinco?

Una de las anécdotas que me pasó trabajando en Megamedia (Mediaset), cuando lanzaron la aplicación de Gran Hermano. Y estábamos justamente en la época del Gran Hermano Big y teníamos que rehacer el reproductor de vídeo, con el AVPlayer de forma nativa. Entonces tuve que hacer varias pruebas. Y siempre, siempre, siempre me tocaba uno o dos vídeos y tenía que ser de la casa de Gran Hermano o el directo mismo de Gran Hermano. Y al final me pegaba horas viendo el Gran Hermano sin quererlo, y me enteraba más del Gran Hermano que cualquier otra persona que veía la tele. Así qué bueno todo ese sacrificio, pues tuvo muy buen resultado y se quedó funcionando bien el reproductor.

Como Ingeniero Senior iOS, ¿cuál es tu día a día?

Una de las cosas buenas que tiene esta profesión, y sobre todo ahora mismo como Senior, es que puedo trabajar desde casa, sin ningún problema. Tengo la confianza de mi responsable, ve que mi trabajo siempre es bueno y con una calidad excelente. Y el trabajar en casa, es un plus que se agradece muchísimo, porque te aíslas de las distracciones que tienes en la oficina. Puedes hacer un Kit-Kat, tomarte tu café en la terraza y luego volver al trabajo de forma tranquila y organizada. Entonces me gestiono mucho mejor y eso es bastante bueno, porque se ve reflejado en tu código.

¿Qué cualidades valoras más en un desarrollador iOS?

Un desarrollador iOS, no es una persona especial, jaja, aunque quizás algunos sí los tratan como especiales. Pero lo bueno que tiene esta plataforma, es que es super versátil, aparte de ser gratuita en las herramientas y tener la herramienta de Xcode. Se adapta super bien al desarrollo. Las posibilidades son infinitas. Te encuentras realizando código, con Swift ahora actualmente, y ves que mucha gente trabaja igual que tú, con la misma calidad, empleando las mismas arquitecturas. Y lo que tiene de divertido es que siempre hay un área nueva. Por ejemplo, puedes usar SpriteKit para realizar un juego o usarlo simplemente para generar gráficas, con lo cual mejoras el rendimiento. Siempre vas creciendo como profesional y vas mejorando el código. Vas mejorando tu aplicación, y eso como desarrollador de iOS lo valoro mucho.

¿Qué estudiar para ser un gran ingeniero o desarrollador iOS?

Para llegar a ser un buen ingeniero de iOS, hay muchísimas herramientas. No tienes porque utilizarlas todas. Para mí las más interesantes son libros de temas muy técnicos, por ejemplo, como emplear la Programación Orientada a Protocolos. Un paradigma que el primer lenguaje de programación que utiliza esta forma de programar es Swift. Luego están libros para programación reactiva como en RxSwift, o TDD. Son libros que te ayudan a que tu código sea bastante eficiente, con un lenguaje muy técnico a la hora de representarlo. Los vídeos también están muy bien. La ventaja que tiene un libro sobre un vídeo es que, en un libro, al final cuando lo lees, esa terminología técnica se te queda, se te impregna más en la cabeza, y la hora de llevarla a tu código resulta más versátil. Luego, pues, también veo mucho vídeos de plataformas como Udemy, o cursos de la UNED que son muy interesantes. Básicamente es eso. Luego hay una cosa que siempre me gusta investigar, blog de varias personas muy profesionales, que siempre están a la última, como tú. Hay blogs, donde explican nuevas funcionalidades del Swift 4.2 ó programación reactiva. Al final hay mucha gente como tú, que tienen esas inquietudes, y al final les gusta aportar en este mundo. Al final hay una comunidad muy interesante que te ayuda avanzar. Internet es una herramienta ideal para estar al día. Bajarte esos libros, comprarlos y emplearlos para crecer como ingeniero en el desarrollo iOS.

Al hacer proyectos que van a tener una importancia internacional, ¿qué tipo de tecnologías o herramientas utilizas?

Pues personalmente soy muy propenso a crear librerías propias, a desacoplar bastantes partes del código, como la librería de comunicaciones, la librería de interfaz o la librería que controla los dispositivos por Bluetooth. Me voy creando mis propias librerías. Para ello, empleo Carthage, para hacer la inyección de estas librerías en mis proyectos. Luego también mi gran aliado es Cocoapods, porque muchas de las librerías de terceros con Cocoapods es más fácil integrarlas en tus proyectos. Y alguna cosilla más que pueda mencionar, pues obviamente es Swift. Ha sido un antes y un después el emplear Swift como lenguaje de desarrollo principal. Y es que la versatilidad que te da, la posibilidad de uso, y el novedoso sistema de protocolos que tiene este lenguaje, ayuda muchísimo. Tu idea de código, tu idea a desarrollar, esculpirla en código, es mucho más fácil con Swift, que lo que era antes con Objetive-C. Esto quieras o no es una gran ventaja. Luego cosas que uso, como he mencionado antes RxSwift, ayuda muchísimo a simplificar tu código, hacerlo bastante limpio e inteligente. La vista en sí, el ViewController, con los bindings haces de forma muy elegante, sencillo y simple el código. Poquitas cosas más que pueda añadir. Básicamente eso, uso muchas librerías propias, las cuales puedo luego ir creciendo, aumentando y metiéndoles en features nuevas. Y que no contengan elementos de otras librerías como Alamofire o AFNetworking para el tema de las comunicaciones con la API. Al final esas librerías pesan más y añaden más cosas de las que realmente necesito. Mi obsesión es esa: crear mis propias librerías con mis funcionalidades sencillas a las cuales les aplico los tests. Así no tengo preocupaciones cuando haya una actualización, que me perjudique en mi código.

¿Qué tipo de formación consideras que es la más apropiada para ser un gran ingeniero o desarrollador iOS?

Para ser ingeniero de desarrollo de aplicaciones móviles, sobre todo para la parte de iOS, es muy interesante conocer, que existen herramientas que puedes encontrar en Internet. Desde libros, vídeos, cursos, hay muchas plataformas que te ofrecen estos cursos. La UNED por ejemplo, tiene varios cursos interesantes en esta área de iOS. Hay blogs de muchas personas interesantes, en este mundo del desarrollo para iOS. Sobretodo a mí me encanta, libros más técnicos sobre Programación Orientada a Protocolos, RxSwift y TDD. Estos libros al final te ayudan a evolucionar, a estar presente sobre estás áreas que todavía no están cubiertas en muchos vídeos. A mí, básicamente, los libros son lo que más me ha ayudado a crecer, sobretodo el tema de tenerlo escrito, te ayuda más en el inglés, que es una cosa muy importante para el mundo del desarrollo en iOS, y en el desarrollo en general. Eso te ayuda a ti, a que tu código tenga esa fluidez técnica. Para que puedas básicamente, ser bastante bueno, tanto como el que ha escrito el libro. Básicamente eso, no parar de estudiar, de crecer, de ver vídeos, de tener siempre esas inquietudes. Y cosa nueva que salga, Swift 4.2, Swift 5, pues siempre investigar un poquito. Cuales son las novedades que van a salir y emplearlas. Usar un PlayGround, jugar con ello, ver cómo era antes, ver cómo es después. Siempre estar a la última.

¿Qué otras cosas son interesantes de ver en Madrid?

Que te voy a decir, Madrid, la verdad que es muy interesante. Yo vengo de Canarias, tengo playa, tengo sol, allí la gente es muy sociable. Y aquí en Madrid, al final haces piña con tu grupo de trabajo, y vas creando muchos grupitos. Hay muchísima gente en Madrid, diferentes culturas, la verdad que lo hace muy interesante. Luego sino te gusta la ciudad, como a mí, te vas al campo. En la sierra, tienes muchísimas actividades. Hay senderos infinitos con fauna y flora increíbles. A mí me gusta mucho hacer fotografías. En una de las salidas que hice, me encontré cincuenta buitres volando sobre mi cabeza, la verdad que es impresionante. Así que, si te gusta el deporte, las actividades al aire libre o el ciclismo, la sierra de Madrid es un punto muy interesante para descubrir. No centrarte siempre en lo que ve la gente que es la ciudad, así que si vienes a Madrid, yo te invito a visitar la sierra también.

Muchas gracias Carmelo por todo lo que has compartido. Te lo agradezco muchísimo porque todos los consejos que has dado son muy útiles para toda persona el que tiene el objetivo de crear grandes aplicaciones iOS. Además, de estar en la élite de una de las profesiones con más demanda y entre las mejores pagadas en el mundo de las nuevas tecnologías. Espero que hayas disfrutado tanto como yo de esta entrevista a Carmelo y recuerda que si sigues sus buenos consejos tu podrás ser un gran desarrollador o desarrolladora iOS con Swift.

TITULO DE EXPERTO UNIVERSITARIO. Innovación usando la tecnología iOS con programación Swift: Proyectos Europeos.

TITULO DE EXPERTO PROFESIONAL. Desarrollo Profesional de Aplicaciones iOS con Swift para Dispositivos Móviles.

PROGRAMACIÓN SWIFT Y SUS NUEVOS PARADIGMAS. Certificado de Enseñanza Abierta.

DESARROLLADOR DE ELEMENTOS iOS. Certificado de Enseñanza Abierta.