Entrevistamos a los desarrolladores detrás de Karumi: "Lo que más nos motiva es hacer software del que nos sintamos orgullosos"

Entrevistamos a los desarrolladores detrás de Karumi: "Lo que más nos motiva es hacer software del que nos sintamos orgullosos"
Sin comentarios Facebook Twitter Flipboard E-mail

No hay evento que se precie que no cuente con una charla presentada por algún miembro de Karumi. Entre ellos suman más de 50 charlas durante todo el 2016. Más de cuatro años de andadura de este pequeño "Rock Solid Studio" cuyo objetivo es hacer el mejor software posible y ayudar a numerosos ingenieros a mejorar su trabajo. En definitiva: hacer software del que sentirse orgullosos.

Son extremadamente exigentes con su trabajo y con ellos mismos, algo que transmiten a cualquiera que haya trabajado con ellos. Lo cual se demuestran en los productos que han ayudado a crear y a mejorar.

Repasamos en esta entrevista cómo surgió Karumi a partir de su vivencias en otras startups, cuál es su filosofía de trabajo que les sigue haciéndo sentir orgullosos, cómo ayudan a las empresas con las que han trabajado a construir mejor software, cómo ven el panorama de desarrollo y, hablamos también sobre sus numerosos proyectos software. Sin olvidarnos de su reciente lanzamiento, Flowup una plataforma de monitorización de aplicaciones móviles.

¿De dónde surgió Karumi? ¿Qué os llevó a cambiar de trabajo y fundar Karumi?

"Todos teníamos claro que queríamos trabajar bien, hacer software del que nos sintiéramos orgullosos y evitar todos los problemas que habíamos vivido en el pasado, en las empresas por las cuales pasamos"

Hace casi 4 años que 5 amigos nos sentamos en la cafetería de La Central en Callao, allí tomándonos un café conocimos a Irene, los 6 teníamos una idea en común, creíamos que era el momento de lanzarnos a la piscina, el momento de dar un paso hacía la incertidumbre de trabajar en nuestra propia empresa. Así nació lo que durante meses nos referíamos como “La Central Project”.

En aquellas primeras conversaciones entre divagaciones sobre el estado del software y aplicaciones en común hablábamos de que queríamos hacer y dónde queríamos ir, todos teníamos claro que queríamos trabajar bien, hacer software del que nos sintiéramos orgullosos y evitar todos los problemas que habíamos vivido en el pasado, en las empresas por las cuales pasamos.

Los 5 veníamos de Tuenti e Irene formaba por aquel entonces parte de Wayra. A todos nos gustaba la idea de montar la empresa en la línea de BlackPixel o 37 signals, creíamos que podíamos encajar muy bien en esa línea, una empresa que hiciera software de calidad y que pudiera resolver problemas difíciles que tienen las empresas, además si por el camino encontrábamos un producto interesante que pudiéramos hacer, ir a por ello. Con estas premisas nace "Rock Solid Studio".

De ese grupo de 6 iniciales por devenires de la vida, nos quedamos al final Alberto Gragera, Davide Mendolia, Jorge Juan Barroso e Irene Herranz.

Oficinas de Karumi

¿Cuantos desarrolladores sois actualmente y qué tecnología usáis?

Pues el equipo de Karumi está compuesto por siete personas. Siete de las mejores personas que hemos podido reunir para formar un equipo excelente: Davide Mendolia, Alberto Gragera, Jorge Barroso, Irene Herranz, Sergio Gutierrez, Fran Fernández y Pedro Gómez.

Trabajamos sobretodo en Android, iOS y backend. Y no nos da miedo tocar cualquier cosa, aunque nuestra mayor experiencia es Java, Swift y Python, también tocamos cosas con Scala, Clojure o Javascript nos encanta hacer cosas nuevas y movernos fuera de nuestra zona de confort.

¿Cómo es un día cualquiera en la oficina de Karumi?

"La cultura y la filosofía de la empresa es lo que hacemos todos los días y no lo que decimos que hacemos". Davide Mendiola, founder de Karumi

Pues es un poco locura, porque no hay un día arquetipo, porque a veces estamos en casa, otra veces en Londres u otras en el nuestras ciudades natales. Es raro el día que estamos todos en la oficina. Pero puede ser llegar por la mañana, charlar un poco con los compis de cualquier chorrada, coger un café o un maxibon, programar mientras que alguien pone música (a Pedro le encanta ponernos M Clan) comer en el salón y luego echarnos un FIFA o una partida a la arcade. Y vuelta al currar. Intentamos que el ambiente sea distendido y podamos trabajar lo más cómodamente posible.

¿Tenéis algún manifesto Karumi? ¿Cuáles son vuestros principios fundamentales en vuestra cultura de trabajo?

En Karumi no creemos en colgar un manifesto en la pared para poder señalarlo cuando queramos, creemos que la cultura y la filosofía de la empresa es lo que hacemos todos los días y no lo que decimos que hacemos. Cuando montamos la empresa pensamos en cinco pilares sobre los cuales apoyar el trabajo de Karumi y que nos sirvieran como guía para el devenir de la empresa.

  • El primero que decidimos fue que somos una empresa que trabaja en remoto, cuando hablamos sobre esto, no quería decir que no tuviéramos oficina, la tenemos y nos encanta, si no que confiamos en el trabajo de cada uno de nosotros y lo mismo con nuestros empleados. La idea es que cada uno gestiona su tiempo, para lo cual si alguien quiere trabajar desde su casa, su pueblo o de madrugada, él decide, lo importante es que el trabajo esté bien hecho y que se trabaje respetando las necesidades del cliente. Nos parece importantísimo dar esa libertad a los trabajadores, creemos que tratar a los trabajadores como personas responsables debe ser principal para una empresa. Además todo sabemos quien trabaja y quien no, solo hace falta mirar sus contribuciones a los repositorios de código.

  • Apostar por la comunidad y el open source. Todos creemos que es bueno demostrar que podemos ayudar a hacer mejor software y aprender a hacer mejor software, para ello debemos ser activos en las comunidades e intentar ayudar en la medida de lo posible.

"El software se tarda en hacer lo que se tarda en hacer". Jorge Barroso, Founder de Karumi

  • Ser honestos. Esto es innegociable, somos honestos, hay clientes que se asombran porque les decimos que no, que no a trabajar con ellos, no a los tiempos de desarrollo, o no porque no tenemos la experiencia suficiente para hacer un proyecto. Creemos que debemos decir siempre la verdad, que preferimos perder un cliente antes de tener un cliente descontento, no mentir en los tiempos de desarrollo, el software se tarda en hacer lo que se tarda en hacer, y tardar menos tiempo o es imposible o se resentirá la calidad. Una de las decisiones que tomamos era no tener comerciales, son los ingenieros los que hablan directamente con las empresas, ellos saben estimar, saben lo que se puede o no puede hacer, además ni su salario depende de lo que vendan, ni tiene que quedar bien con nadie.

"Uno de los valores fundamentales de la empresa son los miembros del equipo que la forman. Desde los empleados hasta los fundadores todos trabajamos muy duro para hacer de Karumi una empresa de la que nos sintamos orgullosos". Pedro Gómez

  • Ser un equipo pequeño. Esta es la decisión con la que estamos más contentos. Cuando le decimos a la gente esto, nos dicen que no escala, que ese modelo no nos hará nunca millonarios, pero a día de hoy creemos que cuidar al cliente y ofrecer calidad está muy asociado al tamaño del equipo y es lo que queremos seguir haciendo. El equipo crecerá, pero todo a su debido tiempo. Vendemos calidad, software bien hecho, hace falta ser bueno y tener experiencia para hacer buen software y contratar buena gente no es ya que sea caro sino que además es difícil. Si eres una consultora que trabaja para terceros es más difícil aún. Pero estamos convencidos de ello, todos los trabajadores de Karumi hablan con la misma voz, el mismo mensaje y eso necesita tiempo para asimilar los conceptos que ofrecemos y no podemos transmitir el mensaje a mucha gente a la vez.

  • Escribir buen software. Intentamos escribir el mejor software que somos capaces, aplicar las reglas del buen diseño de software, escribir test, aplicar los principios SOLID, y sobre todo ser pragmáticos. Esto para nosotros es muy importante que las cosas funcionen bien pero que el código sea robusto, legible y mantenible.

Hablando de cuando estáis negociando si aceptar un nuevo proyecto ¿Qué es lo que más valoráis del cliente que os quiere contratar?

"El equipo crecerá, pero todo a su debido tiempo. Vendemos calidad, software bien hecho, hace falta ser bueno y tener experiencia para hacer buen software y contratar buena gente no es ya que sea caro sino que además es difícil"

Mucha gente tiene la percepción de que somos un grupo elitista que elige con quién trabaja y que solo lo hacemos con quien nos gusta. Y nada más lejos de la realidad, intentamos trabajar con gente que quiera trabajar con nosotros y que valore nuestro trabajo.

Es cierto que tenemos cierta líneas rojas que no queremos cruzar y compañías con las que no estaríamos de acuerdo de forma ética. Valoramos muchos a los miembros de Karumi y siempre queremos que estén contentos en el trabajo del día a día. Nuestros empleados, nuestro equipo son nuestro principal valor, donde radica el valor de la compañía.

Karumi Homepage

¿Qué proyectos y trabajos habéis realizado hasta la fecha?

Hemos tenido la suerte de trabajar con grandes y pequeños equipos. Uno de los primeros proyectos que recordamos con mucho cariño es cuando ayudamos a desarrollar parte de software de Blackphone un teléfono basado en la privacidad, el reto técnico fue mayúsculo y nos dio la oportunidad de trabajar codo con codo con gente muy top del mundo de la seguridad.

También hemos tenido la oportunidad de trabajar como parte de los equipos de Schibsted (dueños de la mayoría de empresas relacionadas con anuncios clasificados en Europa), Jobandtalent (uno de los mayores portales de empleo en España), Wallapop o Trinity Mirror. Intentando mejorar su día a día, donde además de aportar nuestro grano de arena al desarrollo del producto y evolución de los equipos intentamos mejorar su código. Hemos aprendido mucho en estos proyectos colaborando con algunos de los mejores ingenieros del sector.

Habéis colaborado con algunas startups española ¿Cómo es la experiencia de trabajar con equipos de trabajo ya formados?

"Intentamos mejorar los equipos desde dentro, somos un miembro más del equipo, un compañero que viene a echarte una mano e intenta mejorar y aportar"

Intentamos mejorar los equipos desde dentro, somos un miembro más del equipo, un compañero que viene a echarte una mano e intenta mejorar y aportar. Analizamos los problemas de los equipos, sus necesidades, sus miedos y sus manías, también vemos sus bondades, sus fuertes y conocer a las personas. Una vez que tenemos una fotografía general del equipo trabajamos en reforzar los puntos donde los vemos más flojos y explotar sus fortalezas. Cada equipo es un mundo e intentamos dar lo mejor de nosotros mismos y aportar el máximo de valor, para que cuando nos vayamos el mensaje que ofrecemos haya calado. Para otros proyectos no existe un equipo con el que colaborar por lo que nos centramos en desarrollar el mejor producto posible.

¿Cómo les ayudáis a construir mejor software?

De distintas maneras, por un lado de la forma más tradicional, a través de charlas o katas que hacemos con ellos. Pero también lo hacemos de una forma más cercana y enfocada a sus problemas a través pair programing o otras técnicas de extreme programming, revisando pull request, o predicando con el ejemplo. Creemos que predicar con el ejemplo es uno de los pilares fundamentales en nuestras colaboraciones. Solemos coger tareas de los equipos y desarrollarlas a la vez que hacemos pequeños refactors para mejorar el código y vamos metiendo cultura de tests si no existiera.

¿Cuáles son los principales errores que os soléis encontrar en las empresas donde habéis estado colaborando?

El miedo a escribir tests por desconocimiento y tener bases de código que no son testables. Tener mucho código duplicado, esto además afecta a la velocidad de los equipos ya que cualquier cambios influye a tocar mucho código.

También nos encontramos mucho con clases grandes que tienen mucha funcionalidad y hace que sea difícil de leer ya que hace más de lo que dicen que hacen. Le damos mucho valor a la semántica del código.

Si una startup os contratará ahora mismo para montar el andamiaje de su primera app, ¿Por donde empezarías a construirlo? ¿Cuáles son los pilares fundamentales?

Pues lo primero es responder a sus necesidades de negocio, hacer bien el core de lo que va a ser la aplicación, ser pragmáticos, no hacer optimizaciones prematuras o programar cosas por los “por si acaso...”, y los “en un futuro...”. Y lo que hagamos que esté bien hecho y las partes importantes bien probadas y cubiertas de tests.

¿Cómo veis el panorama de desarrollo en España?

A nivel de comunidad cada vez está más maduro, hay un montón de buenos desarrolladores que son también buenas personas. La comunidad está centrada en compartir conocimiento y esto puede observarse en todos y cada uno de los eventos que se organizan en España.

A nivel de empresas aunque está lejos de ser Berlín, Londres o París, la cosa no está mal y creo que va mejorando, hay startups que están haciendo un buen trabajo y que van en muy buena dirección como la gente de Carto que están que se salen y nos encanta que sea un equipo de aquí formado por amigos. Y la llegada de empresas grandes como Amazon también harán que se cree un mejor clima, o eso esperamos.

En casi cualquier evento de referencia os vemos dando alguna charla ¿Cuáles son las principales motivaciones para estar presentes en la comunidad?

"Este año hemos esponsorizado eventos muy interesantes como el ExFest, el Freakend y participado como speakers en eventos internacionales como NSSpain, Droidcon, Devfest o MobiConf"

Creemos que compartir conocimiento y conocer gente nueva es algo que enriquece a todo el equipo y a la empresa en general. Es algo que nos gusta y nos motiva. Participar en eventos nacionales e internacionales como speakers o sponsors también nos abre muchas puertas. Este año hemos esponsorizado eventos muy interesantes como el ExFest y el Freakend y participado como speakers en eventos internacionales como NSSpain, Droidcon, Devfest o MobiConf. En total hemos dado más de cincuenta charlas en un año si contamos todas las conferencias de los miembros del equipo.

Poca gente no ha usado algunas de vuestras librerías, Rosie Framework o Dexter son buena prueba de ello. ¿Cómo creáis y manteneis todo el open source que generais?

Pues intentamos sacar tiempo debajo de las piedras o entre proyectos para poder darle caña al open source. Entender que estos proyectos forman parte de los desarrollos que hacemos casi cada día es fundamental. También cada unos cuantos meses no cogemos proyectos para poder dedicar ese tiempo a nosotros mismos y hacer o mejorar el código que hacemos.

¿Cuál ha sido el proyecto Open Source que más alegrías os dado? ¿Cuál ha sido el más duro técnicamente? ¿De cuál os sentís más orgullosos? Creo que la respuesta a todo es Dexter, la verdad es que es un proyecto que nos encanta, que fue un reto técnico muy alto y que Sergio Gutierrez hizo un trabajo espectacular. Aunque también estamos muy orgullosos de otros proyectos como BothamUI, Rosie, AndroidAudit y todos los repos asociados a las katas que hemos diseñado y usamos en nuestras formaciones para mobile.

Flowup Dashboard
Dashboard de métricas de flowup, el producto interno en el que está trabajando Karumi actualmente.

¿Nos podés avanzar algunos de vuestros proyectos internos más próximos

FlowUp es ahora mismo dónde estamos enfocados a nivel interno. Durante dos meses hemos estado trabajando en el proyecto más ambicioso de la compañía y justo la primera semana de diciembre salió la primera beta pública del proyecto. FlowUp es una plataforma de monitorización de aplicaciones para mobile que esperemos ayude muchos ingenieros a poder crear las mejores aplicaciones posibles.

Sitio web | Karumi

Comentarios cerrados
Inicio