Zady Parra llegó a Zenta como un practicante en Desarrollo. Siete años después se convirtió en el líder de esa área. Siempre aprendiendo y actualizando sus conocimientos, Zady cubre muchas áreas de la programación, aunque su fuerte es el mundo móvil. Sobre este tema nos cuenta un poco más.
ZentaGroup: ¿Cuál es el proceso previo antes del desarrollo de una aplicación?
Zady Parra : Hay que conocer el lenguaje y los requisitos del cliente. Existen varios lenguajes, aparecieron si es para Android, iOS o si es para ambos. Algo a considerar es si el cliente está dispuesto a invertir en una aplicación híbrida o nativa. Al comenzar, se debe hacer una entrevista al cliente para entender sus expectativas y definir el alcance del proyecto.
Si es una aplicación, que funcionará tanto para el mundo iOS como Android, y el cliente no cuenta con muchos recursos para invertir, ofrecemos una alternativa híbrida. Cuando el capital de inversión es más elevado, podemos desarrollar una aplicación nativa, esta es más robusta, tiene mejores resultados en torno a un rendimiento y con una mejor experiencia de usuario adaptada al sistema operativo.
ZG: ¿A qué te refieres con nativo?
ZP : Me refiero al lenguaje que utilizamos para desarrollar la aplicación, en Android se utiliza Kotlin y Java, en iOs se usa Swift. Nativo significa que es un lenguaje de programación diseñado para ese sistema operativo en particular, de esta forma el dispositivo lo reconoce y compila de forma nativa.
ZG: ¿Se sigue trabajando con Java? ¿Es recomendable?
ZP : No mucho, se sigue usando, sin embargo Kotlin, que es un lenguaje nuevo, es mucho más robusto, fresco, además tiene mejores resultados en relación al rendimiento de los dispositivos.
ZG: Para desarrollar una aplicación, ¿qué tipo de equipamiento necesita?
ZP : Al desarrollar para Android puedes utilizar un equipo que cuenta con Windows o Linux, incluso puede ser un Mac. En cambio cuando desarrollas de forma nativa en iOs tienes más restricciones, debes ser un Mac. En el caso de aplicaciones híbridas, no se requiere un equipo específico, pero al momento de compilar y subir la aplicación a App Store, se utilizará un Mac.
ZG: Además del computador, ¿con qué equipo humano desarrolla las aplicaciones?
ZP: Desarrollo con un equipo altamente capacitado con conocimientos en programación. Deben manejar Java, Kotlin, Swift, tener en cuenta la base y los fundamentos de programación, en todos los lenguajes, esto también aplica para desarrollo web. Algo que es muy importante es que el equipo se capacite, se especialice y estudie constantemente.
ZG: ¿También trabajas con UX/UI?
ZP: Si, siempre es bueno trabajar con ellos, ya que son especialistas en temas de usabilidad y diseño de interfaz. Realizan test de usuarios, estudios de mercado, entre otras cosas. Se encargan de hacer que el usuario final tenga una buena experiencia al momento de utilizar el aplicativo, de diseñar a medida de sus necesidades.
ZG: Existe mucha autoformación en el rubro. ¿Cómo se valora y gestiona esto desde una posición de liderazgo?
ZP: Hay que estar siempre estudiando, constantemente salen nuevas versiones de los lenguajes que usamos, y debemos saber cuales son las nuevas funcionalidades y los cambios que se hicieron. Dentro del área se da mucho el trabajo de equipo, siempre se van nutriendo entre sí. Si una persona no sabe algo, el equipo lo apoya y comparten conocimientos. Como líder mi deber es hacer que eso pase, apoyarlos, estar ahí si necesitan algo.
ZG: Aparte de Desarrollo y otras habilidades técnicas, ¿qué conocimientos se aplican al desarrollar una aplicación?
ZP: Al comienzo es fundamental conocer los requerimientos del cliente y saber con cuanto capital cuenta, así se le ofrece una alternativa adaptada a él. Depende de muchos aspectos, siempre queremos trabajar con el último lenguaje y tratar de implementar las mejores versiones. Para iniciar el desarrollo de una aplicación primero tienes que saber la necesidad y el dolor del cliente, así ofreces un “traje a la medida”.
ZG: Aquí se trabaja con metodología ágil, ¿cómo se aplica eso al desarrollo de una app?
ZP: La gran mayoría nos solicita trabajar con esta metodología. ¿Cómo se hace con el cliente? Se aplican las ceremonias como puede ser una planning, dailys, retroalimentación, entre otras. Se va trabajando día a día en conjunto.
Nos reunimos constantemente con el cliente, mostramos avances. Revisamos las modificaciones a realizar, estas se agregan al backlog (listado de pendientes) y luego se priorizan en la planning del siguiente sprint.
ZG: ¿En qué consiste tu papel como líder de Desarrollo?
ZP: Hacer que el proyecto salga en la fecha acordada, gestionar, apoyar al equipo, hablar con el cliente, tomar sus requerimientos, entender su necesidad y dificultades. Después traspasar eso al equipo, para que ellos puedan plasmar las necesidades del cliente en el aplicativo.. El líder no debería desarrollar, pero hay algunos que lo hacen como apoyo. Además, hay que estudiar, para implementar las últimas tecnologías. La idea es que el proyecto salga siempre bien, unido, con el equipo apoyándose entre sí. Si tú fallas, el equipo falla y viceversa.
ZG: ¿Cuál ha sido el mayor desafío que has tenido que enfrentar en un proyecto de app mobile?
ZP: Cuando llegué a hacer la práctica, existía Windows Mobile, con una PDA. Se programaba en C#, ese sistema operativo ya murió. Fue mi gran desafío porque no conocía el lenguaje, por la práctica, y porque no era fácil.. Tenía que hacer un aplicativo para una aerolínea, que pudiera gestionar la carga de los aviones y todo el sistema de gestión de estas. Cuando en el aeropuerto envías un producto, todo el proceso se gestionaba desde esta aplicación.
Lo superé con éxito, me apoyó mucho Rodrigo Manríquez -actual Subgerente de Desarrollo- que en ese tiempo era desarrollador, y Adolfo Gómez -Gerente General de Zenta- que también desarrollaba y gestionaba en esos tiempos. Fue un proyecto largo, de dos o tres años, ahí me enamoré del tema mobile. Fue el reto para aprobar la práctica, continué en Zenta y conocí muchas tecnologías nuevas.
ZG: Como líder de Desarrollo con varios años dentro de Zenta, ¿qué consejo le darías a una persona que quiera empezar a estudiar en esta área?
ZP: Hay que estudiar, hay muchos cursos en plataformas como Udemy y Platzi, capacitaciones, incluso si no puedes pagar hay tutoriales gratuitos en Youtube, estos te ayudan a conocer el lenguaje y ver si te gusta realmente. Si te gusta, tómalos y simplemente hazlo.
Yo empecé a programar en Android, vi tutoriales en YouTube. Después de que comencé a perfeccionar, e hice un curso presencial. Cuando uno va avanzando, conociendo el lenguaje y la estructura, ya puede desarrollar.