Creación del equipo
A nivel organizativo, la ingeniería de plataformas es una evolución lejos de la cultura reactiva. En una cultura reactiva, los desarrolladores solitarios crean herramientas en silos. Cuando se abandona ese desarrollador, el conocimiento de cómo funciona esa herramienta también deja, lo que puede provocar procesos rotos y tiempo de inactividad.
En una cultura más madura, el equipo de ingeniería de plataforma crea de forma proactiva y mantiene las herramientas. Hay autonomía administrada para desarrolladores y desarrolladores que pueden empezar a trabajar rápidamente en nuevos proyectos.
Para que los equipos de ingeniería de plataformas tengan éxito, sus organizaciones deben tener culturas proactivas con la compra ejecutiva y los desarrolladores con las aptitudes adecuadas.
Las organizaciones con madurez de ingeniería de plataforma también tienen un liderazgo sólido. La ingeniería de plataformas dentro de una empresa es un acto de equilibrio que requiere reasessmentación continua. Las organizaciones deben apoyar al equipo de ingeniería de plataformas en sus esfuerzos para comprender el uso actual de los recursos y asignar una ruta de acceso.
En las primeras fases de la adopción de ingeniería de plataforma, cada uno de los equipos de productos tiene su propio conjunto único de herramientas, operaciones e implementación. En una organización de ingeniería de plataforma madura, la ingeniería de plataforma centralizada se ve como la mejor manera de trabajar tanto por el liderazgo como por los desarrolladores. Las organizaciones maduras reconocen que los problemas del equipo de productos son problemas organizativos.
.. cuando perseguíamos diferentes rutas de acceso, el costo de la nube, el costo de la infraestructura, el costo de ingeniería, varios aspectos, resultó ser un problema organizativo y el problema de todos los desarrolladores de 20 000 o 30 000 empleados del problema de la organización. – Líder sénior de ingeniería en una empresa de software empresarial
La cultura de la organización debe admitir que se encuentra en una ruta de detección constante en la ingeniería de plataformas. Los ejecutivos deben centrarse en apoyar la capacitación del equipo de ingeniería de plataformas para innovar.
El objetivo de su organización debe ser más hacia una cultura de optimización en la que los ejecutivos:
- Capacitar a los equipos para abordar los casos perimetrales de forma eficaz e impulsar la innovación.
- Promover la autonomía y la responsabilidad dentro de los equipos para fomentar la innovación y la experimentación.
- Garantizar la relevancia y la eficacia continuas en medio de las necesidades empresariales y las demandas de los usuarios en constante evolución.
Con el tiempo, las organizaciones pasan de provisional a optimizar los niveles de apoyo a los cambios culturales con ingeniería de plataforma. En cada nivel, el papel del liderazgo en impulsar los cambios culturales necesarios para adoptar la visión de la ingeniería de plataforma evoluciona.
Provisional | Operativos | Escalable | Optimización |
---|---|---|---|
Impulsar una cultura de toma de decisiones controlada por datos y capacidad de adaptación. | Promover una cultura de colaboración, aprendizaje continuo y mejora. | Promover una cultura de empatía y crecimiento | Fomentar la innovación y capacitar a los equipos para impulsar el cambio y el progreso |
Las motivaciones organizativas también evolucionan en cada nivel de apoyo al cambio cultural de ingeniería de plataformas.
Provisional | Operativos | Escalable | Optimización |
---|---|---|---|
|
|
|
|
Los ingenieros de plataforma son el pegamento entre el desarrollo y las operaciones. En términos de estructura de organización específica, el modelo de topologías de equipo es un buen enfoque para pensar en lo que necesita hacer. Por ejemplo, puede optar por tener un equipo de plataforma evolucionado, con especialistas independientes que se centran más en los aspectos orientados al desarrollador de la plataforma.
Para que se realice correctamente, identifique lo siguiente:
- Patrocinadores del equipo (normalmente ejecutivos) que ayudan a priorizar objetivos de alto nivel y defender el uso de la plataforma en toda la organización más amplia.
- Las partes interesadas de las operaciones, la seguridad, el cumplimiento y la arquitectura para ayudar a garantizar que la plataforma pueda adaptarse a sus instrucciones y necesidades.
- Alguien que actúe como gerente de productos (independientemente del título real) para comprender y ayudar a priorizar las necesidades de todos los constituyentes.
Los ingenieros de plataforma deben tener una mentalidad de producto y comprender también las operaciones. Tanto si se inician como desarrolladores como en el equipo de operaciones es menos importante que el conjunto de aptitudes. Un equipo que crea una plataforma de desarrollador interna puede ganar fuerza al incorporar varios miembros del equipo con diferentes antecedentes: desarrollo, operaciones de TI, administradores de K8s, ingenieros de confiabilidad de sitios (SRE) e infraestructura como expertos en código (IaC).
También puede reforzar el conocimiento y el conjunto de aptitudes de su equipo para desarrollar herramientas mediante la incorporación de desarrolladores adecuados de los equipos de aplicaciones existentes de su organización. Estos desarrolladores están en un buen lugar para ayudar a representar la voz del cliente a medida que piensa en sus inversiones.
Encontrar ingenieros de plataforma puede ser un desafío.
Es muy difícil contratar muy buenos ingenieros de infraestructura y plataforma. Muchas de las personas que contratamos hoy son muy apasionados de las aplicaciones que están directamente orientadas al cliente, ¿verdad? Pero no tenemos un gran público o candidatos en toda la industria tecnológica que son apasionados de la ingeniería de infraestructuras y que siempre es un desafío... Para infra, este tipo de experiencia es poco frecuente. - Vicepresidente de ingeniería en una empresa de ventas de tamaño medio
Los ingenieros de plataforma deben ser capaces de:
- Creación y escalado de productos internos para desarrolladores centrados en la eficiencia, confiabilidad y seguridad
- Contribuir a la arquitectura y el diseño de los productos de ingeniería de plataforma
- Trabaje correctamente con la orquestación de contenedores (ejemplo: Kubernetes), la integración continua o la implementación continua (ejemplos: Acciones de GitHub, Azure Pipelines) y herramientas de supervisión y registro (ejemplos: Prometheus, Grafana, Elasticsearch)
- Creación de plantillas con infraestructura como código (IaC) y herramientas asociadas (ejemplos: Terraform, Azure Resource Manager)
- Escribir código en al menos un lenguaje de scripting (ejemplos: Python, PowerShell, Bash)
La creación de un excelente equipo de ingeniería de plataforma requiere una combinación de diversas aptitudes técnicas y un enfoque centrado en el producto. A pesar de los desafíos de contratación, la creación de un equipo con diversos antecedentes conduce a mejores plataformas internas que mejoran la eficiencia, la confiabilidad y la seguridad. Este enfoque holístico no solo aborda las necesidades técnicas inmediatas de su organización, sino que también fomenta una cultura de innovación y mejora continua.