Gestión de ingeniería de software: información de Peeyush Ranjan, vicepresidente de ingeniería, Google

May 02 2023
Introducción Como ingeniero de software, he tenido la suerte de aprender de amigos y gerentes influyentes en la industria que han ascendido de rango y compartido información valiosa a lo largo de sus viajes como líderes de ingeniería. En esta publicación, compartiré algunas reflexiones de uno de los líderes con los que he tenido el placer de interactuar a lo largo de los años, Peeyush Ranjan, vicepresidente de ingeniería de Google.

Introducción

Como ingeniero de software, he tenido la suerte de aprender de amigos y gerentes influyentes en la industria que han ascendido de rango y han compartido información valiosa a lo largo de sus viajes como líderes de ingeniería. En esta publicación, compartiré algunas reflexiones de uno de los líderes con los que he tenido el placer de interactuar a lo largo de los años, Peeyush Ranjan, vicepresidente de ingeniería de Google. Peeyush tiene una experiencia impresionante como ingeniero de software y líder de ingeniería, ya que se desempeñó como director de tecnología en Flipkart, uno de los unicornios de comercio electrónico más exitosos de la India, y como vicepresidente de ingeniería en Airbnb.

Estructuración de una organización para la rendición de cuentas

Cuando Peeyush asumió el cargo de CTO en Flipkart, el equipo de ingeniería ya tenía aproximadamente 1000 ingenieros, que creció a alrededor de 1500 bajo su liderazgo. Se propuso crear una organización estructurada de manera que le permitiera operar con responsabilidades específicas establecidas, asegurando que hubiera personas a las que acudir para cada área. Dado que era un mercado de dos caras, por ejemplo, creó un propietario responsable para el lado del vendedor del negocio y un propietario responsable para el lado del comprador del negocio. Este enfoque eliminó la responsabilidad compartida o difusa, lo que facilitó llegar a la raíz de los problemas y encontrar soluciones cuando algo no funcionaba correctamente.

Tener las personas adecuadas en posiciones de liderazgo

Peeyush también enfatizó la importancia de tener a las personas adecuadas en posiciones de liderazgo dentro de cada unidad. Describió un proceso para identificar a estos líderes que incluía comprender sus valores, cómo operan y encontrar puntos en común en su sistema de valores frente al de ellos. Como líder, es esencial contar con personas que puedan entender y cumplir con los valores y principios que aporta, creando un ambiente armonioso que unifica la misión de la empresa.

Garantizar que los principios del equipo se alineen con los valores y principios organizacionales

Uno de los puntos más importantes para los gerentes de nivel de entrada es la importancia de tener una idea del panorama general, asegurando que los principios básicos de su equipo se alineen con los valores y principios de la organización. Cada equipo es una pieza de un rompecabezas más grande, y el Gerente de ingeniería juega un papel crucial para garantizar que su equipo encaje perfectamente con los objetivos más amplios de la organización.

Empoderamiento y Transparencia en la Creación de Equipos Efectivos

Los valores clave de Peeyush son el empoderamiento y la transparencia, que son esenciales para crear un equipo de ingeniería eficaz. Los gerentes que empoderan a sus equipos y escuchan sus comentarios pueden multiplicar la productividad de su equipo, haciéndolo más efectivo que simplemente aumentar la cantidad de personas en el equipo. Los ingenieros aprecian la transparencia, por lo que los gerentes deben ser directos y honestos con sus equipos. La transparencia genera confianza, lo que facilita el logro conjunto de metas y objetivos.

Una forma de lograr esto es incorporando periódicamente los traspasos de gestión en todos los niveles de la jerarquía de liderazgo de la empresa.

Permítanme agregar un poco más de contexto sobre por qué los traspasos de gestión son importantes: el proceso de transferencia de información y decisiones en cascada de los niveles superiores de gestión a los niveles inferiores es esencial por varias razones en una empresa de software:

  1. Alineación y consistencia: los traspasos aseguran que todos los niveles de gestión trabajen hacia las mismas metas y objetivos, promoviendo la consistencia en la toma de decisiones y la asignación de recursos en toda la organización.
  2. Comunicación clara: al transmitir información y directivas, la gerencia puede garantizar que todos los empleados estén bien informados sobre las prioridades, estrategias y expectativas de la empresa, lo que a su vez les permite desempeñar sus funciones de manera más efectiva.
  3. Empoderamiento y responsabilidad: los traspasos ayudan a delegar la autoridad y la responsabilidad de la toma de decisiones a los niveles inferiores de gestión, lo que les permite tomar decisiones informadas y apropiarse del rendimiento de su equipo.
  4. Adaptabilidad y capacidad de respuesta: los traspasos de gestión facilitan una respuesta más rápida a las condiciones cambiantes del mercado o las necesidades de la organización al garantizar que la información y las decisiones relevantes lleguen a todos los niveles con prontitud.
  5. Colaboración y trabajo en equipo: los traspasos efectivos promueven la cooperación interdepartamental y el trabajo en equipo al mantener a todos los equipos informados sobre las iniciativas, los desafíos y los éxitos de toda la empresa.
  6. Compromiso y moral de los empleados: cuando los empleados entienden los objetivos de la empresa y su papel para lograrlos, es más probable que se sientan comprometidos y motivados para contribuir al éxito de la organización.
  7. Intercambio de conocimientos y desarrollo de habilidades: los pases pueden servir como una plataforma para compartir mejores prácticas, lecciones aprendidas y experiencia entre diferentes equipos y niveles de gestión, fomentando una cultura de aprendizaje continuo y desarrollo de habilidades.

Construyendo equipos autónomos que toman riesgos e innovan

Las ideas de Peeyush sobre la creación de equipos autónomos que estén dispuestos a asumir riesgos e innovar resuenan con la mentalidad de crecimiento que es esencial para la mejora continua. Este enfoque alienta a las personas a encontrar sus soluciones y proponer sus ideas, creando un ambiente de confianza y creatividad.

Algunos de los beneficios clave de construir equipos autónomos incluyen:

  1. Toma de decisiones más rápida: los equipos autónomos están facultados para tomar decisiones dentro de su dominio, lo que genera tiempos de respuesta más rápidos y reduce la necesidad de aprobación constante de la gerencia.
  2. Mayor innovación: cuando los equipos tienen la libertad de experimentar y tomar decisiones, es más probable que propongan soluciones creativas e innovaciones que puedan impulsar a la empresa.
  3. Mayor productividad: con una mayor autonomía, los equipos pueden administrar su carga de trabajo y sus prioridades de manera más efectiva, lo que resulta en una mayor eficiencia y productividad.
  4. Compromiso de los empleados mejorado: los empleados en equipos autónomos tienden a sentirse más dueños y responsables de su trabajo, lo que lleva a una mayor satisfacción y compromiso en el trabajo.
  5. Agilidad y adaptabilidad: los equipos autónomos pueden responder rápidamente a los cambios en el mercado, las necesidades de los clientes o la tecnología, lo que hace que la empresa sea más adaptable y resistente.
  6. Escalabilidad: al permitir que los equipos operen de forma independiente, la organización puede escalar sus operaciones más fácilmente, ya que se pueden agregar nuevos equipos sin aumentar significativamente los gastos generales de administración.
  7. Colaboración interfuncional: los equipos autónomos a menudo están formados por miembros con diversas habilidades y experiencia, lo que promueve la colaboración interfuncional y el intercambio de conocimientos dentro del equipo.
  8. Burocracia reducida: dado que los equipos autónomos requieren menos niveles de supervisión de la gestión, esto puede conducir a una reducción de la burocracia y los trámites burocráticos, agilizando los procesos y acelerando la ejecución.
  9. Mejor asignación de recursos: los equipos autónomos pueden tomar decisiones más informadas sobre la asignación de recursos en función de su conocimiento directo de las necesidades y prioridades del proyecto, lo que lleva a un uso más eficiente de los recursos.
  10. Atracción y retención de talentos: una cultura que apoya la autonomía y el empoderamiento puede atraer a los mejores talentos y ayudar a retener a los empleados, ya que se sienten valorados, desafiados y confiados en sus roles.

Uno de los aspectos más desafiantes de la gestión de ingeniería es la transición de ser un colaborador individual a un gerente. Peeyush señaló que ser un gran ingeniero no se traduce necesariamente en ser un gran administrador de personas. Un Gerente de Ingeniería exitoso necesita equilibrar el papel de gerente de personas empático y líder técnico, liderando e influyendo en su equipo sin ser autoritario.

Los líderes deben brindar oportunidades para que su equipo crezca y desarrolle sus propias soluciones, creando un sentido de propiedad y orgullo por su trabajo. También deben desarrollar un profundo sentido de preocupación por cada uno de sus empleados, comprender sus objetivos profesionales específicos y ayudarlos a encontrar oportunidades que les permitan un crecimiento específico para sus objetivos profesionales. Recuerde el viejo dicho de que en la mayoría de los casos, las personas no dejan las empresas, dejan a sus gerentes. Al ser gerentes empáticos y afectuosos que atienden su estilo de liderazgo para satisfacer las necesidades de cada uno de sus empleados, pueden mitigar en gran medida el riesgo de abandono y ayudar a construir un equipo sólido que esté orientado a la misión y pueda unirse para lograr grandes cosas.

Identificación de líderes clave para iniciar un equipo desde cero

Las ideas de Peeyush sobre cómo construir un equipo exitoso son invaluables para cualquiera que comience un nuevo equipo. Hizo hincapié en la importancia de identificar líderes clave que posean la mentalidad adecuada para iniciar un equipo desde cero, la capacidad de trabajar en situaciones ambiguas y el impulso para ser emprendedores.

Además, destacó la importancia de aprender a representar a su gente y su trabajo ante el resto de la organización, generando confianza y promoviendo el crecimiento y desarrollo de su equipo.

Considere los siguientes factores al elegir al líder para comenzar un equipo desde cero:

  1. Experiencia técnica: elija un líder que tenga una sólida formación en ingeniería de software y esté familiarizado con las tecnologías y herramientas relevantes para su proyecto. Deben poder brindar orientación técnica y tomar decisiones informadas sobre arquitectura, diseño y prácticas de desarrollo.
  2. Experiencia: busque un candidato con experiencia previa en la creación y dirección de equipos de ingeniería de software, preferiblemente en un dominio o industria similar. Esta experiencia les ayudará a comprender los desafíos y las mejores prácticas para crear un equipo exitoso.
  3. Visión y estrategia: el líder debe tener una visión clara de los objetivos del equipo y ser capaz de desarrollar una estrategia coherente para alcanzarlos. Debe ser capaz de definir las prioridades del equipo y alinearlas con los objetivos de la empresa.
  4. Habilidades interpersonales y de comunicación: la comunicación eficaz es crucial para un líder, ya que deberá transmitir los objetivos, las expectativas y el progreso del equipo tanto a los miembros del equipo como a las partes interesadas. También deben poder escuchar activamente y empatizar con las preocupaciones y necesidades de su equipo.
  5. Adaptabilidad y resolución de problemas: el líder debe poder adaptarse a circunstancias cambiantes, como nuevas tecnologías, prioridades cambiantes o limitaciones de recursos. Deben tener fuertes habilidades para resolver problemas y ser capaces de encontrar soluciones creativas a los desafíos.
  6. Creación de equipos y motivación: el líder debe tener un historial de creación de equipos cohesivos y de alto rendimiento. Deben ser hábiles para identificar y reclutar talentos, crear una cultura de equipo positiva y motivar a los miembros del equipo para lograr su mejor trabajo.
  7. Toma de decisiones y delegación: el líder debe ser capaz de tomar decisiones informadas y oportunas y delegar tareas de manera efectiva, capacitando a los miembros del equipo para que se apropien de su trabajo.
  8. Resolución de conflictos: pueden surgir conflictos dentro del equipo o con partes interesadas externas, y el líder debe poder abordarlos de manera constructiva y diplomática, encontrando soluciones mutuamente beneficiosas.
  9. Tutoría y entrenamiento: el líder debe estar comprometido con el crecimiento profesional de los miembros de su equipo, brindando orientación, tutoría y oportunidades para el desarrollo de habilidades.
  10. Ajuste cultural: el líder ideal debe alinearse con los valores y la cultura de su empresa, ya que desempeñará un papel importante en la configuración del entorno y los hábitos de trabajo del equipo.

Durante nuestra conversación, compartió conmigo su enfoque de la gestión de ingeniería eficaz, que comparó con el de un padre. La analogía de Peeyush Ranjan entre los gerentes de ingeniería y los padres es interesante y estimulante. Según explicó, ambos roles son responsables de guiar y nutrir a sus cargos para lograr sus objetivos y alcanzar su máximo potencial. Así como un padre debe brindar apoyo, aliento y el empujón ocasional en la dirección correcta para ayudar a su hijo a crecer y tener éxito, un Gerente de ingeniería debe hacer lo mismo por los miembros de su equipo.

Esto me recordó el viejo proverbio: “Dale un pescado a una persona, y los alimentarás por un día. Enséñale a una persona a pescar y la alimentarás para toda la vida”.

Este proverbio enfatiza la importancia de enseñar a las personas las habilidades que necesitan para ser autosuficientes e independientes, en lugar de simplemente proporcionar soluciones temporales a sus problemas. Destaca el valor de la educación y el empoderamiento para fomentar el crecimiento a largo plazo y la autosuficiencia.

Este principio también se aplica al personal ya los ingenieros principales responsables no solo de partes importantes del Producto, sino también de ayudar a nutrir y desarrollar a los ingenieros junior en sus áreas.

Creación de un entorno de apoyo y crianza para los miembros del equipo

Los miembros del equipo tienen diferentes fortalezas, debilidades y necesidades de desarrollo. Los gerentes de ingeniería efectivos reconocen estas diferencias y trabajan para brindar apoyo individualizado y oportunidades de desarrollo que se adaptan a las necesidades de cada miembro del equipo. Deben estar en sintonía con las motivaciones, los objetivos profesionales y los intereses de los miembros de su equipo para crear un entorno en el que cada individuo pueda prosperar.

Al mismo tiempo, los Gerentes de Ingeniería también deben proporcionar un claro sentido de dirección y establecer expectativas para los miembros de su equipo. Así como un padre establece límites y expectativas para el comportamiento de su hijo, un Gerente de Ingeniería debe establecer expectativas claras de desempeño, establecer la responsabilidad y fomentar una cultura de mejora continua. Deben proporcionar retroalimentación y entrenamiento regulares para ayudar a los miembros de su equipo a crecer y desarrollarse, tal como lo hace un padre con su hijo.

En última instancia, el papel de un Gerente de ingeniería es proporcionar un entorno de apoyo y fomento donde los miembros del equipo puedan crecer, aprender y alcanzar su máximo potencial. Al usar la analogía de un padre, Peeyush destaca la importancia de la empatía, la paciencia y una mentalidad de crecimiento en este rol. Los gerentes de ingeniería efectivos deben poder ponerse en el lugar de los miembros de su equipo, anticipar sus necesidades y brindar el nivel adecuado de apoyo para ayudarlos a tener éxito.

Conclusión

En resumen, el enfoque de Peeyush para la gestión de ingeniería se alinea con los principios de responsabilidad, empoderamiento, crecimiento y formación de ingenieros y mejora continua. Sus conocimientos sobre la creación de equipos exitosos y la provisión de un liderazgo efectivo son invaluables para cualquiera que comience un nuevo equipo o haga la transición a un rol de Gerente de Ingeniería. Al equilibrar el liderazgo técnico con la empatía y las habilidades de gestión de personas, los gerentes de ingeniería pueden crear un entorno de apoyo y crianza que ayude a los miembros de su equipo a prosperar y alcanzar su máximo potencial.

Un líder exitoso debe adoptar un estilo adaptativo, absteniéndose de saltar de inmediato e imponer ciegamente experiencias o enfoques previos sin considerar el contexto único de la organización actual. En su lugar, deben adaptar sus estrategias de liderazgo a las necesidades específicas del equipo y la empresa.

Lectura sugerida:

NOTA: Los enlaces a los libros anteriores son enlaces de afiliados