¡Hola, gente de Hacker Noon! Los gremios de tecnología son una forma popular pero aún nueva de implementar comunidades de prácticas en las empresas. Aún así, hay muchas preguntas, especialmente relacionadas con las responsabilidades y la organización del gremio. Junto con Andrew Kozin , he preparado esta publicación para usted como un resumen de nuestra experiencia personal y nuestra comprensión del papel de un gremio tecnológico en la actualidad.
La transferencia de conocimientos, tecnologías y experiencias entre ingenieros de una misma empresa se puede realizar de muchas formas. Es fundamental tener tales procesos, porque un buen especialista está aprendiendo e investigando durante toda la vida. A los desarrolladores también les gusta aumentar su red de contactos. A menudo intentan mantenerse al día con la comunidad y mantener su contexto profesional más amplio que el alcance del proyecto actual.
Ahí es donde surge el llamado “gremio”.
Un gremio de tecnología en sí mismo es una comunidad dentro de la empresa, todos los miembros de la cual se desarrollan utilizando la misma pila tecnológica, pero en diferentes proyectos. Por ejemplo: un gremio de front-end, un gremio de back-end, un gremio de Android, etc.
A cargo del gremio hay una sola persona (Líder de tecnología / Líder de competencia / Maestro del gremio / Coordinador del gremio) o varios profesionales con las mismas habilidades con este rol (Equipo líder de competencia central).
Las principales responsabilidades del gremio:
Expliquemos cada elemento de responsabilidad con más detalle.
Cada pila de tecnología en TI tiene su comunidad mundial y cada desarrollador que se precie trata de rastrearla.
Existen mejores prácticas bien establecidas, como OOP, patrones OOP, FRP, arquitectura limpia, principios SOLID y muchos otros. Este tipo de conocimiento no es tan difícil de obtener ya que hay muchos recursos que incluyen libros y autores famosos como Robert C Martin.
Además, existen mejores prácticas altamente especializadas para una tecnología, marco o proyecto en particular. En términos de proyectos específicos, estas mejores prácticas son las más valiosas. Pero a menudo y rápidamente se vuelven obsoletos. Requieren monitoreo continuo, clasificación y recuperación de los más relevantes. Para obtenerlos, debe realizar un seguimiento de las conferencias, las reuniones, leer al prof. fuentes de noticias, etc.
El gremio debe monitorear regularmente y extraer de todo este flujo interminable de información las mejores prácticas que sean adecuadas para su uso dentro de la empresa.
Debe quedar claro para todos los miembros del gremio que también son parte de la comunidad porque adoptan la experiencia adquirida en el mundo, la implementan con éxito y aumentan su experiencia única. Tales partes de experiencia (en un volumen que no violará la NDA) se pueden compartir en artículos y discursos. Por lo tanto, también contribuyen al desarrollo de la comunidad. Esta es una de las motivaciones para estar en un gremio.
Algunas soluciones exitosas y generalizadas que nacen dentro del gremio pueden impulsarse al código abierto. Después de todo, se podría compartir con la comunidad una experiencia de desarrollo única, siguiendo el ejemplo de cómo lo hicieron Google, Facebook, Airbnb, Wix y muchos otros. Si una empresa no solo se mantiene en contacto con la comunidad sino que también contribuye a su vida, esto la lleva a un nivel de prestigio radicalmente nuevo.
Los siguientes estándares deben describirse explícitamente dentro del gremio:
Se debe proporcionar acceso y navegación convenientes a todos estos estándares para que los nuevos empleados puedan familiarizarse con ellos lo antes posible al comenzar a trabajar.
El principio principal aquí es automatizar todo lo posible.
El estilo de código básico se automatiza mediante la configuración de herramientas de formato de código.
Todos los marcos, herramientas y administradores de paquetes utilizados deben configurarse fácil y rápidamente en las máquinas en funcionamiento, a veces con la ayuda de pautas preparadas. También es posible automatizar la creación de módulos/componentes/unidades individuales en el código del proyecto a través de herramientas de plantillas.
Las configuraciones de canalizaciones de CI/CD y muchos otros recibos se pueden almacenar cuidadosamente en las fuentes del gremio.
Las cosas que simplemente no se pueden automatizar deben verificarse durante la revisión del código y los procesos de tutoría.
Todo ingeniero experimentado sabe el daño que puede traer la deuda técnica. Al tener un gremio en la empresa, los ingenieros pueden usarlo como la principal emisora que informa a todos los demás (gerencia, clientes, equipo de ventas, etc.) sobre la deuda técnica, cómo lidiar con ella y cuáles son las consecuencias de ignorar este problema.
Un estándar muy importante es la comunicación entre los miembros del gremio. La administración del gremio debe evitar cualquier comunicación tóxica, comentarios sobre las habilidades de alguien. Cada desarrollador debe sentirse como un miembro digno del equipo.
Todos los comentarios sobre la eliminación técnica de la deuda deben ser razonables y correctos. Al mismo tiempo, es crucial que el gremio siga estrictamente los intereses de la implementación de las mejores prácticas y pueda fundamentar correctamente a los ingenieros menos calificados por qué sus soluciones no son apropiadas, requieren reelaboración o no pueden ser aprobadas.
Todas las relaciones entre la administración del gremio y los miembros del gremio deben basarse en la confianza.
El gremio debe apoyar el desarrollo de nuevos proyectos utilizando una pila de tecnología moderna. También debe intentar actualizar la pila para las existentes siempre que sea posible. Este es un gran componente de motivación tanto para los propios desarrolladores como para el cliente del producto. La experiencia global está creciendo y están surgiendo soluciones más flexibles, productivas y funcionales. El gremio debe marcar tendencias dentro de la empresa en este sentido. El gremio debe ser capaz de encontrar, implementar y justificar nuevas soluciones y marcos, lenguajes de programación y herramientas. Además, la elección no debe ser exagerada, sino reflexiva y racional en términos de estabilidad y apoyo adicional. Por lo tanto, se recomienda encarecidamente que la parte práctica del trabajo del gremio se base en proyectos internos de la empresa con objetivos reales y medibles.
Las estimaciones de Guild deben basarse en una arquitectura correctamente definida y esta definición debe basarse en la comprensión de las tecnologías de vanguardia relevantes existentes. Además, las bibliotecas de soluciones probadas existentes de un gremio también se pueden usar como una opción "lista para usar".
Todos los miembros del equipo deben entrenar su habilidad de estimación, cuanto mayor sea la calificación, más cosas voluminosas se pueden dar para evaluar (desde micro tareas hasta proyectos completos).
Al estimar las características, es necesario comprender sus pasos de implementación. En la mayoría de los casos son los siguientes:
La experiencia gremial debe basarse en la planificación y ejecución de proyectos internos, donde se utilicen nuevas tecnologías, enfoques y metodologías. Los proyectos pueden ser de muestra y tener solo fines de estudio, pero es preferible tratar de aplicar cualquier proyecto a las necesidades específicas internas de la empresa o incluso desarrollar e implementar una idea de un proyecto comercial. Este concepto también ayuda a utilizar y aumentar la experiencia de los recursos de banco existentes y aplicar el conocimiento tecnológico de vanguardia obtenido a proyectos comerciales regulares.
Una base de código de productos comerciales lanzados también puede ser una fuente útil para la experiencia del gremio. Algunas de las funciones (módulos) se pueden implementar con la posibilidad de reutilizarlas en proyectos futuros. Dichos casos deben registrarse y catalogarse en la biblioteca de soluciones comprobadas del gremio.
Es fundamental cultivar una cultura de comunicación y ayuda mutua para quienes necesitan ayuda. En las grandes empresas, el número de miembros de un gremio puede ser bastante grande. Es por eso que el equipo de liderazgo del gremio no solo debe asesorar, sino también saber cómo delegar las funciones de mentoría entre los ingenieros más calificados.
La tutoría debe ser una de las habilidades necesarias de los desarrolladores de alto nivel. Los desarrolladores dicen que no puedes sentirte como un verdadero senior, si no trabajas con compañeros de equipo de menor grado.
Los miembros del gremio deben desarrollarse continuamente. El gremio debe motivar, proporcionar a sus miembros hojas de ruta, listas de verificación y procedimientos de evaluación transparentes. La capacitación y los talleres pertinentes deben llevarse a cabo de manera regular. Las evaluaciones de habilidades deben hacerse en términos de ejecución de proyectos gremiales. La evaluación debe llevarse a cabo de tal manera que el resultado final sea razonable, medible, imparcial, honesto y comprensible para el propio ingeniero.
El gremio debe seleccionar especialistas de primer nivel que puedan proporcionar entrevistas de trabajo de alta calidad.
Como podemos ver ahora, un gremio de tecnología tiene muchos deberes. Entendemos que algunas de las declaraciones descritas anteriormente no pueden implementarse de inmediato y en su totalidad. A veces, en el mundo real, tienes que desviarte de las reglas por el bien del resultado.
No obstante, pensamos que los gremios tecnológicos deben servir a las empresas para lograr los siguientes objetivos:
Los productos lanzados deben tener una calidad decente, hechos con amor y enfoques modernos, una pequeña cantidad de deuda técnica, que se registra y se puede eliminar si es necesario.
Al tener gremios, las empresas pueden unificar más fácilmente el uso de tecnologías y los procesos de entrega en varias cuentas y departamentos.
Ofrezca soluciones comprobadas para tareas estándar y no triviales. La experiencia del gremio debería crecer y ayudar a resolver los problemas de ingeniería cada vez con más eficacia.
Aumentar significativamente la retención de ingenieros en una empresa. Es bueno cuando el gremio crea una gran cantidad de desarrolladores exitosos que están agradecidos por su experiencia.
La experiencia de la propia empresa debe almacenarse cuidadosamente, catalogarse y ser accesible para su reutilización. Y algunos de sus componentes innovadores deben ser presentados a la comunidad para promover a la empresa como un participante activo en su vida.