Siguiendo con la serie de entrevistas a desarrolladores, hoy os traemos la entrevista a Jorge Barroso (cofundador y experto en Android en Karumi) y Pedro Gómez (desarrollador móvil senior en Karumi). Sus trayectorias profesionales se cruzaron cuando estuvieron en el equipo de desarrollo de Tuenti, y de ahí ya montaron Karumi, un estudio de desarrollo con especial foco en apps para móvil. En la primera parte de la entrevista, como de costumbre, hacemos un primer acercamiento a la informática. En este caso hablamos sobre la carrera y se destaca el hecho de que la carrera no sólo te enseña programación. En la segunda parte entramos en materia al respecto de la etapa en Tuenti y ahora en Karumi. Interesante el caso de Tuenti, que ya por entonces tenían una cultura de empresa y organización de equipos envidiable a día de hoy. También destacable el trabajo que hacen en Karumi, y la constancia, ¡ya llevan 3 años!
Desglose de la entrevista
1:30 La carrera de informática
- Hice la carrera de informática porque de pequeño quería hacer videojuegos.
- La carrera no es el mundo real, pero es un mundo por el que tienes que pasar.
- La gente habla de la carrera de informática como si fuera programación, pero hay muchas otras cosas (redes, sistemas operativos, hardware…).
- Se puede ser un gran programador a pesar de no tener la carrera.
- La universidad tiene que ser académica, genérica.
7:42 Side-projects
- Cuando entré en Tuenti, entré como associate. En esa fase tienes que estudiar y publicar mucho.
9:50 Google Developer Expert
- Es un reconocimiento que da Google a quien aporta a la comunidad.
- El año pasado Jorge dio 52 charlas.
- Google te apoya a nivel técnico (acceso a betas, hablar con ingenieros) y económico (viajes a conferencias).
12:30 Tuenti
- Sólo el 1-2% de los candidatos pasaban el proceso de selección.
- Llegamos a ser más de 100 personas en el area de tecnología.
- Había un sólo equipo de Android, y se hizo una división por verticales de producto. Eramos capaces de contar los ingenieros multiplicando por 8 el número de Product Managers.
- Cuando entré en Tuenti Android no existía. 2 años después habíamos superado a Web en usuarios diarios.
- Hubieron 2 decisiones acertadas: Dividir los equipos en verticales, y deshacer los equipos en tecnología.
- Había gente que era experta en Android por ejemplo, pero podía coger el código de iOS. Esto fomentaba la autonomía.
- Recuerdo al CEO de Tuenti llamando a usuarios para pedirles su contraseña. Al final descubrimos el bug con el encoding de la base de datos.
30:45 Karumi
- Somos 5 desarrolladores y 1 persona de negocio.
- Los 5 desarrolladores hemos pasado por Tuneti (Tuenti Mafia).
- Estaba cansado de trabajar en el mismo producto. Llegó un momento que no sabía cómo se montaba un proyecto desde 0.
- Queríamos hacer producto pero todas las ideas que se nos ocurrían nos parecían una mierda.
- No vamos a competir en precio, vamos a competir en calidad.
- Hacemos trainings, consultoría, nos integramos con equipos de desarrollo, y hacemos producto propio y Open Source.
- Nos pusimos a hacer Open Source y en un año nos metimos en el top 100 a nivel mundial de Java.
43:10 FlowUp
- Es una herramienta de monitorización de aplicaciones móviles en producción
- Es un SDK que se inicializa en 1 línea y te saca un montón de datos ().
- Con esta herramienta pudimos analizar el rendimiento de la aplicación de Twitter y ver qué Activity tenía un frame rate inferior.
- Es una aplicación que va bien para analizar lo que
- El principal competidor es NewRelic, pero están muy centrados en analizar las requests. Nosotros estamos centrados en aspectos más amplios.
49:00 Type classes
- Pregunta de Juanma Serrano: ¿Type Classes en Orientación a objetos para cuándo?
- Kotlin no es funcional, ni se acerca, pero mucho mejor que Java.
- No tiene sentido desarrollar una aplicación de Android en Scala por los tiempos de compilación y la poca comunidad de desarrolladores.
- El soporte a Type Classes en Orientación a Objetos no va a llegar a Android ni con Java8, ni con Kotlin. El problema es que el lenguaje necesita dar soporte a Higher order Kinds.