Soy gerente de producto no técnico en una empresa de tecnología empresarial. Teniendo en cuenta que la mayoría de los puestos de PM en estos días requieren algunas habilidades técnicas, quiero obtener una mejor comprensión de los roles que juegan los ingenieros de software en las empresas tecnológicas. ¿Dónde comenzaría uno? ¿Debo familiarizarme con lenguajes de programación específicos? ¿O centrarse más en el proceso de cómo se desarrolla el software?

En primer lugar, has tomado una gran decisión. Los PM pueden brillar sin mucho conocimiento técnico, pero en general, cuanto más técnico se obtiene, más comprensión e influencia puede tener sobre el producto y el negocio. Nada es mejor que una combinación de conocimiento comercial sólido y una sólida comprensión del lado de la ingeniería (o al menos la capacidad de comunicarse de manera efectiva con los ingenieros).

Evite aprender a programar, eso es demasiado detallado para su propósito. Vaya de arriba a abajo por el lado técnico hasta que sienta que lo comprende. Dos áreas en las que debería centrarse, en mi opinión, son:

Proceso de desarrollo:

  • Estudie los ciclos de desarrollo de I + D: todos los pasos, las personas y las herramientas involucradas en el valor de envío a los clientes (preferiblemente al sentarse con su vicepresidente de I + D y tomar un lanzamiento reciente como ejemplo).
  • Asista a algunas reuniones de I + D como observador y preste mucha atención al papel que desempeñan los PM técnicos en ellas.
  • Estudie las interacciones entre el departamento de I + D y terceros, como diseñadores y traductores.
  • Bonificación: familiarícese con la teoría detrás de su proceso de I + D (¿ágil?) Leyendo libros y tutoriales. La teoría le enseñará más sobre las motivaciones y las mejores prácticas detrás de cómo trabaja.

Arquitectura de producto:

  • Solicite a una autoridad técnica que le dibuje un diagrama de alto nivel de los diferentes componentes de su producto (front-end y back-end).
  • Tome las 10 actividades más importantes que realizan sus clientes y pregunte a la autoridad técnica qué sucede en segundo plano durante esas 10 actividades.
  • Comprenda el impacto de la arquitectura del producto en el negocio: ¿qué componentes causaron algunos de los errores recientes que conoce? ¿Eres vulnerable a tiempos de inactividad o problemas de rendimiento en ciertos escenarios?
  • Tenga el diagrama en mente (y sobre su mesa) cuando surja un tema técnico en el futuro, y su comprensión técnica solo mejorará.

Una advertencia: a veces el conocimiento técnico lo hace demasiado consciente de las limitaciones y, por lo tanto, limita su pensamiento dentro de la caja. Como primer ministro, no caigas en esta trampa. Manténgase creativo y manténgase enfocado en el valor de envío al cliente 🙂

A nivel atómico, la mayoría del software se escribe pegando bibliotecas de código abierto con código de “pegamento”. Si su empresa está haciendo algo sustancialmente más técnico (escribir máquinas virtuales, compiladores, analizadores complejos, algoritmos de aprendizaje profundo, etc.), debe retirarse porque estará fuera de su alcance muy rápidamente, pero esto probablemente sea menos del 5% de proyectos.

No vale la pena que profundices en un idioma determinado. Debería poder escribir algo relativamente simple que aproveche dos o tres bibliotecas de código abierto. Python es relativamente fácil de aprender y puede enseñarle los conceptos básicos de orientación a objetos y programación funcional (estas son cosas que querrá comprender). Una vez que pueda leer y escribir python (o ruby ​​o groovy o algo similar), será útil aprender lo suficiente del idioma dominante en su empresa para que pueda leer el código escrito allí y comprenderlo.

Los objetivos al hacer todo esto (equivalente a un trabajo a tiempo parcial durante 3 a 6 meses) son darle una base en la codificación que sea lo suficientemente profunda como para que pueda evaluar los desacuerdos de los ingenieros con respecto a la (s) pila (s) utilizada (s) en la construcción de sus empresas y haga una evaluación sensata por su cuenta y le dará una idea del dolor al codificar cosas (esto lo retrasará cuando esté a punto de hacer demandas irrazonables).

Bien, cambie la pregunta: imagine todo lo que ha aprendido desde que se graduó de la escuela secundaria, todos sus años de educación en la universidad, todos sus años de experiencia laboral después. Imagínese si alguien publica una pregunta en Quora y dice: ” Soy una persona aleatoria en una empresa de tecnología empresarial. Quiero comprender mejor lo que hace un gerente de producto no técnico. ¿Dónde comenzaría?” ¿Cómo podría entrenar a esa persona en Quora para aprender rápidamente sobre todo lo que ha aprendido desde que se graduó de la escuela secundaria?

Estás haciendo una pregunta muy cargada. Sería útil si puede explicar el espacio tecnológico que opera la compañía. La comprensión básica de la informática siempre se agradece en la situación en la que está operando.