Después de años de crecimiento rápido, los vientos han cambiado en muchas empresas tecnológicas, con cambios de estrategia, recortes de presupuesto, reestructuraciones y despidos. La productividad y la eficiencia se han convertido en las palabras de moda de la temporada, y aunque la presión hacia "más productividad en ingeniería" está aumentando en muchas organizaciones, puede ser difícil aplicar estos conceptos abstractos a los equipos de ingeniería y convertirlos en acciones concretas que no alienen a tu equipo y que tengan un impacto duradero que se alinee con las necesidades de tus partes interesadas.
Estoy aquí para ayudarte. En esta charla, iremos:
- Más allá de las palabras de moda: ¿Qué significan productividad, eficiencia y efectividad?
- Más allá de "implementar métricas DORA": ¿Cómo puedes entender y mejorar la productividad de tu equipo como líder técnico o de personas?
- Más allá de tu equipo: ¿Cómo puedes gestionar eficazmente hacia arriba para mantener informados a tus jefes y garantizar la alineación con los objetivos organizativos?
Habiendo liderado docenas de equipos en momentos de gran cambio, sé que liderar durante una recesión tecnológica presenta desafíos únicos. Obtendrás pasos concretos para ayudarte a mejorar en tu equipo y liderar con éxito en tiempos inciertos.
This talk has been presented at C3 Dev Festival 2024, check out the latest edition of this Tech Conference.
Esta charla se centra en la importancia de la productividad, la eficiencia y la efectividad en el desarrollo de software. Destaca el papel en evolución del liderazgo, la necesidad de claridad en la comprensión de estos términos y la importancia de las métricas para impulsar comportamientos y resultados. La charla enfatiza el valor de alinearse con los objetivos empresariales, involucrar a los equipos en la definición de medidas de productividad y mejorar continuamente la productividad para alcanzar metas.
1. Introducción a la Productividad del Desarrollador
Short description:
Soy Lena Reinhardt. Hoy hablaré sobre términos de moda en los negocios como eficiencia, efectividad, productividad y cómo hacer que funcionen como líder técnico. La eficiencia ha sido un término de moda, pero también tiene mala reputación. Veamos la evolución de la productividad del desarrollador y su importancia a lo largo del tiempo.
como eficiencia, efectividad, productividad, y cómo hacer que realmente funcionen como líder técnico con tus equipos porque ha sido un año complicado. La primera vez que di esta charla fue hace un año y las cosas han cambiado en la industria en los últimos años. Todos lo sabemos. Todos hemos sido parte de ello. Y la eficiencia específicamente ha sido el gran término de moda en muchas empresas tecnológicas. He hablado con docenas de empresas y líderes de nuestra industria en los últimos probablemente dos o tres años desde que las cosas comenzaron a empeorar en la industria tecnológica en la que estamos ahora y, al igual que muchos de ustedes, he estado tratando de entender qué está sucediendo. Y muchas de las cosas que se han hecho han sido realmente impactantes para muchas personas en nuestra industria, incluyendo a personas en posiciones de liderazgo. Muchos despidos se justificaron por la eficiencia. Y como alguien que ha trabajado en finanzas antes de entrar en tecnología, como alguien que tiene formación en negocios, lo entiendo. Y al mismo tiempo, también creo que la eficiencia, efectividad, productividad, tienen una mala reputación y por buenas razones. Así que brevemente quiero llevarte a un viaje por el camino de la memoria y ver cómo ha evolucionado el espacio de la productividad del desarrollador a lo largo del tiempo. Y por supuesto, al hablar de cualquier tendencia, hay que mostrar las tendencias de Google. Eso es lo único que hay que mirar. Este es un gráfico de cuántas veces la gente ha buscado la productividad del desarrollador desde 2004. Así que quería mostrarte lo que ha sucedido durante este tiempo. Esto es mucha ilustración para un solo gráfico. Pero hay algunas cosas realmente interesantes porque la productividad del desarrollador como tema ha estado presente mucho más tiempo de lo que realmente te puedes imaginar. No todos aquí han estado en la industria durante 40 años. Así que para todos los que se unieron en la última década, por ejemplo, piensen en cosas como XP, programación extrema. Eso ha estado presente desde 1999 cuando se publicó el primer libro y el autor ha estado trabajando en ello mucho más tiempo. El Manifiesto Adler se publicó en 2001. Aquí puedes ver una foto de una de las reuniones de las personas que estuvieron involucradas en eso. El Manifiesto de la Artesanía del Software que Fowler y otros escribieron fue en 2009. Dora, la organización de investigación de DevOps, se inició en 2015. El libro Accelerate, que es la base del pensamiento de muchas personas sobre la productividad del desarrollador, es de 2018. Luego, el framework del espacio que lo amplió se publicó en 2021 durante la COVID. Y luego, por supuesto, la recesión tecnológica comenzó alrededor de 2022. Les muestro esto para ilustrar que la productividad del desarrollador ha estado en la mente de las personas durante mucho tiempo.
2. Roles de Liderazgo y Productividad en Ingeniería
Short description:
Los roles de liderazgo se tratan de ayudar a una empresa a alcanzar sus objetivos. Conecta tu trabajo con el valor empresarial y los resultados para tener mejores oportunidades y seguridad laboral. Los roles como líderes están cambiando y necesitamos hablar sobre la productividad, eficiencia y efectividad en ingeniería. Se han hecho cosas malas en nombre de la eficiencia.
durante mucho tiempo. Y muchos conceptos con los que probablemente has estado trabajando durante mucho tiempo como desarrollador, como Agile o incluso XP, también se tratan de la productividad del desarrollador en su esencia. Esto también significa que todo este tema es realmente importante. Los roles de liderazgo, sin importar si eres un líder técnico, un líder de personas, tienes informes directos o no, son roles empresariales. Se trata de ayudar a una empresa a alcanzar en última instancia sus objetivos. Además, tú realmente tienes la experiencia para hacerlo bien. Probablemente trabajas con un equipo, con un conjunto de servicios, en un dominio específico. Sabes cómo ayudar a las personas allí a alcanzar los objetivos que tienen y los objetivos que la empresa tiene por extensión. Y está el lado decepcionante, triste y molesto de esto, pero el momento en el que estamos como industria ahora también significa que también se trata de convertirse en parte de la hoja de cálculo que tiene los nombres de las personas que serán despedidas. Desearía que eso no fuera así. Desafortunadamente, es la realidad de las cosas. Y una cosa a tener en cuenta como líder es que cuanto más puedas conectar el trabajo que estás haciendo, el trabajo que tus equipos están haciendo, con el valor empresarial, con los resultados, mejores serán tus posibilidades al menos. No hay garantías, pero te ayudará mucho en tu trabajo diario. Y también espero que te ayude con la seguridad laboral.
Ahora que hemos dejado atrás la parte desafortunada de esto, quiero hacer un breve resumen. Nuestra industria ha estado cambiando. Y esto también significa que nuestros roles como líderes están cambiando. Y uso el término líder bastante durante esta charla. Y cuando digo líder, me refiero a cualquier persona que influye, guía a otros, da dirección, proporciona habilidades de facilitación , por ejemplo. Todas esas son habilidades de liderazgo. El liderazgo puede estar en cualquier nivel. No tiene que ver con títulos o roles. Se trata del trabajo que estás haciendo y las acciones que estás tomando. Y todas estos cambios significan que realmente necesitamos hablar sobre la productividad en ingeniería, la eficiencia en ingeniería, la efectividad en ingeniería. Y lo primero que vamos a hacer es desglosar todos esos términos. Y ya he mencionado que este es un tema incómodo . Y probablemente no solo es un tema incómodo para ti, sino también para muchos de los ingenieros con los que estás trabajando. En primer lugar, por supuesto, se han hecho muchas cosas malas en nombre de
3. Understanding Productivity and Idea Impala
Short description:
La productividad puede significar muchas cosas y a menudo hay falta de claridad. Hablar de dinero y generación de ingresos es incómodo para muchos. Muchos líderes en tecnología carecen de formación empresarial formal. Estoy aquí para ayudarte a comenzar e introducir el concepto de idea Impala, que representa la efectividad en el logro de objetivos.
eficiencia. Eso es lo que sucedió. También son palabras muy importantes. Llegaremos a explicaciones en muy poco tiempo. Pero la gente no tiene una idea muy coherente de lo que significan esas cosas. Productividad puede significar muchas cosas diferentes. Y no hay mucha claridad al respecto. Además, en muchas culturas, hablar de dinero es bastante tabú. Y de hecho, está mal visto. Y al menos para muchas otras personas, es incómodo. E incluso en el trabajo, tener conversaciones sobre dinero en el sentido de cómo qué ingresos está generando o ayudando a generar el trabajo de ingeniería, por ejemplo, no solo es difícil, sino que a mucha gente le resulta profundamente incómodo. Y muchos líderes en tecnología no fueron capacitados para esto. Muchos líderes y gerentes nunca recibieron formación empresarial formal, pero fueron ascendidos en algún momento. Y estos temas empresariales son bastante inaccesibles, sinceramente. Y aquí sigo, por supuesto, para ayudarte a comenzar porque descubrí que esto no es tan difícil como parece. Y estoy aquí para darte herramientas para que puedas comenzar hoy mismo o mañana junto con tus equipos. Esto es como si llevara un sombrero de hojas de cálculo porque tengo uno. Voy a seguir adelante y comencemos a ayudarte a pensar en la productividad para la ingeniería. Y con eso, te voy a presentar primero lo que llamo idea Impala. Un dato curioso es que las Impalas miden poco menos de 5 pies de largo, pero pueden saltar 32 pies de distancia. Eso equivale a que yo haga un salto de 38 pies en este momento. Eso es, creo, alrededor de seis u ocho metros. Olvidé la conversión. Eso es desafortunado. Alguien por favor corríjame en esto. Entonces, las idea Impalas representan el salto. Representan la efectividad. La efectividad es uno de los tres grandes términos de los que voy a hablar . Compartiré contigo cómo se definen y cómo se diferencian entre sí. Y comprender esos términos será honestamente útil para ayudarte a comprender el espacio de la productividad, pero también cómo hablar de ello. La efectividad se trata de hacer lo correcto. Se trata de lograr nuestros objetivos. Siempre recuerdo esto porque tiene la palabra efecto en ella.
4. Effectiveness, Efficiency, and Productivity
Short description:
La efectividad se trata de hacer lo importante y lograr el resultado correcto. La eficiencia se trata de limitar el desperdicio en el camino. La productividad consiste en hacer más con lo mismo, centrándose en lograr más con los recursos disponibles. Es el enfoque más común para cualquier líder en tecnología.
La efectividad se refiere a una meta, algo que se logra, un resultado. Y la efectividad significa que hacemos lo más importante y obtenemos el resultado correcto. Por ejemplo, no solo estás enviando algo, sino que el resultado es que los clientes realmente lo adopten. Las personas están utilizando la función que construiste. La efectividad también incluye aspectos de calidad. Esa es la primera parte. En contraste, está la eficiencia. Y con la eficiencia, quiero presentarte a la calculadora Capybara. Un dato curioso es que las Capybaras viven en tierra y en el agua. Tienen patas parcialmente palmeadas y son excelentes nadadoras. En su hábitat natural, generalmente no usan calculadoras, pero esta sí. Y esta calculadora Capybara representa la eficiencia. Al igual que una Capybara normal, puede navegar cualquier terreno para encontrar el mejor camino a seguir. Y se pregunta, ¿qué acciones estamos tomando y cuál es la forma correcta de hacer las cosas? La eficiencia se trata de limitar el desperdicio en el camino. El desperdicio puede ser cosas como dinero, tiempo, tecnología. Por ejemplo, los costos de infraestructura pueden ser ineficientes, pero también el enfoque mental, como el cambio de contexto, puede ser realmente ineficiente también.
Y ahora viene la parte divertida, donde hablamos de la productividad. Y la productividad en ingeniería se trata de hacer más con lo mismo. No estoy lanzando términos que a menudo se usan indistintamente, lo cual hace que este tema sea realmente difícil. La gran diferencia entre la productividad y la eficiencia es básicamente cómo se calcula el resultado. La eficiencia se trata de hacer las mismas cosas, pero utilizando menos recursos. Por ejemplo, enviar las mismas mejoras, pero hacerlo en menos tiempo o evitar el desperdicio mediante el cambio de contexto. La productividad consiste en utilizar el mismo tiempo o el mismo conocimiento y la misma cantidad de cambio de contexto, pero hacer más en ese tiempo. Entonces, la productividad consiste en hacer más con lo mismo. La base no cambia. La eficiencia consiste en hacer lo mismo con menos. Esto es confuso. Voy a usar principalmente el término productividad en el futuro de esta charla. Una razón para esto es que la productividad es el término más ampliamente utilizado. También es el término que la mayoría de las personas entienden mejor y al menos será un buen punto de partida. Además, si tienes un equipo establecido, generalmente no puedes contratar personas, por ejemplo. Lo principal que puedes hacer es mejorar la productividad haciendo más con lo mismo. Entonces, ¿cómo puedes trabajar con el equipo que tienes, con las personas que están allí, el conocimiento que tienen, las habilidades, el tiempo, la capacidad, para hacer más con lo mismo? Así que para cualquier líder
5. Understanding the Terms and Focusing on Metrics
Short description:
Conoce los términos aproximadamente. Escucha lo que los líderes a tu alrededor están diciendo y ajusta tu propio lenguaje y enfoque en consecuencia. Valida tu comprensión de en qué se está enfocando tu empresa. Concéntrate en lo que se mide y en los comportamientos que impulsan esas métricas.
En tecnología, la productividad es el ángulo más común para analizar. Eso también significa que tienes estos tres términos que hemos analizado. Tenemos, exactamente, tenemos eficiencia, productividad y efectividad. Es muy confuso. Tendrías razón, como mencioné, muchas personas tienen dificultades con estos términos y cómo definirlos. En resumen, quiero ilustrarlo un poco. Ayudas a tu empresa a alcanzar sus objetivos. Lograr esos objetivos, aquí está el impala, significa que eres efectivo. Todos los días, tomas innumerables decisiones grandes y pequeñas con tu equipo para ayudarte a alcanzar esos objetivos, y lograrlos de una manera mejor que antes. Eso es eficiencia o productividad. Por supuesto, puedes seguir este camino, o simplemente puedes comprar un helicóptero y llevar a todo tu equipo hasta tu objetivo en la cima de la montaña, y luego esperar que no te quedes sin combustible en el camino. Eso no es exactamente eficiente porque cuesta mucho dinero, consume mucho combustible, estás desperdiciando recursos, pero puede ser productivo porque logras tu objetivo en menos tiempo. Mientras logres tus objetivos, eso aún puede ser productivo. Para resumir, tienes efectividad, se trata de hacer lo correcto. Se trata de obtener el resultado correcto y el impacto que buscas. Luego está la eficiencia, donde haces las cosas correctamente. También estoy empezando a decirlo mal, pero es solo para mostrarte que le puede pasar a cualquiera, incluso a alguien que lleva 20 años en esto. La eficiencia se trata de hacer las cosas correctamente y utilizar menos recursos para obtener el resultado que deseas. La productividad se trata de hacer más con los mismos recursos que tienes. Ahora tenemos los términos. Lo que esto significa para ti es, en primer lugar, conoce los términos, conócelos aproximadamente. Tengo al final de la diapositiva, en bit.ly/eng-productivity, puedes encontrar una hoja de trucos que tiene los términos para ti, para que los tengas listos si los necesitas, así como mucho del contenido que tendremos durante el resto de esta charla. Debes conocer esto aproximadamente para poder hablar con las personas al respecto. Lo más importante casi es escuchar lo que los líderes a tu alrededor están diciendo. ¿Qué términos están usando? ¿Están hablando de productividad? ¿Están hablando de eficiencia? ¿Están hablando de lograr objetivos? ¿Hay sinónimos para algunos de estos términos? Escucha eso y ajusta tu propio lenguaje, así como las cosas en las que te estás enfocando con tus equipos en consecuencia. Valida tu comprensión. Si no estás completamente seguro de en qué se está enfocando tu empresa, por ejemplo, si la eficiencia es más importante o si se trata más de productividad, valídalo. Pregunta a tu jefe, pregunta a tu gerente de producto, pregunta a las personas con las que estás trabajando. Por último, no te obsesiones demasiado con los términos. Como mencioné, las personas no siempre los usan de la manera en que se definen técnicamente, lo cual sucede. En cambio, concéntrate mucho más en lo que se mide y en los comportamientos que esas métricas impulsan.
6. Achieving Goals with Limited Resources
Short description:
El resultado con recursos limitados es importante para las empresas. Las compañías optimizan una combinación de efectividad, productividad y eficiencia. Contratar y retener talento puede ser una forma efectiva de alcanzar metas. Las métricas de productividad son cada vez más importantes. Reutiliza los recursos de manera inteligente para ayudar a tu empresa a alcanzar sus metas.
medidos y los comportamientos que impulsan esas métricas. Hablaremos de cómo hacerlo en un momento. Los términos están establecidos. Lo que más importa a la mayoría de las empresas, ese es mi último consejo profesional para ti sobre esto, es el resultado con recursos limitados, lo que significa que alcanzas tus metas, eso es efectividad. También hay cosas como la calidad en eso, para que los clientes no estén insatisfechos con las cosas que estás produciendo, y con recursos limitados, es decir, con los recursos que tienes, y eso se relaciona con la productividad. Limitar el desperdicio es un principio importante, por ejemplo, en Agile, de donde provienen cosas como los límites de trabajo en progreso o la idea de limitar el cambio de contexto. La eficiencia es importante en algunas empresas en algunos momentos. No la descuides por completo, pero a menudo no es la máxima prioridad. Las compañías optimizan una combinación de esas cosas. Eso también es importante saberlo. Algunas compañías, por ejemplo, en la última década, gastaron una fortuna solo en contratar y retener talento. Eso no necesariamente fue eficiente, pero fue una forma realmente efectiva de ayudarles a alcanzar sus metas en un mercado que era realmente difícil. Ahora esas cosas han cambiado un poco. Muchas compañías y muchos jefes, especialmente, están mirando las métricas de productividad. Creo que, ¿podemos hacer más con lo que tenemos? Eso también significa para ti, como líder de ingeniería, que es tu trabajo reutilizar los recursos de manera inteligente para ayudar a tu empresa a alcanzar sus metas.
7. Understanding Resources and Taking Teams Along
Short description:
Recursos como el tiempo, la capacidad y el conocimiento son importantes. Llevar a los equipos consigo es crucial. Utiliza un marco de trabajo con cinco pasos: comprender la organización, definir el éxito, conocer tu posición y tomar acción. La productividad es un deporte de equipo. Comienza por comprender los objetivos de tu organización y lo que es importante para tu jefe. Haz preguntas y revisa documentos para lograr alineación.
Por supuesto, los recursos son cosas como el tiempo, la capacidad y el conocimiento. Las personas no son recursos, pero estoy seguro de que lo sabes. Te prometí una forma larga de empezar, y esto es todo. En última instancia, como líderes, facilitamos la productividad. Estoy aquí para mostrarte en las próximas diapositivas cómo hacerlo realmente. Una cosa que es realmente importante para mí en todo esto es llevar a los equipos consigo. Ninguno de nosotros puede hacer individualmente todas las cosas que nuestros equipos han establecido como metas. Necesitamos llevar a las personas consigo. Con un tema como la productividad en el que muchas personas han tenido malas experiencias, han trabajado en empresas que simplemente trataban mal a las personas y lo llamaban productividad o eficiencia. Con un tema como este, es aún más importante llevar a las personas consigo. Te mostraré un framework que puedes usar para hacerlo. Los pasos son estos cinco, donde conoces tu organización, defines cómo sabrás cómo se ve el éxito, conoces tu posición y luego lo haces realidad. Pasaremos por esto bastante rápido porque honestamente es bastante simple. Como muchos enfoques de liderazgo, aquí comenzamos con la comprensión de las cosas, comprendiendo cómo se verá el éxito y luego tomando acción. Esto solo lo explica un poco más. La productividad en ingeniería es un deporte de equipo. Esa es nuestra primera regla. No puedes hacer esto solo. La productividad está presente en cada decisión que tomas con tus equipos. Comienzas por comprender los objetivos de tu organización, cuáles son los objetivos de tu organización, y también lo que es importante para tu jefe. Si trabajas en una empresa bastante grande, lo que tu organización quiere y los objetivos que tiene pueden no ser tan importantes como lo que realmente quiere tu jefe. Aquí tienes algunas preguntas que puedes hacerle a tu jefe, o también puedes consultar documentos, por ejemplo, como hojas de ruta. Cosas como, ¿cuáles son nuestros valores y restricciones? ¿Para qué estamos optimizando como empresa? ¿Cómo estamos generando y costeando el dinero del negocio, ya sea como equipo o como dominio, cualquier organización o entidad que lideres? Además de hablar con tu jefe, también puedes consultar noticias de la industria para el presupuesto. Si no tienes uno, puedes pedirle a tu socio de finanzas o HR un cálculo de horas de empleado. Es un número que muchas empresas utilizan para estimar cuánto cuestan las cosas. Puede ser muy útil si solo necesitas un marcador de posición y no tienes realmente la compensación de las personas que están en tu equipo. Es una buena manera de ayudarte a hacer cálculos. El objetivo de este ejercicio es básicamente la alineación. Necesitas comprender lo que tu empresa quiere, a dónde va, para poder transmitir eso a tu equipo. Ahora, este paso aquí es una especie de subpaso de cada uno de los pasos principales que te mostré.
8. Validating Learnings and Aligning with Boss
Short description:
Valida todo lo que aprendas resumiendo y compartiendo con tu jefe. La propiedad y la validación son cruciales en el liderazgo. Alinea regularmente con tu equipo y toma las medidas adecuadas.
La idea principal aquí es que valides todo lo que aprendas. Digamos que has revisado una hoja de ruta, has analizado los objetivos organizacionales y tienes una idea de que actualmente a tu organización le importa mucho la productividad. Además de eso, tu organización también quiere hacer el trabajo de los desarrolladores un poco más eficiente. Por ejemplo, ahorrar costos en infraestructura. Has visto esas cosas. Lo que haces en este paso es resumirlo y compartirlo con tu jefe, y decir: 'Hey, he estado revisando nuestros objetivos. He estado tratando de entender un poco mejor nuestras estrategias para poder alinear a mi equipo. Aquí están los puntos principales que he entendido de esto. ¿Es esto preciso? ¿Se alinea con tu comprensión? ¿Hay algún contexto que me falte o que aún necesite?' Este tipo de validación es realmente útil en el liderazgo en cualquier caso, porque en última instancia, aún necesitas ser responsable. Necesitas ser la persona que intenta descubrir esas cosas, no en todos los niveles. ¿Va a haber un jefe que te diga esas cosas de manera proactiva, si somos honestos? Además, te ayuda a asegurarte de que estás en la misma página que las personas con las que estás trabajando, para que luego puedas tomar las medidas adecuadas. No voy a mostrar esta diapositiva más, pero esto debería convertirse en algo que hagas de manera regular. Ahora conoces los objetivos de tu organización. Tienes una idea aproximada de hacia dónde se dirige.
9. Defining Success and Metrics
Short description:
Las métricas crean incentivos, comportamientos y cultura. Utiliza métricas que midan lo que importa a tu empresa. Haz un caso para la productividad. Utiliza métricas de eficacia, eficiencia y productividad. Ajusta las métricas si es necesario. Lleva a tu equipo contigo e involúcralos en la definición de las medidas de productividad.
para ir. A continuación, definimos cómo se ve el éxito. Ese es un paso que generalmente es muy fácil de saltar, pero creo que es realmente fundamental porque las métricas y las métricas en cualquier sentido, ya sean cosas cualitativas o cuantitativas, las métricas crean incentivos que crean comportamientos, que crean cultura. Cualquier métrica que utilices importa mucho más de lo que puedas pensar. Por eso no importa si terminas utilizando métricas DORA, el framework space, DevEx, Flow o cualquier otra cosa que haya. No importa lo que uses si estas métricas no miden lo que importa a tu empresa y si no tienes a tu equipo y a tu jefe a bordo y no los mantienes informados sobre tus decisiones. Para ayudarte a empezar, es muy probable que necesites hacer un poco de caso sobre lo que productivity significa en última instancia para tu equipo. En esta diapositiva puedes ver una lista enorme de métricas. Estas son para la eficacia. Por ejemplo, los objetivos están alineados, tienes la calidad que buscas en la entrega de las cosas, los clientes están adoptando las herramientas que estás utilizando o las características que estás implementando. Aquí hay muchas métricas de eficiencia y productivity como la frecuencia de implementación, el tiempo de respuesta a los cambios. Es posible que ya hayas visto muchas de estas métricas en otros contextos, como por ejemplo, las métricas DORA. No importa qué métricas elijas. Elige dos o tres para empezar. Cómo empezar es realmente la parte más importante porque muchos de nosotros tendemos a obsesionarnos fácilmente con la precisión en las métricas, métricas que son realmente precisas. Eso generalmente no importa. La pregunta principal que generalmente necesitas poder responder en este paso es básicamente ¿qué tan bien o qué tan mal lo estamos haciendo en realidad? Obtener ese tipo de visibilidad es realmente importante. Por eso también empiezas con lo que puedes saber e impactar fácilmente. Si actualmente solo tienes métricas ágiles disponibles, como el tiempo de ciclo, por ejemplo, úsalas. Con cualquier métrica que elijas, también es muy importante evitar
10. Metrics and Team Involvement
Short description:
Considera escenarios extremos y ajusta las métricas en consecuencia. Involucra al equipo en la definición de las medidas de productividad. Asegúrate de que las métricas se utilicen para o acerca del grupo. Mantén al equipo informado y aborda las preocupaciones. Utiliza las métricas como una forma de aprender y mejorar.
incentivos equivocados. Siempre me gusta preguntar, ¿qué pasaría si llevamos esto al extremo? ¿Y si durante semanas solo nos enfocamos en el tiempo de ciclo? Eso podría no ser tan malo. Sin embargo, dependiendo del área en la que trabaje tu equipo, eso podría tener consecuencias perjudiciales. Es importante tener siempre eso en mente. Si es necesario, puedes ajustar con una métrica equilibrada, por ejemplo, el tiempo de ciclo, y además, algún tipo de métrica de calidad, si eso es una preocupación que tienes.
Siempre deja claro si las métricas son para o acerca del grupo. Mencioné que es importante llevar a tu equipo contigo, y aquí es donde lo haces. Puedes ir a tu equipo y decirles: quiero entender mejor cómo podemos ser más productivos como equipo. Esto es lo que productivity realmente significa para nosotros como equipo, y así es como lo vamos a medir. Por ejemplo, encontré que el tiempo de entrega y la calidad del trabajo que estamos produciendo son medidas realmente buenas para comenzar. ¿Qué piensa el equipo al respecto? Pregúntales. Es posible que tengan algunas preocupaciones que necesitarás abordar al principio, y eso también es una parte importante de esto. Siempre me gusta decirles a las personas si las métricas que estoy utilizando son para este grupo, como por ejemplo, para aprender juntos, crecer juntos, o si las métricas son acerca de un grupo. Por ejemplo, si estoy informando sobre un equipo, me aseguro de que mi jefe tenga visibilidad. Un equipo debería poder utilizar las métricas como una forma de aprender, y siempre deberían estar conscientes de qué métricas se utilizan para informar sobre ellos. Habla con tu equipo,
11. Developing Productivity and Achieving Goals
Short description:
Ten en cuenta que las métricas son señales, no objetivos. Revisa la posición de tu equipo e identifica áreas de mejora. Discute continuamente la productividad e incorpórala al trabajo de tu equipo. Sigue estos pasos para desarrollar la productividad y alcanzar tus objetivos. Accede a recursos adicionales en el enlace proporcionado.
manténlos informados. En este punto, probablemente tengas una o dos, tal vez tres o cuatro métricas. Es realmente importante tener en cuenta que las métricas son señales y no objetivos. Solo te ayudan a ver cómo van las cosas. No son el objetivo al que te diriges. Tienes los objetivos de tu organización. Tienes una idea de cómo medir si lo estás haciendo bien o no. El siguiente paso será conocer tu posición. Aquí es donde haces una breve revisión de dónde se encuentra tu equipo actualmente. Normalmente recomiendo hacer esto al menos dos veces al año. Si estás en una empresa muy dinámica, como una startup, también puede tener sentido hacerlo más a menudo. En este punto, por ejemplo, estás viendo cuál es nuestro presupuesto, cómo estamos generando y gastando dinero, dónde están las grandes brechas en nuestra tecnología, dónde hay algunos problemas tal vez en nuestra entrega y nuestro proceso. Realmente deberías pedir la opinión de tus compañeros de equipo sobre esto, porque generalmente tienen cosas que realmente les molestan, que hacen que su trabajo sea mucho más difícil de lo que debería ser, o que son simplemente molestias que podrían resolverse. Mira dónde puedes mejorar como un equipo, y luego establece prioridades. Estas oportunidades de mejora, aquí tienes algunas preguntas que puedes hacerte a ti mismo o a tus compañeros de equipo al respecto. Luego puedes agruparlas en cosas donde, por ejemplo, estás ahorrando dinero, áreas donde puedes ser más productivo, donde puedes hacer más con lo que tienes, y mejoras a corto plazo, así como cosas que son un poco más a largo plazo. La idea principal aquí es ayudarte a conocer tu posición. Honestamente, esos tres pasos, si puedes hacerlos, y probablemente puedas hacerlos en un par de horas, pero si puedes hacerlos, ya tendrás una idea muy clara de cómo está tu equipo y en qué áreas se pueden mejorar. Ahí es cuando empiezas a hacerlo realidad. Lo más importante, sinceramente, es seguir hablando de este tema. En este punto, has comenzado a tener conversaciones sobre la productividad con las personas. Todos tienen una idea de lo que significa, de cómo se verá para su equipo. Continúa integrando esto en el trabajo que hacen juntos en sus reuniones diarias, en sus revisiones, en sus reuniones de planificación. Hablen sobre cómo pueden hacer las cosas mejor como equipo. Luego, con el tiempo, realmente construirán la productividad que su equipo necesita y que su empresa espera de él. Puede que hayas notado que solo te he mostrado tres o cuatro pasos para desarrollar la productividad. Sinceramente, es porque quiero que empieces. Hay un paso más. Puedes encontrarlo en la hoja de trucos de productividad en bit.ly/ng-productivity y en el artículo que escribí sobre esto. Pensar en este tema y hablar de él regularmente con tu equipo te ayudará mucho a ser más productivo. Esa es la cosa más importante que quiero que recuerdes. Espero sinceramente que puedas pasar de las palabras de moda empresariales a cosas que realmente te empoderen a ti y a tu equipo, y que te ayuden a entender la productividad como algo útil para tu equipo, para tener las conversaciones que necesitan tener y, en última instancia, para ayudarte a alcanzar los objetivos que necesitas. Como se mencionó, puedes encontrar todos los recursos en el enlace bit.ly a continuación. Muchas gracias por tenerme aquí. Mi nombre es Lina Reinhart. Disfruten mucho de la conferencia de hoy. tú
This transcription provides a brief guide to React rendering behavior. It explains the process of rendering, comparing new and old elements, and the importance of pure rendering without side effects. It also covers topics such as batching and double rendering, optimizing rendering and using context and Redux in React. Overall, it offers valuable insights for developers looking to understand and optimize React rendering.
This Talk explores the concepts of impact and growth in software engineering. It emphasizes the importance of finding ways to make the impossible possible and the role of mastery in expanding one's sphere of impact. The Talk also highlights the significance of understanding business problems and fostering a culture of collaboration and innovation. Effective communication, accountability, and decision-making are essential skills for engineers, and setting goals and finding sponsors can help drive career growth. Feedback, goal setting, and stepping outside of comfort zones are crucial for personal development and growth. Taking responsibility for one's own growth and finding opportunities for impact are key themes discussed in the Talk.
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
The role of a Tech Lead involves shaping the roadmap, helping the team be more effective, and working on important projects. Lessons learned include encouraging idea sharing, avoiding taking on all the work, and focusing on delegation. Tech Leads focus on the outcome, involve the team in decision-making, and make plans based on how different pieces will interact. The role of a Tech Lead is to focus on engineering and guide the team in figuring out how the whole system should fit together. Architecting can become problematic when it loses touch with the coding part, resulting in implementation issues.
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía). En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también. Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso. (Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Construir aplicaciones web instantáneas a gran escala ha sido elusivo. Los sitios del mundo real necesitan seguimiento, análisis y interfaces y interacciones de usuario complejas. Siempre comenzamos con las mejores intenciones pero terminamos con un sitio menos que ideal. QwikCity es un nuevo meta-framework que te permite construir aplicaciones a gran escala con un rendimiento de inicio constante. Veremos cómo construir una aplicación QwikCity y qué la hace única. El masterclass te mostrará cómo configurar un proyecto QwikCity. Cómo funciona el enrutamiento con el diseño. La aplicación de demostración obtendrá datos y los presentará al usuario en un formulario editable. Y finalmente, cómo se puede utilizar la autenticación. Todas las partes básicas para cualquier aplicación a gran escala. En el camino, también veremos qué hace que Qwik sea único y cómo la capacidad de reanudación permite un rendimiento de inicio constante sin importar la complejidad de la aplicación.
- Introducción- Prerrequisitos para la masterclass- Estrategias de obtención: fundamentos- Estrategias de obtención – práctica: API de obtención, caché (estática VS dinámica), revalidar, suspense (obtención de datos en paralelo)- Prueba tu construcción y sírvela en Vercel- Futuro: Componentes de servidor VS Componentes de cliente- Huevo de pascua de la masterclass (no relacionado con el tema, destacando la accesibilidad)- Conclusión
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Veía una interacción lenta, probaba una optimización aleatoria, veía que no ayudaba, y seguía probando otras optimizaciones hasta que encontraba la correcta (o se rendía). En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Hacía una grabación en Chrome DevTools o React Profiler, la examinaba, intentaba hacer clic en cosas al azar, y luego la cerraba frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también. Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos cómo analizar cualquier problema de rendimiento de React, paso a paso. (Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, cubriremos el rendimiento de interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Next.js es un marco convincente que facilita muchas tareas al proporcionar muchas soluciones listas para usar. Pero tan pronto como nuestra aplicación necesita escalar, es esencial mantener un alto rendimiento sin comprometer el mantenimiento y los costos del servidor. En este masterclass, veremos cómo analizar el rendimiento de Next.js, el uso de recursos, cómo escalarlo y cómo tomar las decisiones correctas al escribir la arquitectura de la aplicación.
Acabas de llegar a una página web y tratas de hacer clic en un elemento en particular, pero justo antes de hacerlo, se carga un anuncio encima y terminas haciendo clic en eso en su lugar. Eso... eso es un cambio de diseño. Todos, tanto los desarrolladores como los usuarios, saben que los cambios de diseño son malos. Y cuanto más tarde ocurran, más interrupciones causarán a los usuarios. En este masterclass vamos a analizar cómo las fuentes web causan cambios de diseño y explorar algunas estrategias para cargar fuentes web sin causar grandes cambios de diseño. Tabla de contenidos:¿Qué es CLS y cómo se calcula?¿Cómo las fuentes pueden causar CLS?Estrategias de carga de fuentes para minimizar CLSRecapitulación y conclusión
Comments