Inicio

Culturas de ingeniería: de qué hablamos cuando hablamos de cultura

Esta es la primera entrada de una serie de artículos sobre culturas de ingeniería.

Culture

En Julio de 2018, Linkedin publicó este artículo en su blog en el que se mostraban datos interesantes que exponían cómo una buena cultura ayuda a un candidato a decidirse por entrar en una empresa, sobre otros factores como la cantidad económica o un cargo/título que supuestamente le posicione mejor en el mercado.
Por si esto no fuese suficiente, también se mostraban qué factores de una buena cultura impactaban directamente en la retención del talento.

En varias ocasiones, he visto debatir sobre el término cultura como algo que sólo pueden alcanzar ciertas empresas, refiriéndose exclusivamente a lo que idealmente sería una buena cultura de empresa, siempre bajo el criterio subjetivo de los interlocutores.
Sin embargo, todas las empresas tienen su propia cultura. Quizás podamos considerar que en una empresa no se tenga una “buena” cultura o una cultura “madura” o podamos definirla como una cultura “tóxica” pero indudablemente, se tiene una sobre la cual se puede trabajar.

Hay multitud de frases que pueden definir a qué llamamos cultura, pero mi favorita es sin esta de Courtney Chapman, actual Administrative Business Partner de Google:

“Company Culture is the product of a company’s values, expectations and environment.”

En 2006, Mark Fields -presidente de Ford por entonces- atribuyó la frase “culture eats strategy for breakfast” a Peter Drucker.
Aunque no está probado que fuese realmente de Drucker, esta frase ha ganado mucho protagonismo en los últimos años y viene a decir que además de una buena estrategia, es importante crear culturas en las que los equipos tomen la responsabilidad por ellos mismos de alcanzar los objetivos de negocio ya que son los que más cercanos están a la realidad del día a día.

Algunos términos y buzzwords

En la actualidad, existen una serie de buzzwords que a menudo se asocian con una buena cultura, o al menos, con una cultura alineada con las preocupaciones y formas de trabajar que buscan actualmente los ingenieros de software y de sistemas.

Agile

“Build projects around motivated individuals.
Give them the environment and support they need, and trust them to get the job done.”
Manifesto for Agile Software Development

Agile es algo que está en la mente de todos en nuestro sector desde hace años. Aunque normalmente el término se asocia a metodologías concretas, ser una empresa agile es una cultura en sí mismo.
Esta frase implica muchas cosas pero lo principal es llegar a diseñar mecánicas que nos permitan mejorar de forma continua.

Aunque normalmente se da el protagonismo a las metodologías agile y a sus dinámicas, estas no son más que propuestas de formas de trabajo. Ninguna metodología agile va a ser eficaz si nuestra cultura no está alineada con los principios del Manifiesto Agile.

Cultura agile de Spotify

Spotify publicó una serie de videos sobre su cultura en el 2014 que se hicieron virales en la comunidad de desarrollo.
Estos vídeos consiguieron que términos que se utilizaban internamente en la compañía, se adoptasen en los departamentos de ingeniería de otras empresas como términos casi de facto a la hora de organizar equipos.

Squads
Los squads son equipos independientes, autosuficientes y auto-organizados que son capaces de entregar valor a producción por ellos mismos.
Cada squad decide cómo trabaja y qué metodología aplica.

Chapters
Los chapters son áreas de especialidad: frontend, backend, QA, infraestructura…

Tribes
Las tribus son agrupaciones de squads por contexto de negocio. Dentro de una tribu, los miembros del equipo pueden cambiar de squad sin necesidad de cambiar de manager.

Guilds/Gremios
Los gremios son grupos abiertos de estudio e investigación, cross squads y cross tribus. De esta forma, independientemente de en qué squad estén, las personas en la empresa disponen del tiempo y de la posibilidad de investigar sobre temas que les interesen y que estén alineados con los objetivos de la empresa. Esto fomenta la innovación, el trabajar con otras personas fuera de tu equipo y la posibilidad de aprender aportando valor.

Lo importante del ejemplo de Spotify no son estos términos y forma de distribuir los equipos, sino la iniciativa que tomaron para ir más allá de metodologías a la hora de forjar su cultura.

Holocracia

La holocracia u holacracia, se hizo famosa gracias a empresas como Netflix, Medium o Zappos. Basándose en conceptos de sociocracia, se busca que los equipos sean auto-organizados en lugar de buscar un modelo jerárquico tradicional.

A menudo se confunde la holocracia con un modelo “ausente de jefes”, sin embargo, los líderes si que existen pero sus equipos no son tan dependientes de ellos como lo serían en una estructura jerárquica clásica.

En la holocracia se busca que las personas asuman roles en lugar de tener “cargos” o “títulos” concretos.
Cada persona puede asumir diferentes roles dependiendo del contexto o de los objetivos de la empresa en cada momento. Para poder hacerlo, los roles deben estar muy bien definidos y se deben conocer muy bien las aptitudes de cada persona en el equipo.

Podemos encontrar un ejemplo de holocracia en Zappos, que incluso ha creado una plataforma dedicada a ofrecer servicios de formación a otras empresas que deseen llegar con con éxito a una cultura de Holocracia.

Culturas de trabajo en remoto

Una cultura preparada para ofrecer full remote ofrece muchas ventajas y flexibilidad tanto a la empresa como a sus trabajadores. También elimina barreras -que son cada vez más altas- a la hora de contratar y retener talento.

Llegar a una cultura en remoto no es fácil ya que supone muchos retos a la hora de gestionar equipos distribuídos, especialmente si estos se encuentran en zonas horarias distintas, además de tener muy interiorizados procesos de entrega continua, documentación y comunicación.

Sin embargo, llegar a una cultura de este tipo, mejorará nuestros procesos, facilitará el crecimiento de nuestro equipo de ingeniería y dotará de madurez en muchos aspectos a los procesos de negocio.

Pablo Carranza, Head of Engineering en Cabify, explica muy bien qué conlleva gestionar una cultura full remote.

Es interesante también echar un vistazo al canal de YouTube de Gitlab, donde los equipos hacen públicas sus reuniones y hasta disponen de un mini curso para Managers.

DevOps

DevOps es otro término que encontramos en culturas de trabajo actuales y también trae consigo un montón de retos a la hora de aplicarlo.

En una cultura alineada con el concepto DevOps, los equipos de desarrollo y de sistemas comparten una actitud de responsabilidad común hacia el mantenimiento de la plataforma y del software que corre en ella, facilitando la colaboración entre las personas con roles en esos diferentes áreas.

En estas culturas:

  • Las personas en operaciones son involucradas lo antes posible en el proyecto de desarrollo.
  • Ambas partes, desarollo y sistemas, son conscientes de las necesidades mutuas para alcanzar los objetivos de negocio.
  • Se eliminan barreras a la hora de entregar el código a producción o aportar mejoras tanto en procesos como en la plataforma.
  • Como consecuencia, algunos aspectos como la observabilidad y monitorización de la plataforma mejoran notablemente.

Conclusión

Toda empresa tiene una cultura, que es el resultado de los valores, formas de trabajo y visión que los equipos han interiorizado durante los años.

En la actualidad, existen varios movimientos y conceptos que bien aplicados, pueden hacen mejorar la cultura de nuestra empresa y hacer de la misma, el mejor lugar posible para trabajar.