Fabien nos cuenta su experiencia en desarrollo web con Sport Heroes

Publicado en 14 diciembre 2020

Hora de lectura 7 minutos

Hola Fabien, ¿podrías presentarte brevemente?

¡Hola! Soy un ex-Wilder de 2019 ubicado en Reims. Antes de mi formación, ya no disfrutaba mi curro anterior, pero gracias a la Wild Code School tuve la oportunidad de hacer un trabajo que realmente me gusta. Soy fanático de deportes y ahora tengo la suerte de poder trabajar para una empresa relacionada con ese ámbito. Además, es genial poder correr con mis colegas :).


¿Cuál ha sido tu trayectoria antes de empezar tu formación en la Wild Code School en Reims? ¿por qué has decidido inscribirte en esa formación?

Antes de iniciar esa formación, trabajé como diseñador gráfico durante 5 años. Había estudiado 3 años en Namur para adquirir las competencias necesarias. Sin embargo, resulta que es un mercado muy atascado y no tenía la misma visión del grafismo que la empresa en la que trabajaba. Por lo que me sentía bastante restringido.

Por esa razón, aparte de mi trabajo realizaba uno que otro proyecto, para mi y para unas asociaciones. Algunos consistían exclusivamente en grafismo, mientras otros eran más orientados hacía diseño y desarrollo web. Afortunadamente, podía apañármelas gracias a las bases que aprendí durante mi formación en diseño gráfico, combinadas con unos tutoriales en internet. Pero me sentía un poco como un impostor en el mercado laboral.

En ese momento, descubrí la Wild Code School. Primero, mis conocimientos ya no eran al día. Aún me servían, pero nuevos lenguajes ya habían emergido. Por otro lado, no tenía ni idea de las herramientas de desarrollo que utilizaban las empresas. Se me viene a la mente el sistema Git, que probablemente les dará guerra a varias personas al principio, pero que en la actualidad es casi indispensable en una empresa para tener credibilidad.

Es una formación que incluye mucha práctica. Y eso era muy importante para mi porque creo que es la mejor manera de asimilar las cosas. Además, también incluye proyectos de tamaño grande, así que las condiciones son muy parecidas a las de una empresa real. Adicionalmente, la incorporación de componentes organizacionales como los dailies y la metodología SCRUM hace que nos sentimos casi como en una startup. Por lo cual no me sentí desorientado al momento de empezar mi práctica.


Tras tu formación, llegaste a ser desarrollador para Sport Heroes, ¿nos puedes aclarar que ofrece la empresa?

Sport Heroes ofrece una solución ScuS (software como un servicio) cuyo propósito es de motivar la gente a hacer deporte (¡y hacerla feliz!). Se puede usar en varios contextos:

  • En B2C mediante marca propia (nuestras primeras comunidades, con Running Heroes, Cycling Heroes y Swimming Heroes) 
  • En B2B (United Heroes, una solución de bienestar corporativo que moviliza los colegas utilizando la marca de la empresa)
  • Mediante marca blanca (es decir para marcas bien implantadas que quieren impulsar su imagen, formando y animando una comunidad de deportistas; por ejemplo, es el caso de IRONMAN Virtual Club o del Club Paris 2024).

Colaboramos con varios proveedores (relojes conectados, aplicaciones de tracking). Eso nos permite monitorizar la actividad del usuario (con su acuerdo por supuesto) y guardar esa información en la aplicación. Los datos de cada actividad se entregan al sistema backend e interactúan con algunos microservicios para actualizar varias pantallas. De esa manera, una vez una actividad completada, se pueden actualizar al mismo tiempo un reto, como una clasificación, y el perfil del usuario.

Eso es la esencia del sistema, y esas herramientas hacen posible reproducirlo en diferentes sitios web o aplicaciones. Se pueden activar distintas funciones y repetir el proceso tomando en cuenta las necesidades del cliente o del usuario. Por ejemplo, algunas plataformas van a requerir una pantalla de clasificación, mientras para otras una pantalla con premios será más adaptada, o tal vez exigirán una función de rastreo de los pasos del usuario.

El código se puede usar para cada una de las aplicaciones, pero se puede activar o desactivar un componente sin problemas.


¿Cuáles son sus retos y metas para el futuro?

Queremos sobre todo promover el deporte y el bienestar corporativo. También queremos orientar nuestras comunidades hacia un público más general. Así, alcanzaremos mas gente y podremos apoyar los usuarios en su práctica deportiva, motivándolos, retándolos y a veces recompensándolos :).


¿Cuál es tu función específicamente?

Yo integré el equipo «app», entonces trabajo principalmente en React Native. Gran parte de mi función consiste en transcribir una necesidad en código, visual o funcionalmente. Sin embargo, no se trata solamente de escribir un código, ya que somos un equipo y la comunicación es importante. Entonces, hay que comentar y documentar cada parte del código. Además, es fundamental vigilar los reportes de errores para poder hacer correcciones inmediatamente. 

En virtud de mi experiencia anterior, me gusta aportar una perspectiva gráfica. 

Desarrollamos aplicaciones nativas, y eso hace la particularidad, pero también la complejidad, de nuestro trabajo. En efecto, son aplicaciones tanto para iOS como para Android, y para poder distribuirlas hay que actuar sobre los archivos propios de esos sistemas.


¿Nos puedes describir tu entorno de trabajo?, ¿cómo se compone tu equipo?

En París, el entorno era muy agradable. Trabajamos en espacio abierto, agrupados por BU (business unit). Había varias salas de juntas, un espacio para relajar con una mesa de Paper-Pong, sofás, máquinas de café… 

Es una empresa de aproximadamente 70 empleados, pero el equipo Tec/Producto del que soy parte está compuesto por unas veinte personas, y está dividido en especializaciones. El backend colecta/procesa los datos y los reparte entre los microservicios. Los del Front Web y Front App plasman esa información. Los de la parte Producto reflexionan sobre las nuevas funciones, generan los tickets y comunican las mejoras a los demás miembros de la empresa. Y finalmente, la parte Soporte se encarga de la retroalimentación del usuario, genera tickets de errores, etc.

Aún así son muchas personas, entonces somos agrupados en 2 escuadrones que avanzan en paralelo. Cada escuadrón es «piloteado» por un director de proyecto, e incluye por lo menos un desarrollador backend encargado del motor y unos desarrolladores de Apps o Web trabajando juntos en la carrocería ;).


¿Con qué tecnologías tienes la oportunidad de codificar?

Codifico principalmente en React Native. En algunos casos codifico en TypeScript, y para generar testing uso Jest.

Es necesario tener conocimientos en MongoDB por que a veces hay que echarle un ojo a la base de datos.

Y, como para todas las aplicaciones nativas, hay que saber leer el código en Swift (iOS) o en Java (Android).


¿Qué cosas de las que has aprendido en la Wild Code School te han servido más?

Toda la dimensión técnica acerca de React obviamente ha sido muy importante. Ahora bien, de un punto de vista profesional, diría que lo que me ha aportado más es el aspecto «simulación de situación en una empresa». El conocimiento se adquiere con el tiempo y uno siempre tiene que renovarse, pero creo que es esencial sentirse seguro y confiado en las interacciones dentro de una empresa.


Volviendo a ti, ¿cómo ves evolucionar tu carrera?

Todavía es muy temprano para mi para pensar en evolucionar. Por el momento, mi objetivo es acumular el máximo de experiencia posible. Hay oportunidades de evolucionar internamente en Sport Heroes, así que ya veremos las posibilidades en el momento oportuno en función de mis ganas. Ya se han visto ejemplos de desarrolladores evolucionando hacia un puesto de director de proyecto o gerente…


¡Gracias por todas tus respuestas! ¿alguna última palabra para los Wilders?

Stay Wild ;). A veces, el camino es complicado, pero a final de cuentas, es una profesión fascinante con oportunidades de desempeñarse en diferentes ámbitos. Es realmente estimulante y gratificante siempre estar evolucionando.


Aprende más sobre la formación en desarrollo web seguida por Fabien.