En habitissimo existen equipos que lo dan todo en el día a día. Para conocer mejor qué hacen publicaremos entrevistas en profundidad con responsables de los equipos. En esta ocasión empezamos por el recién estrenado CTO (Chief Technology Officer) de habitissimo, Jordi Llull.

Jordi nació en Mallorca y comenzó a profundizar en la informática desde la adolescencia. A los 14 años instaló Linux en su ordenador y más tarde se graduó como Ingeniero Técnico en Informática. Tras sus estudios de informática decidió cambiar de aires estudiando un Máster de formación de profesorado. Esto le permitió iniciarse como programador en una empresa, pero lamentablemente no era feliz. Al ver que no podía progresar, decidió emprender la aventura de buscar trabajo en Inglaterra. No llegó a pisar el avión, pues recibió la llamada de habitissimo y desde hace dos años forma parte de este gran equipo.

– Jordi, ¿Cuáles son tus funciones como CTO en habitissimo?

– Por un lado está la gestión del equipo. Utilizamos metodologías ágiles de desarrollo por lo que, en este sentido, mi tarea se centra en habilitar y eliminar obstáculos más que en dirigir directamente a las personas. Por otro lado está la responsabilidad de liderar las decisiones tecnológicas y de arquitectura. Estamos en un sector muy competitivo y tenemos que asegurarnos de que disponemos de los recursos necesarios para adaptarnos rápidamente a cualquier cambio que se requiera.

-¿Cómo está compuesto el equipo developers habitissimo? ¿Quién hace qué?

-El departamento está formado por personas con varios perfiles distintos (Helpdesk, DevOps, Programación Frontend, Programación Backend y Quality Assurance). Para cada proyecto se configura un equipo multidisciplinar que tenga las habilidades necesarias para desarrollarlo. Actualmente tenemos cuatro equipos: marketing, móvil, inspiración y marketplace. Dado el tamaño del departamento y la naturaleza de su trabajo las personas de sistemas y QA se integran en el trabajo de los cuatro equipos.

-¿Cómo se estructura una jornada laboral en tu equipo?¿Qué hacen ante un imprevisto?

-Todos los equipos trabajan con metodologías ágiles pero no todos lo hacen con Scrum. Cuando trabajamos con Scrum estructuramos el trabajo en sprints de dos o tres semanas. Al finalizar un sprint el equipo se reúne con una lista priorizada de tickets. Se analizan las distintas tareas a realizar para resolver cada ticket y se estima el tiempo necesario para realizarlas. Tras eso se asignan las distintas tareas a los miembros del equipo y se planifica el trabajo para las próximas semanas. En la reunión de planificación también se aprovecha para revisar el trabajo realizado en el anterior sprint y proponer mejoras en el flujo de trabajo. Tras iniciar un sprint se realiza un seguimiento diario con un stand-up meeting de máximo 20 minutos. Cada miembro del equipo expone el trabajo realizado el día anterior y el trabajo a realizar durante el día de hoy. Cualquier contratiempo se analiza en ese mismo momento y se toman las medidas necesarias para cumplir con la planificación o, si no es posible, se vuelve a planificar el sprint. Además realizamos un stand-up meeting semanal en el que cada equipo expone el trabajo realizado y a realizar al resto de equipos. Detectamos así sinergias u obstáculos que puedan aparecer entre equipos.

-¿Qué es lo que más y lo que menos te gusta de tu trabajo diario?

-Para mí cada día es un reto distinto. Empezamos con un stand-up meeting donde comentamos el avance en los distintos proyectos y contratiempos que hayan podido aparecer. Tras eso me gusta añadir a la agenda diaria algunas acciones orientadas a eliminar obstáculos. Es un trabajo exigente pero muy gratificante. Por otro lado, me ha sorprendido gratamente la parte de mi trabajo relacionada con el área de recursos humanos. Se suele decir que los informáticos no somos buenos con las personas y eso me motiva a esforzarme para demostrar que no es cierto. A mi favor juega la calidad humana de las personas de habitissimo que hace que la tarea sea siempre mucho más fácil.

A más ecommerce menos técnicos

– Internet está en auge y cada vez es más difícil encontrar profesionales del sector de la informática, ¿a qué se debe?

– Creo que hay dos factores que influyen en que haya más demanda que oferta de estos perfiles. En primer lugar está el hecho de que competimos a nivel internacional, estamos en un sector en el que es habitual que una persona sea contratada directamente para trabajar en otro país y no resulta fácil competir con los salarios de otros países europeos como Alemania o Reino Unido.

Por otro lado está el factor de que la oferta de titulados no ha aumentado al mismo ritmo que la demanda. Hemos visto en los últimos años como las empresas con base tecnológica recurren a físicos o matemáticos para suplir esta necesidad de desarrolladores. Una de las causas de esta escasez es que la informática sigue siendo una carrera en la que prácticamente el 80% de graduados son hombres. Creo que es importante que tanto desde la sociedad como desde nuestro sector trabajemos en la incorporación de la mujer en la informática. Hay algunas iniciativas muy interesantes como la de las PyLadies o las Django Girl pero todavía queda mucho trabajo por hacer. Chicas, ¡os necesitamos!.

– El derrumbe de la formación de expertos en tecnologías digitales se produce precisamente en un momento en que la economía digital crece de manera exponencial ¿No se suponía que hay miles de frikis tecnológicos que terminan todos estudiando informática? ¿Por qué es tan complicado encontrarlos?

– Existen varias iniciativas para añadir la programación al currículo pero eso no garantiza que aumenten los estudiantes de informática. Al fin y al cabo matemáticas han estado siempre en el currículo oficial y es una carrera con pocos adeptos. Más allá de modificar el contenido que se imparte en los centros, debemos trabajar para incentivar la curiosidad y el interés por la tecnología de niños y niñas rompiendo con la brecha de género. He tenido la oportunidad de participar en algunas iniciativas para promover la tecnología entre los niños y es un poco desalentador ver que, ya desde pequeños, hay una minoría de niñas entre los asistentes.

– Entonces, ¿a qué edad sería recomendable que un niño comenzara a estudiar programación?

– Se puede empezar a programar a partir de los seis años. A estas edades pueden aprender un lenguaje de programación y a resolver algunos problemas básicos. Sea como sea, sabemos gracias a Piaget que un niño no tiene realmente el desarrollo cognitivo necesario para aprender a programar hasta los 12 o 13 años. No hay que olvidar que la programación no es equiparable a aprender un idioma, programar implica utilizar un razonamiento formal que no se adquiere hasta la adolescencia.

Mi consejo para los padres es que no se preocupen tanto por la programación. Si quieren que su hijo se convierta en programador lo mejor es inculcarles la curiosidad por la tecnología y una actitud crítica y analítica del entorno que les rodea.

– ¿Qué cosas te gustaría crear con el equipo developers de habitissimo? Ya hicieron la 3D, ¿hay algún reto que te gustaría cumplir con el equipo?

Montar la impresora 3D fue una experiencia de teambuilding extraordinaria. No tenemos muy claro cual va a ser el próximo proyecto, tenemos algunas ideas como hacer nuestra propia cerveza y programar un dron para que la traiga a nuestro escritorio (se aceptan sugerencias). Más allá de estos pequeños proyectos, también nos gustaría crear el portal de reformas de referencia en todo el mundo.

– ¿En qué te fijas cuando entrevistas a los candidatos para el equipo de developers?

– Buscamos personas que, más allá de su titulación, sientan verdadera pasión por la informática y que disfruten investigando y probando nuevas tecnologías. También creemos que hay que ser un poco friki para encajar en el equipo.

– ¿Qué significa que algo está en producción, en desarrollo, bug….? ¿Nos podrías decir cinco conceptos de desarrolladores para que todos entendamos lo mismo?

Allá voy:

  • Bug: un error en el código que produce un problema o un comportamiento no esperado en la aplicación.
  • Entorno de producción: el entorno accesible sobre el que trabaja los empleados y los clientes.
  • Entorno de test / preproducción: entorno local en el que se prueban las nuevas funcionalidades antes de subirlas a producción.
  • Entorno de desarrollo: entorno en el ordenador del desarrollador en el que se implementan las nuevas funcionalidades.
  • Deploy / pase a producción: acción de subir un conjunto de nuevas funcionalidades. Normalmente se utiliza cuando se hace en el entorno de producción pero también puede hacerse en el entorno de test.

– Muchas gracias Jordi por responder a esta entrevista.