paint-brush
Del liderazgo a las líneas de código: una guía para líderes de equipopor@lookingforere
1,190 lecturas
1,190 lecturas

Del liderazgo a las líneas de código: una guía para líderes de equipo

por Ilia Ivankin9m2024/03/07
Read on Terminal Reader

Demasiado Largo; Para Leer

La transición de desarrollador a líder de equipo a menudo desvía la atención de la codificación hacia tareas más administrativas. Para reintegrar la codificación a su rutina: Programe tiempo de codificación: bloquee momentos específicos para la codificación en su calendario. Participe en la revisión del código: manténgase involucrado en el proceso de codificación a través de revisiones y debates. Evalúe sus responsabilidades: optimice sus tareas para asegurarse de concentrarse en lo esencial. Priorice y delegue: utilice métodos como Kanban para gestionar tareas de forma eficaz y delegar cuando sea posible. Utilice técnicas de gestión del tiempo: aplique estrategias como la técnica Pomodoro para mejorar la concentración. Participar en I+D: Proponer y trabajar en prototipos para posibles mejoras o nuevas funcionalidades. Aprenda continuamente: manténgase al día con las nuevas tendencias y tecnologías a través de lecturas, cursos y conferencias. Trabaje en proyectos personales: desarrolle sus propios proyectos para perfeccionar habilidades y aportar nuevas ideas a su trabajo principal, garantizando el cumplimiento de cualquier acuerdo de NDA.
featured image - Del liderazgo a las líneas de código: una guía para líderes de equipo
Ilia Ivankin HackerNoon profile picture
0-item

¡Hola!

Creo que cada desarrollador que pasa a un rol de líder de equipo inicialmente se esfuerza por volver a codificar y resolver tareas junto con el equipo. Más adelante, comenzamos a abarcar más tareas y cuestiones comerciales, sumergiéndonos en los desafíos relacionados con el negocio, la comunicación entre departamentos o clientes y la arquitectura.


A partir de este momento ya no tenemos ni el tiempo ni las ganas de hacer otra cosa. El calendario típico de un líder de equipo comienza a parecerse a esto:


¿Es real?

¿Cómo vuelvo al desarrollo y empiezo a codificar de nuevo? ¿Por dónde debería empezar?

También es importante evaluar qué tan realmente ocupado está y cómo es su jornada laboral típica. ¿Te dedicas a la superación personal después del trabajo o no? Todos estos son factores cruciales.


Según mi experiencia, sugiero dar pasos en el camino desde “no hay tiempo antes ni después del trabajo, sin ganas ni oportunidades” hasta “siempre estoy frente a la computadora y esta es mi pasión”.


¡Bloquea tu tiempo!

Un punto de partida eficaz es programar tiempo dedicado al desarrollo. Simplemente bloquee el "tiempo de codificación" en su calendario durante una hora o más. Si es posible, considere reservar medio día o un día completo cada semana específicamente para abordar tareas técnicas.


Sí, podría implicar cambiar las reuniones, eliminar las innecesarias o discutir la necesidad de asistir a algunas de ellas. Sin embargo, considere reevaluar si ciertas sesiones de cuidado siguen siendo relevantes para usted.

¿Quizás estás pasando una hora allí sin mucho impacto? ¡Redirige ese tiempo hacia la codificación!


¡Revisión de código con su equipo!

El segundo y más crucial aspecto para optimizar ciertos procesos a su alrededor es comunicar los valores o enfoques del proyecto a sus colegas. No todos los desarrolladores ven el mismo enfoque para la resolución de problemas, por lo que es esencial predefinir los estilos de codificación, la cobertura de las pruebas y los métodos y mecanismos fundamentales de la plataforma o los servicios por separado.


Realice siempre revisiones de código y, si tiene la sensación de que una pregunta se prolonga, reúna al equipo para abordar rápidamente los problemas en las solicitudes de extracción (PR). Como muestra la práctica, este enfoque acelera el tiempo de resolución de problemas y, en consecuencia, mejora el tiempo de comercialización de las funciones.


Con el tiempo, su equipo comprenderá y aplicará completamente enfoques de desarrollo que requieren menos atención. Te concentrarás únicamente en resolver la tarea en cuestión y su lógica, lo que te ahorrará unos minutos inicialmente y, a la larga, potencialmente horas de tiempo de desarrollo.


¡Amo a mi equipo!


¿De qué eres responsable?

Puede que no parezca la tarea más obvia, pero pregúntate, ¿de qué eres responsable? ¿Qué es lo que hay que hacer? Anota todos estos puntos en una hoja de papel y comprueba si has asumido algo innecesario.


Quizás estés haciendo el trabajo de otra persona sólo porque se ha convertido en un hábito. Quizás haya estado ayudando a un equipo vecino con sus procesos y todavía esté involucrado.


Define claramente tu puesto y lo que aportas al proyecto o a la empresa. Si lidera un equipo grande, utilice notas donde pueda crear una cola de tareas y problemas. Realice siempre revisiones y asegúrese de que, si es un líder de DevOps, por ejemplo, no esté manejando sin darse cuenta tareas destinadas a desarrolladores de aplicaciones móviles.


Si se encuentra sobrecargado de tareas y dependencias, vale la pena detenerse a hablar con sus superiores y descubrir por qué sucede esto en su departamento. Por ejemplo, si usted es un equipo de DevOps responsable de los ingenieros de datos y ellos tienen su propio líder, podría tener sentido delegar responsabilidades a su líder en lugar de a su departamento.


Cree especificaciones y documentos necesarios para formalizar acuerdos o cualquier detalle oculto sobre instalación o mantenimiento y devolver a las personas a sus respectivos equipos.

Es fundamental señalar que esto es sólo un ejemplo, y cada uno tiene sus propios equipos y principios de formación.


Priorización y delegación

Es posible que no estés haciendo las cosas porque las prioridades siguen cambiando. Toda la empresa opera en sprints de dos semanas, pero esta configuración ya no le conviene y no le ve valor. Las funciones no se completan dentro de un sprint debido a prioridades débiles.

Esto es relevante para equipos orientados al servicio.

Considere explorar Kanban o un enfoque de flujo de agua. Nuestros equipos son como islas separadas donde tenemos derecho a intentar mejorar los procesos. Pruebe la transición al nuevo enfoque durante un mes y observe sus métricas. En mi experiencia, un par de semanas fueron suficientes para darnos cuenta de que Scrum no era adecuado para nosotros y nos cambiamos a Kanban.


Nuestro tiempo de comercialización disminuyó drásticamente porque las prioridades ahora podían cambiar dos veces por semana, lo que nos permitía abordar los problemas más rápidamente.

A continuación, intente dividir el equipo en zonas de dominio, pero no de forma demasiado granular.

Sumerge a cada miembro del equipo siguiendo la regla 70/30:

  • 70% dedicado a su pila, proyecto o producto principal.
  • 30% para todo lo demás


Si su equipo tiene más de 5 personas, cubrirá todos los servicios y funciones, lo que permitirá a las personas sumergirse más rápidamente en el área temática.


¿Qué se consigue con esto?

Le permite delegar algunas tareas al equipo en lugar de hacerlo todo usted mismo si ve que un desarrollador ya tiene una buena comprensión e inmersión. ¡No es necesario que describas todo el algoritmo y las integraciones! ¡Ya lo saben todo!

¡bucear profundo!


Gestión del tiempo y productividad

¿Cómo planifica el equipo su tiempo de trabajo?

Empecemos con algo simple: ¿cómo se opera en equipo? Eche un vistazo a sus estimaciones y a cómo evalúa las tareas. ¿Está todo en orden? ¿Quizás haya margen de mejora o la introducción de un coeficiente de carga de trabajo?


El coeficiente de carga de trabajo ayuda a comprender cómo se carga cada miembro del equipo durante un sprint o una semana, considerando posibles distracciones como apoyo. Por ejemplo, si usted es un equipo de servicio con su propio producto que mantener, otros equipos pueden buscar su ayuda o solicitar mejoras, lo que lleva a dedicar tiempo a la comunicación dentro del sprint.


Lo mismo ocurre con el tratamiento de errores; Es posible que con frecuencia se desvíe para abordar problemas urgentes en el entorno de producción.

Pero ese es un tema aparte y recomiendo consultar mi artículo anterior sobre cómo realizar mejoras graduales en esta área.


Ahora, volvamos al coeficiente. Si reconocemos que cada uno de nosotros es llamado a un chat o reunión al menos 1 día de cada 5 para resolver un problema, téngalo en cuenta durante la planificación. De esta manera, logrará de manera realista realizar tareas que realmente beneficien al equipo, lo que potencialmente liberará tiempo para escribir código.

Prueba la técnica Pomodoro.

Nada innovador; simplemente use una aplicación en su teléfono que le permita concentrarse en una tarea durante un intervalo de tiempo determinado, como 45 minutos. Nada especial, supongo.

Utilice rastreadores.

Realice una investigación sobre en qué dedica sus 8 horas de trabajo: registre cada hora y minuto de sus actividades durante la semana o el mes. Podrías descubrir factores que te distraen o podrías notar que dar una caminata de 15 minutos después del almuerzo te hace trabajar más eficientemente. ¿Quizás esa sea la clave del éxito? O, si tiene tres reuniones consecutivas, ¿se encuentra sin hacer nada durante una hora después, sólo leyendo las especificaciones? ¿Quizás sea un desafío para ti?


El punto es examinar lo que estás haciendo y creo que identificarás áreas de mejora.


Participación en proyectos técnicamente desafiantes

Si no puede asistir a reuniones dedicadas al diseño de sistemas o soluciones arquitectónicas, lea los seguimientos o la documentación. Trate de entender cómo y qué resuelve el problema. Es preferible no perderse este tipo de reuniones y esforzarse por sumergirse lo más posible en los aspectos técnicos.


Seleccione proyectos o aspectos del proyecto que requieran una inmersión profunda en el código. Esto le ayudará a mantenerse al tanto de las nuevas tecnologías y metodologías de desarrollo.


I+D para ti

Si nota áreas en el proyecto que tienen problemas o donde se podría mejorar la funcionalidad, no dude en crear prototipos. Esto no sólo le permitirá visualizar los cambios propuestos sino que también proporcionará al equipo material tangible para la discusión y la toma de decisiones.


El objetivo principal no es sólo mostrar ideas, sino implementarlas en el proyecto si demuestran ser realmente significativas o beneficiosas. Por ejemplo, si siempre has soñado con migrar servicios obsoletos de Java 1.8 a la versión 21, ¿por qué no intentarlo? Cree un prototipo, muéstrelo al equipo, desarrolle su solución y documente minuciosamente todo el proceso para referencia futura.


Este enfoque ayuda no sólo a implementar mejoras técnicas sino también a crear un entendimiento compartido dentro del equipo sobre posibles cambios. De esta forma, podrás realizar una contribución constructiva al proyecto, asegurando su desarrollo efectivo y fomentando la innovación.


wait a min

¡Punto de revisión!

En esta etapa , tendrá un par de horas para escribir código, proponer soluciones y luego podrá tomar un respiro. Por supuesto, la posición de liderazgo simplemente no le permitirá hacer ambas cosas, y si su enfoque todavía está en el desarrollo, podría valer la pena considerar regresar.


No hay nada de malo en eso; está bien darse cuenta de que la gestión se está volviendo aburrida para usted, incluso si se destaca en ella. Es sólo que, en este momento, ha perdido su atractivo para usted.




Si todavía tienes algo de tiempo libre


¿en realidad?

Aprendizaje y autodesarrollo

Edúquese continuamente leyendo literatura técnica, explorando cursos educativos y participando en conferencias técnicas. Esto le ayudará a mantenerse al tanto de las últimas tendencias y mejores prácticas en el desarrollo de software.


La lectura de literatura técnica brinda una oportunidad única de profundizar en las profundidades de las nuevas tecnologías, metodologías y mejores prácticas. Esto puede incluir libros, artículos, blogs y otros materiales que cubran diversos aspectos del desarrollo de software.


Tomar cursos educativos es una forma estructurada y sistemática de adquirir conocimientos sobre nuevos temas y tecnologías. Las plataformas de cursos en línea ofrecen una amplia gama de cursos sobre diferentes lenguajes, marcos y conceptos de programación.


Participar en conferencias técnicas abre la oportunidad no solo de conocer las últimas tendencias e innovaciones, sino también de interactuar con profesionales de la industria. Las conferencias brindan una plataforma para compartir experiencias, discutir temas desafiantes y construir conexiones dentro de la comunidad técnica.


En resumen, el aprendizaje continuo a través de la lectura, la realización de cursos y la asistencia a conferencias permite a los desarrolladores de software no sólo mantenerse al día con las últimas tendencias sino también integrar activamente nuevos conocimientos y habilidades en su trabajo diario.


Ejemplos: leetcode, Udemy o Youtube (¡a veces, podemos encontrar contenido GRATUITO realmente bueno allí!).


Trabajando en proyectos personales

Si es posible, trabaja en proyectos personales en tu tiempo libre. Esto no sólo mejorará sus habilidades de programación sino que también le servirá como fuente de nuevas ideas para su trabajo principal.


Además, combinar esta actividad con el punto de I+D del artículo puede ser un incentivo extra para la creatividad y la innovación.


Trabajar en proyectos personales le permite aplicar sus habilidades en escenarios prácticos, experimentar con nuevas tecnologías y resolver problemas del mundo real. Estos proyectos pueden implicar el desarrollo de sus propias aplicaciones web, la creación de proyectos de código abierto o la participación en proyectos paralelos interesantes.


Integrar esta actividad con el trabajo de investigación y desarrollo (I+D) mencionado anteriormente le permite crear prototipos y exhibirlos en su lugar de trabajo. Abrir su proyecto al público, como participar en el desarrollo de código abierto, no solo mejora sus habilidades sino que también contribuye a construir conexiones profesionales valiosas y obtener reconocimiento por su creatividad.

Sin embargo, es fundamental recordar que cumplir con la política de confidencialidad (NDA) de su trabajo principal es una prioridad. Antes de embarcarse en proyectos personales, es recomendable consultar con profesionales legales y directivos para asegurarse de que su proceso creativo no viola las reglas establecidas y facilitar el libre desarrollo de su energía creativa preservando la confidencialidad de los datos sensibles.


Conclusión

¡aquí!

Encontrar tiempo para codificar como líder de equipo requiere un esfuerzo consciente y una gestión eficaz de las prioridades. Recuerda que tu rol implica no sólo liderar directamente el equipo sino también mantener tus habilidades técnicas en un nivel satisfactorio.


¡Será un desafío y te deseo la mejor de las suertes!


Vi el problema hace mucho tiempo. Si desea leer libros profesionales, le recomiendo que lea libros: enlace y enlace