Ideas de lunes

Las ideas de lunes son parte del proceso de innovación en deMartina. La mayoría de ellas no se lleva a cabo, pero resultan ser buenas heurísticas para orientarnos en nuestro proceso de mejora continua.

Una de las cosas más curiosas del inconsciente humano es su asombrosa capacidad de procesamiento de información en background. El famoso discurso de Steve Jobs en Stanford siempre me ha recordando al funcionamiento del inconsciente cuando menciona eso de “connecting the dots”. Nuestro inconsciente conecta los puntos sin que nos lleguemos a dar cuenta. Surgen los momentos ¡eureka!

Curiosamente los fines de semana, fuera del entorno de trabajo, es cuando se generan de las ideas más innovadoras de deMartina. Los lunes siempre vienen cargados de nuevas ideas. De hecho, cada lunes espero que nuestro CEO, Juan Macías, me sorprenda con una ocurrencia para mejorar algún aspecto de la pila tecnologica de la que disponemos.

Y debe ser contagioso. Tras dos años y pico aquí también yo tengo ideas de lunes. Entre ellas, añadir una sección edades dentro del menú de página en deMartina o incrementar hasta un 20% el rango de la búsqueda por precio (si alguien pretende gastarse unos 25 euros, le puedes llegar a vender productos de hasta 29€).

¿Cómo surge la innovación en vuestro empleo? Compartidlo en los comentarios.

Minientrada

Mamá, papá, soy CTO

Mi familia es de pueblo. Afortunadamente tienen un nivel cultural por encima de la media. Les estuve poniendo al día sobre mi vida y hechos; ya sabéis como son las madres y sus interrogatorios. En esta ocasión tuve que explicar en qué consistía ser director de tecnología (CTO). No fue fácil porque ni yo estaba seguro de qué significa ser CTO.

La posición de CTO en deMartina se abrió recientemente debido al aumento de plantilla y me fue asignada. En principio, no puse ningún reparo puesto que soy una persona ambiciosa y me interesa desarrollarme profesionalmente.

¿Qué es un CTO?

Nadie sabe a ciencia cierta que es un CTO. Las pocas definiciones de este puesto son tan abstractas que me ha sido imposible encontrar una que pueda entenderse. Lo único que se sabe de ellos es que la mayoría tiene unos gustos estrafalarios y siempre se hacen fotos posando con traje de chaqueta delante de un fondo oscuro. El anterior CTO de Microsoft, Nathan Myhrvold, cuando le preguntaron qué era un CTO respondió lo siguiente (la negrita es mía):

¡Que diablos voy a saber! Sabes, cuando Bill [Gates] y yo discutíamos sobre que haría en este trabajo, en un momento dijo, “¿Ok, cuales son los mejores ejemplos de CTOs exitosos?” Después de alrededor de 5 minutos decidimos que, bueno, debe haber alguno, pero que no teníamos en la punta de la lengua exactamente quien era un buen CTO, porque muchas personas que eran buenos CTOs no tenían ese título, y que al menos algunas de esas personas que tenían el título discutiblemente no eran buenos en el mismo. Mi trabajo en Microsoft es preocuparme acerca de la tecnología en el futuro. Si usted quiere tener un buen futuro tiene que empezar pensando sobre él en el presente porque cuando el futuro llegue no tendrá tiempo.

Tras semejantes declaraciones del CTO de una de las empresas de tecnología más importantes del mundo no me queda más remedio que inventarme la definición del puesto adaptándome a la realidad de mi trabajo.

Mi definición de un CTO

Para mi, un CTO…

  • Debe identificar oportunidades y riesgos en los servicios ofrecidos por la empresa alineándose en todo momento con la dirección ejecutiva de la empresa. Indicando oportunidades de innovación y asuntos técnicos de los que dependa el éxito.
  • Debe conocer las tendencias en tecnología separando el grano de la paja. Evitando caer en el hype y siempre con una visión del futuro. Tomando decisiones sobradamente informadas sobre cuáles son las plataformas tecnológicas por las que se debe apostar.
  • Debe planificar estratégicamente cómo conseguir los objetivos de negocio que dependan directamente de la tecnología. Identificando y priorizando las metas y estableciendo los tiempos de prueba e integración necesarios.
  • Debe comprobar que los objetivos se están llevando a cabo y que los riesgos se están minimizando en todo momento.
  • Debe colaborar con los departamentos apropiados para asesorar y recomendar tecnologías, métodos de trabajo u organización.
  • Debe desarrollar un plan de seguridad global para toda la empresa. Incluyendo la integridad de los datos, política de backups o medios para la recuperación en caso de desastre.
  • Debe comunicar en todo momento las estrategias tecnológicas en todo momento al CEO y demás partes interesadas.
  • Debe hacerse responsable de todos aquellos detalles técnicos que puedan afectar la integridad o la imagen pública: adquisición de dominios similares o relacionados que puedan poner en peligro la empresa.
  • Debe establecer políticas de trabajo, control de cambios, metodologías de desarrollo software, control de calidad, mejores prácticas, etc.
  • Debe colaborar y revisar las historias de usuario (user stories) y las especificaciones.
  • Debe colaborar y revisar en todas las fases de la experiencia de usuario.
  • Debe monitorizar los sistemas en producción y realizar un análisis para comprobar que efectivamente están produciendo el rendimiento deseado.
  • Debe estudiar concienzudamente a los proveedores de servicios (hosting, tracking, etc) pensando siempre en cómo conseguir ahorrar costes a la empresa sin perder funcionalidad.
  • Debe asegurarse que los problemas se resuelven con un tiempo y un coste aceptables.
  • Debe supervisar la contratación, formación y retención de todos los miembros del equipo de desarrollo.

Posiblemente no sea todo, pero ¡es suficiente de momento!

Y para ti, ¿qué es un CTO?

Mamá, papá, soy CTO

Mis procesos de selección

Una de las cosas más importantes para llevar a cabo un gran proyecto es contar con grandes personas. Mi experiencia tras haber aplicado dos veces a una internship con Microsoft me sirvió para aprender cómo las grandes contratan a los mejores.

construccion-lego-de-un-candidato

Desafortunadamente para mi, haber llegado dos veces a la ronda final de entrevistas con Microsoft no me sirvió para tener un despacho con puerta y doble monitor en Redmond. Mala suerte fue que a la segunda, cuando todo salió bien, comenzasen los layoffs. Pero eso no me ha desanimado a continuar en esta profesión y mucho menos a rendirme. En cualquier cosa que hago, pongo mi corazón y mi empeño para que produzca impacto en el mundo.

Por eso mismo, a la hora de reclutar busco pasión y saber hacer entre los candidatos.

Fase 1: cuestionario inicial

Una de las primeras cosas que hago cuando recibido un currículum de un desarrollador en deMartina es enviarle una prueba de programación sin haber estudiado su currículum. La prueba de programación la puede hacer el candidato en cualquier lenguaje con el que se sienta cómodo. Lo más importante para mi es saber si dicha persona es capaz de traducir texto natural a algoritmos y estructuras de datos.

Además de las preguntas de desarrollo, análisis y pruebas (incluyo una de esas, aunque la respuesta a ella se encuentra en Google), también añado dos preguntas básicas para conocer de antemano a la persona.

  • ¿Cuál es el proyecto más interesante en el que has trabajado?
  • ¿Dónde te ves dentro de dos años? (Lo estándar en la industria es preguntar 10, pero dado que nuestros candidatos suelen ser jóvenes, prefiero no aventurarme…)

Una respuesta honesta a estas dos preguntas junto haber resuelto correctamente los problemas de programación te garantizan una entrevista en las oficinas de deMartina.

Fase 2: seducir al grupo de desarrolladores

Una vez recibidas las cuestiones, las adjunto con los currículum. Elimino todos los datos personales y fotografía de los candidatos. Los enumero como “alfa”, “beta”, “gamma”, “delta”, etc. Y les paso los dosieres al resto del grupo de desarrollo. Ellos luego me entregan las sensaciones que cada candidato les ha dado. Al final del proceso, recibo de nuevo los dosieres con un SÍ o un NO. Si obtiene un 50% de síes, entonces es invitado a realizar una entrevista en nuestras oficinas.

Fase 3: La entrevista

Como ya relaté en mi artículo sobre la silla rosa, las entrevistas que hacemos tienen detalles imperceptibles que utilizamos para evaluar a cada candidato. Cada vez hacemos una distinta. Sin embargo, hay un clásico: una construcción libre con LEGO en 5 minutos. A cada candidato le dejamos cinco minutos para que nos sorprenda con una construcción de LEGO con las piezas que les dejamos en la mesa. Para nosotros es importante que alguien tenga creatividad e ingenuidad en lo que hace.

Además de ello, hablamos sobre su currículum. El 90% de las mentiras de un candidato sale a relucir en esta fase. Valoramos mucho la honestidad. Entre ellas, el nivel “alto” de inglés. Tenemos a un programador medio nativo en el equipo. Por eso, pasamos la entrevista a inglés de repente y medimos la reacción del candidato. Muchos son pillados en esto y se ponen nerviosos.

Finalmente, aquellos que hayan demostrado honestidad, profesionalidad y talento, recibirán una oferta y quienes no, pues les comunicaremos igualmente que otros tenían habilidades mejores que la suya.

¿Cómo realizáis vosotros las entrevistas? ¿Qué factores tenéis en cuenta? ¿Te gustaría trabajar en deMartina? ¡Cuéntamelo en los comentarios!

Mis procesos de selección

Programadores… y gordos

A lo largo de mi carrera profesional he conocido a grandes programadores. Auténticos artistas del bit y del byte; máquinas de proceso de cafeína, horas y glucosa en artefactos software; poetas del C++. Todos estaban gordos.

Tener sobrepeso es la única constante en el mundo del desarrollo. En un proyecto software, todas las planificaciones pueden fallar, pero hay una con la que siempre acertarás: después de un proyecto tus programadores habrán engordado.

Entiendo que esto que escribo puede molestar a más de uno que piense que él no está gordo, que tiene los huesos fuertes, etc. Pero en su fuero interno sabe que estoy en lo cierto. Los programadores estamos gordos y es normal. ¿Qué se puede esperar de un trabajo sedentario y una sobreestimación sobre las calorías que consume solventar problemas?

Sin embargo, cualquier programador puede cambiar su peso de forma fácil con una dieta diseñada por el primer programador de AutoCAD, John Walker: The Hacker’s Diet.

John Walker fue el primer programador de AutoCAD y fundador de Autodesk, la empresa detrás de AutoCAD. John, en su libro Hacker’s Diet, reflexiona sobre cómo si ha sido capaz de montar una empresa multimillonaria no es capaz de controlar su peso. Por ello, aborda el problema desde un punto de vista que nada tiene que ver con los nutricionistas ni chamanes, sino uno que todos los programadores conocemos: perder peso como un problema de gestión empresarial e ingeniería.

Y debo reconocer que funciona.

my-hackers-diet-chart-2010

Esta dieta es el ejemplo perfecto de métrica observada que mejora porque está observada. En 2010 la probé personalmente y estos son mis resultados. La dieta no indica lo que debes comer; la clave está en la cuenta de calorías. Si deseas perder peso, lo único que debes es ingresar menos calorías de las que tu cuerpo necesita.

Y tú, ¿a qué esperas para dirigir tus hábitos alimenticios?

Programadores… y gordos

El silencio es una fuente natural de vitaminas

… y ahora que he captado vuestra atención, lanzo la siguiente pregunta ¿sabíais lo importante que resulta el silencio en el entorno de trabajo para los desarrolladores de software?

Mi oficina privada

No soy el primero que lo dice ni resulta un descubrimiento reciente. Tom DeMarco, autor de un libro que todo aspirante a dirigir grupos de desarrollo debería leerse: Peopleware, ya indicaba en 1985 que la diferencia entre un buen programador en un ambiente de trabajo silencioso y un mal programador en un mal ambiente (léase: cubículos o espacios abiertos) puede llegar a ser de 25 a 1. Por ello, la necesidad de espacios silenciosos se hace patente conforme el equipo de desarrollo crece si queremos obtener la máxima productividad de nuestros programadores. Empresas como Microsoft entienden perfectamente esto ponen despachos a disposición de sus empleados. Y una cosa másUn entorno laboral ruidoso es un error clásico por el cual fallan los proyectos software.

Sin embargo, parece que en España no hay demasiada cultura del silencio. De hecho, basta salir al extranjero y preguntar para que te digan que la característica más llamativa de los españoles es lo ruidosos que somos. La cultura de los espacios abiertos es muy divertida, pero no es productiva y es España dos veces menos.

A continuación, os ofrezco un pequeño ejercicio para determinar si realmente necesitáis un despacho:

  • ¿Menos del 10% de las veces que suena el teléfono es para ti?
  • ¿Contestas dudas a tus compañeros que podrías resolverse usando el puto Google?
  • ¿Te hacen preguntas que podrían resolverse por medio de un mail?
  • ¿Te ves en medio de conversaciones que te sacan de tu zona de concentración?

Si has contestado afirmativamente a alguna de las preguntas anteriores: necesitas un despacho.

En mi actual empleo tengo la suerte de contar con una oficina de dos plantas en las que la planta inferior no se utiliza. Recientemente he trasladado mi puesto de trabajo y he empezado a retomar el control de mi productividad. Las interrupciones se han reducido a unas 3 o 4 al día. Ahora puedo pensar con claridad.

Muy bien, pero en mi oficina no queda ni un hueco libre. ¿Qué puedo hacer?

Puedo entender que no todos tengamos la suerte de poder contar con espacio libre. Estos son mis consejos para paliar un entorno acústicamente adverso:

  • Consigue unos auriculares de calidad y deja abierta esta página: http://simplynoise.com.
    El ruido blanco suele ser un buen aliado en encontrar la paz.
  • Define reglas de convivencia con tus compañeros. Por ejemplo, horas a las que se te puede preguntar, métodos para resolver dudas no críticas (enviar email), etc. Deja clara tus reglas y no seas tú el primero que se las salte. Debes hacerles entender que deben valorar tu concentración como parte del proceso de la desarrollo.
  • Busca si los teléfonos de la oficina tienen la posibilidad de disminuir el volumen.
  • Definir áreas de trabajo donde se pueda hablar y donde no. ¿Hay hueco para crear una sala de reuniones?
  • Explica y promulga la importancia del silencio en el puesto de trabajo.

Y sobre todo, recuerda:

“El silencio es oro.”
Crotchet rest alt plain-svg.svg

El silencio es una fuente natural de vitaminas