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

No hay acontecimiento que se precie que no cuente con una charla presentada por algún miembro de Karumi. Entre ellos suman más de cincuenta hablas a lo largo de todo el dos mil dieciseis. Más de 4 años de andanza de este pequeño Rock Solid Studio cuyo objetivo es hacer el mejor software posible y asistir a abundantes ingenieros a progresar su trabajo. En definitiva: hacer software del que sentirse orgullosos.

Son exageradamente exigentes con su trabajo y con ellos mismos, algo que transmiten a cualquiera que haya trabajado con ellos. Lo que se prueban en los productos que han ayudado a crear y a prosperar.

Repasamos en esta entrevista de qué manera brotó Karumi desde su experiencias en otras start-ups, cuál es su filosofía de trabajo que les prosigue haciéndo sentir orgullosos, de qué manera asisten a las compañías con las que han trabajado a edificar mejor software, de qué forma ven el panorama de desarrollo y, charlamos asimismo sobre sus abundantes proyectos software. Sin olvidar su reciente lanzamiento, Flowup una plataforma de monitorización de aplicaciones móviles.

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

Todos teníamos claro que deseábamos trabajar bien, hacer software del que nos sintiésemos orgullosos y eludir todos y cada uno de los inconvenientes que habíamos vivido anteriormente, en las compañías por las que pasamos

Hace prácticamente cuatro años que cinco amigos nos sentamos en la cafetería de La Central en Callao, allá tomándonos un café conocimos a Irene, los seis teníamos una idea en común, pensábamos que era el instante de lanzarnos a la piscina, el instante de dar un paso hacía la inseguridad de trabajar en nuestra empresa. De esta manera nació lo que a lo largo de meses nos referíamos como “La Central Project”.

En aquellas primeras conversaciones entre divagaciones sobre el estado del software y aplicaciones en común charlábamos de que deseábamos hacer y dónde deseábamos ir, todos teníamos claro que deseábamos trabajar bien, hacer software del que nos sintiésemos orgullosos y eludir todos y cada uno de los inconvenientes que habíamos vivido anteriormente, en las compañías por las que pasamos.

Los cinco veníamos de Tuenti y también Irene formaba por aquel entonces una parte de Wayra. A todos nos agradaba la idea de montar la compañía en la línea de BlackPixel o bien treinta y siete signals, pensábamos que podíamos encajar realmente bien en esa línea, una compañía que hiciese software de calidad y que pudiese solucionar inconvenientes bastante difíciles que tienen las compañías, además de esto si por el camino hallábamos un producto interesante que pudiésemos hacer, ir a por esta razón. Con estas premisas nace Rock Solid Studio.

De ese conjunto de seis iniciales por devenires de la vida, nos quedamos al final Alberto Gragera, Davide Mendolia, Jorge Juan Barroso y también Irene Herranz.

¿Cuantos desarrolladores sois en nuestros días y qué tecnología empleáis?

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

Trabajamos sobretodo en Android, iOS y backend. Y no nos asusta tocar cualquier cosa, si bien nuestra mayor experiencia es Java, Swift y Python, asimismo tocamos cosas con Scala, Clojure o bien Javascript nos chifla hacer cosas nuevas y movernos fuera de nuestra zona de confort.

¿De qué forma es un día cualquiera en la oficina de Karumi?

La cultura y la filosofía de la compañía es lo que hacemos todos y cada uno de los días y no lo que afirmamos que hacemos. Davide Mendiola, founder de Karumi

Puesto que es un tanto insensatez, por el hecho de que no hay un día arquetipo, pues en ocasiones estamos en casa, otra veces en la ciudad de Londres o bien otras en el nuestras urbes natales. Es extraño el día que estamos todos en la oficina. Mas puede ser llegar por la mañana, conversar un tanto con los compis de cualquier chorrada, coger un café o bien un maxibon, programar al paso que alguien pone música (a Pedro le chifla ponernos M Clan) comer en el salón y después echarnos un FIFA o bien una partida a la arcade. Y vuelta al trabajar. Procuramos que el entorno sea relajado y podamos trabajar lo más de forma cómoda posible.

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

En Karumi no creemos en colgar un manifesto en la pared para poder señalarlo cuando deseemos, pensamos que la cultura y la filosofía de la compañía es lo que hacemos todos y cada uno de los días y no lo que afirmamos que hacemos. Cuando montamos la compañía pensamos en 5 pilares sobre los que respaldar el trabajo de Karumi y que nos sirviesen como guía para el devenir de la compañía.

El primero que decidimos fue que somos una compañía que trabaja en recóndito, cuando charlamos sobre esto, no deseaba decir que no tuviésemos oficina, la tenemos y nos chifla, si no que confiamos en el trabajo de cada uno de ellos de nosotros y lo mismo con nuestros empleados. La idea es que cada uno de ellos administra su tiempo, para lo que si alguien desea trabajar desde su casa, su pueblo o bien de madrugada, decide, lo esencial es que el trabajo esté bien hecho y que se trabaje respetando las necesidades del cliente del servicio. Nos semeja muy importante dar esa libertad a los trabajadores, pensamos que tratar a los trabajadores como personas responsables ha de ser primordial para una compañía. Además de esto 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 pensamos que es bueno probar que podemos asistir a hacer mejor software y aprender a hacer mejor software, para esto hemos de ser activos en las comunidades y también procurar asistir dentro de lo posible.

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

Ser francos. Esto es innegociable, somos sinceros, hay clientes del servicio que se sorprenden por el hecho de que les afirmamos que no, que no a trabajar con ellos, no a los tiempos de desarrollo, o bien no pues no tenemos la experiencia suficiente para hacer un proyecto. Pensamos que debemos decir siempre y en toda circunstancia la verdad, que preferimos perder un usuario ya antes de tener un usuario descontento, no engañar en los tiempos de desarrollo, el software se tarda en hacer lo que se tarda en hacer, y tardar menos tiempo o bien es imposible o bien se resentirá la calidad. Una de las resoluciones que tomamos era no tener comerciales, son los ingenieros los que charlan de forma directa con las compañías, saben querer, saben lo que se puede o bien no puede hacer, además de esto ni su sueldo depende de lo que vendan, ni debe quedar bien con absolutamente nadie.

Uno de los valores esenciales de la compañía son los miembros del equipo que la forman. Desde los empleados hasta los creadores todos trabajamos durísimo para hacer de Karumi una compañía de la que nos sintamos orgullosos. Pedro Gómez

Ser un equipo pequeño. Esta es la resolución con la que estamos más contentos. Cuando le afirmamos a la gente esto, nos afirman que no escala, que ese modelo no nos va a hacer jamás millonarios, mas hoy pensamos que cuidar del cliente del servicio y ofrecer calidad está muy asociado al tamaño del equipo y es lo que deseamos proseguir haciendo. El equipo medrará, mas 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 en tanto que sea costoso sino además de esto es bastante difícil. Si eres una asesora que trabaja para terceros es más bastante difícil todavía. Mas estamos persuadidos de ello, todos y cada uno de los trabajadores de Karumi charlan con exactamente la misma voz, exactamente el mismo mensaje y eso precisa tiempo para digerir los conceptos que ofrecemos y no podemos trasmitir el mensaje a bastante gente al unísono.
Redactar buen software. Procuramos redactar el mejor software que somos capaces, aplicar las reglas del buen diseño de software, redactar test, aplicar los principios SOLID, y sobre todo ser pragmáticos. Esto para nosotros es fundamental que las cosas funcionen bien mas que el código sea robusto, inteligible y mantenible.

Hablando de cuando negociáis si admitir un nuevo proyecto ¿Qué más valoráis del cliente del servicio que os quiere contratar?

El equipo medrará, mas 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 puesto que sea costoso sino además de esto es bastante difícil

Bastante gente tiene la percepción de que somos un conjunto elitista que escoge con quién trabaja y que solo lo hacemos con quien nos agrada. Y solamente lejos de la realidad, procuramos trabajar con gente que desee trabajar con nosotros y que valore nuestro trabajo.

Es verdad que tenemos cierta líneas rojas que no deseamos cruzar y compañías con las que no estaríamos conforme de forma moral. Valoramos muchos a los miembros de Karumi y siempre y en todo momento deseamos que estén contentos en el trabajo del día tras día. Nuestros empleados, nuestro equipo son nuestro primordial valor, donde reside el valor de la compañía.

¿Qué proyectos y trabajos habéis efectuado hasta la data?

Hemos tenido la fortuna de trabajar con grandes y pequeños equipos. Uno de los primeros proyectos que recordamos con mucho cariño es cuando asistimos a desarrollar una parte de software de Blackphone un teléfono basado en la privacidad, el reto técnico fue enorme y nos dio la ocasión de trabajar mano a mano con gente muy top del planeta de la seguridad.

Asimismo hemos tenido la ocasión de trabajar como una parte de los equipos de Schibsted (dueños de la mayor parte de empresas relacionadas con anuncios clasificados en Europa), Jobandtalent (uno de los mayores portales de empleo en España), Wallapop o bien Trinity Mirror. Procurando progresar su día tras día, donde aparte de aportar nuestro grano de arena al desarrollo del producto y evolución de los equipos procuramos progresar su código. Hemos aprendido mucho en estos proyectos cooperando con ciertos mejores ingenieros del campo.

Habéis cooperado con ciertas start-ups de España ¿De qué forma es la experiencia de trabajar con equipos de trabajo ya formados?

Procuramos prosperar los equipos desde dentro, somos un miembro más del equipo, un compañero que viene a echarte una mano y también procura prosperar y aportar

Procuramos progresar los equipos desde dentro, somos un miembro más del equipo, un compañero que viene a echarte una mano y también procura prosperar y aportar. Examinamos los inconvenientes de los equipos, sus necesidades, sus temores y sus manías, asimismo vemos sus bondades, sus fuertes y conocer a las personas. En el momento en que tenemos una foto general del equipo trabajamos en fortalecer los puntos donde los vemos más flojos y explotar sus fortalezas. Cada equipo es un planeta y también procuramos dar lo mejor de nosotros mismos y aportar el máximo de valor, a fin de que en el momento en que nos vayamos el mensaje que ofrecemos haya calado. Para otros proyectos no hay un equipo con el que cooperar con lo que nos centramos en desarrollar el mejor producto posible.

¿De qué manera les asistís a edificar mejor software?

De diferentes formas, por una parte de la manera más tradicional, por medio de hablas o bien katas que hacemos con ellos. Mas asimismo lo hacemos de una manera más próxima y enfocada a sus inconvenientes a través pair programing o bien otras técnicas de extreme programming, examinando pull request, o bien predicando con el ejemplo. Pensamos que predicar con el ejemplo es uno de los pilares esenciales en nuestras colaboraciones. Acostumbramos a coger labores de los equipos y desarrollarlas al unísono que hacemos pequeños refactors para progresar el código y vamos metiendo cultura de tests si no existiese.

¿Cuáles son los primordiales fallos que os acostumbráis a localizar en las compañías donde habéis estado cooperando?

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

Asimismo nos hallamos mucho con clases grandes que tienen mucha funcionalidad