Principios de la ingeniería: poniendo en práctica nuestros valores

Katrina Gnatek
Katrina Gnatek

Sigue

30 de julio, 2020 – 4 min read

El vicepresidente de Ingeniería, Ilya Kozlov, comparte la lógica y el valor de nuestros principios de ingeniería. Descubre cómo estos principios ayudan a nuestros ingenieros a crecer y a tomar posesión de su entrega.

En Taxfix, todo comienza con nuestros valores: Entregar, Confiar, Desarrollar y Entender. Todo el mundo, independientemente del papel que desempeñe en la empresa, tiene una comprensión compartida de estos valores. Los principios de ingeniería materializan nuestros valores en conceptos concretos y guían a todos de forma justa y estructurada. El objetivo es hacer que nuestro equipo sea lo más autónomo posible en el descubrimiento, la toma de decisiones, la entrega y el crecimiento.

Los principios son una hoja de ruta para que los nuevos miembros se pongan al día rápidamente sobre cómo hacemos las cosas aquí. Proporcionan un libro de jugadas para las acciones y la forma de abordar los nuevos desafíos. Por ejemplo, si dos personas diferentes se enfrentan al mismo problema en un contexto similar, sus soluciones serán más o menos las mismas porque se guiaron por las mismas directrices. Nuestros principios también sirven de referencia para la retroalimentación y el desarrollo. Detrás de cada principio hay un conjunto de expectativas para el comportamiento de nuestros ingenieros, que proporciona una dirección para la auto-mejora.

He aquí una forma simplificada de ver este concepto

¿Cómo hicimos para formar estos principios?

Aunque los valores son una parte integral de la vida diaria, no siempre estaba claro cómo ponerlos en acción. Nuestros ingenieros querían ejemplos más concretos de cómo vivir estos valores en la práctica.

Nos dimos cuenta de que necesitábamos un manual de ingeniería que detallara exactamente lo que valorábamos y lo que esperábamos del equipo. Nos reunimos en una primera sesión de brainstorming: Juan Ramírez, nuestro director de ingeniería en Madrid, Alex De León, nuestro CTO, y yo mismo. Juntos identificamos algunas áreas clave en las que trabajar, pero rápidamente descubrimos que nuestra visión no era completa. Necesitábamos escuchar todas las voces de la organización de ingeniería.

A través de una serie de talleres a lo largo de los siguientes meses, discutimos ideas, nos desafiamos mutuamente y tomamos referencias de algunas de las culturas de ingeniería líderes en el mercado. El resultado fue una estructura de ocho principios de ingeniería basados en valores y respaldados por ejemplos de mejores prácticas.

¿Qué significan los principios de ingeniería en la práctica?

Aquí tenemos un vistazo a algunos de nuestros principios de ingeniería:

Entregar

Dentro del valor Entregar, tenemos un principio de Código Abierto Interno. Esto significa que cualquiera puede contribuir a cualquier aplicación o servicio, también conocido como propiedad débil del código. El Código Abierto Interno nos ayuda a entregar porque cuando la base de código es compartida, efectivamente no hay dependencias.

Un problema importante con el que muchas empresas luchan es la dependencia. Si un equipo quiere ofrecer una nueva característica, a menudo tiene que construir algo en su propio servicio y luego llegar a otro equipo y esperar a que todas las piezas se unan. Normalmente, cuanto más grande es la empresa, más se complica este problema. Básicamente, estás bloqueado por las dependencias. Aquí funcionamos en equipos interfuncionales y utilizamos un lenguaje en casi todas partes, JavaScript. Esto permite a cualquiera ir a un servicio específico de la empresa y hacer un cambio allí. No hay necesidad de esperar – puede implementarlo usted mismo.

Confianza

Bajo nuestro valor de Confianza, tenemos el principio de Somos Un Equipo. Esto significa que optimizamos el resultado del equipo y de la organización, no del individuo. Un individuo seguramente puede conseguir el resultado que persigue, pero ¿a qué coste para el resto de la organización? Si sólo tiene en mente su propio objetivo, toda la empresa no será eficiente. Por eso, tratamos de encontrar formas de conseguir mejores resultados utilizando una combinación de conocimientos, experiencias y perspectivas. No hay trabajos «unipersonales», sino colaboraciones.

Desarrollar

Dentro de nuestro valor Desarrollar, incluimos el principio de Aprendemos unos de otros. Además de las iniciativas de aprendizaje estándar, como asistir a meetups y visitar conferencias, queremos fomentar el intercambio de conocimientos entre los miembros del equipo. Lo que tratamos de lograr aquí es que los diferentes conjuntos de habilidades dentro de nuestros equipos coincidan. Si, por ejemplo, hay un ingeniero de front-end que quiere pasar a full-stack, lo emparejamos con un ingeniero de back-end. Emparejamos a estos dos para que puedan crecer como equipo y como individuos a través de la conducción de nuevos proyectos fuera de su experiencia típica.

Entender

El último ejemplo que me gustaría dar se relaciona con nuestro valor Entender – Crear y Compartir Contexto. Este principio va más allá de la documentación; es una calle de doble sentido. Esperamos que nuestro equipo cree contexto para los demás. Además, deben ser proactivos a la hora de leer y digerir el contexto que reciben. Cuando se aplica a los pull requests, por ejemplo, la gente no siempre conoce tu contexto o lo que estás tratando de lograr en tu equipo. Si estás colaborando y tratando de cambiar el repositorio de otra persona, tienes que dar todo el contexto posible. Tienes que explicar tu intención, cualquier compromiso que hayas hecho, una línea de tiempo y cómo este cambio se conecta con cambios más grandes más adelante. No creemos en las decisiones correctas o incorrectas. Sólo creemos en las decisiones que se toman en el contexto adecuado o en el que falta.

Leave a Reply