Cómo conseguir un mentor sin decírselo

Rate this content
Bookmark

La mentoría tiene la reputación de llevar mucho tiempo y trabajo. ¿Pero qué tal si no fuera así? Aquí te presentamos formas de conseguir un mentor, ser un mentor y cómo navegar por ello. Siempre he buscado mentores en cada etapa de mi carrera como ingeniero. Tengo mentores que ni siquiera saben que lo son. Pero me gusta así. Explicaré cómo conseguir un mentor en cualquier etapa de tu carrera como ingeniero y cómo ser un buen mentor/mentorado.

30 min
21 Oct, 2022

Video Summary and Transcription

Esta charla se centra en la mentoría en ingeniería de software y ofrece consejos sobre cómo ser un buen mentor y mentee. Enfatiza la importancia de enseñar y aprender mutuamente, y destaca el concepto del efecto Gaviota en la mentoría. La charla también analiza las cualidades de un buen mentee y los beneficios de la mentoría en el crecimiento profesional. Explora el papel de la programación en pareja en la mentoría y ofrece ideas sobre cómo gestionar la programación en pareja y la gestión del tiempo. Por último, sugiere los beneficios de tener múltiples mentores para diversificar el conocimiento y establecer contactos.

Available in English

1. Introducción a la Mentoría y la Ingeniería

Short description:

Soy Erin Fox y estoy muy emocionada de estar aquí en Londres y hablar con todos ustedes. Este ha sido un proyecto apasionante en el que me he involucrado últimamente. Mientras refinaba los conceptos clave e ideas para esta charla, me di cuenta de que debería haberse llamado 'Cómo conseguir un mentor sin decírselo' o 'Obtener un mentor en secreto'. Creo que es muy importante saber cómo ser un buen mentor y un buen aprendiz. No hablamos realmente de cómo ser un buen aprendiz. Si odias tu trabajo pero amas tu empresa, o amas tu empresa pero odias tu trabajo, creo que la mentoría puede ayudar a equilibrar eso y tener una carrera realmente exitosa. Vamos a hablar de la mentoría, en particular la mentoría en ingeniería, y cómo creo que es un poco diferente a la mentoría tradicional. Hablaremos sobre algunos consejos para ser un buen mentor y un buen aprendiz, y tengo un ejemplo divertido de una mala experiencia con un mentor que compartiré, así como algunas historias divertidas de cómo consigo mentores sin decírselo a ellos. Y la mentoría, como mencioné en la diapositiva anterior, se ha vuelto muy natural para mí. Hasta hace poco, estaba trabajando en una promoción con mi jefa y ella me dijo que era muy buena encontrando personas que me ayudaran con las cosas y que no me daba cuenta de cuánto las estaba ayudando. Y yo pensaba que solo estaba siendo egoísta, tratando de hacer mi trabajo y cumplir con las tareas diarias. Pero a medida que fui formando esta charla, me di cuenta de que estoy ayudando a mucha gente. Hablaremos más sobre los ejemplos más adelante. Pero naturalmente, pedir ayuda, exponerte y estar en situaciones vulnerables para convertirte en un mejor ingeniero no solo te ayuda a progresar en tus conocimientos en ciertas áreas, sino que también te da la capacidad de ayudar a otros a avanzar en su carrera, descubrir si hay roles específicos que desean desempeñar e incluso establecer un nuevo hilo de aprendizaje en toda una empresa o equipo. Así que no tengo miedo de ser vulnerable. No tengo miedo de admitir que no sé muchas cosas.

Soy Erin Fox y estoy muy emocionada de estar aquí en Londres y hablar con todos ustedes. Esto ha sido un proyecto apasionante en el que me he involucrado últimamente. Mientras refinaba los conceptos clave e ideas para esta charla, me di cuenta de que debería haberse llamado 'Cómo conseguir un mentor sin decírselo' o 'Obtener un mentor en secreto'. Pequeño cambio en el título allí. Será divertido.

Por supuesto, me gusta establecerme algunos objetivos. Creo que es muy importante saber cómo ser un buen mentor y un buen aprendiz. No hablamos realmente de cómo ser un buen aprendiz. Por lo general, se trata del mentor, así que profundizaremos un poco en eso. Siempre hay margen de mejora en tu career. Si odias tu trabajo pero amas tu empresa, o amas tu empresa pero odias tu job, creo que la mentoría puede ayudar a equilibrar eso y tener una career realmente exitosa.

Incluso si ustedes están aquí hoy, han venido a ver mi charla, han venido a React Advance, creo que es un gran público porque, en primer lugar, están muy emocionados... Bueno, espero que estén emocionados, pero están aquí y quieren avanzar en su career, están aquí para aprender. Creo que es un buen público para hablar. ¿Cómo vamos a lograr estos objetivos? Como mencioné, vamos a hablar de la mentoría, en particular la mentoría en ingeniería, y cómo creo que es un poco diferente a la mentoría tradicional. Hablaremos sobre algunos tips para ser un buen mentor y un buen aprendiz, y tengo un ejemplo divertido de una mala experiencia con un mentor que compartiré, así como algunas historias divertidas de cómo consigo mentores sin decírselo a ellos. Creo que es muy tradicional acercarse a alguien y decirle: 'Oye, quiero que seas mi mentor', y es como 'Tengo muchas solicitudes de extracción abiertas, no tengo tiempo'. Eso es un gran compromiso, y realmente lo veo como la forma en que te acercas a alguien. No recuerdo dónde aprendí esto, pero si te acercas directamente a alguien, eso es muy intimidante. Como 'Oye, ¿quieres ser mi mentor?' en tu cara. Si haces el movimiento lateral de 'Oye, ¿quieres enseñarme un poco de React durante una hora a la semana?', ese es mi movimiento, acercarme desde el costado a alguien de quien quiero aprender algo. Así que profundizaremos en mis tips allí.

Y la mentoría, como mencioné en la diapositiva anterior, se ha vuelto muy natural para mí. Hasta hace poco, estaba trabajando en una promoción con mi jefa y ella me dijo que era muy buena encontrando personas que me ayudaran con las cosas y que no me daba cuenta de cuánto las estaba ayudando. Y yo pensaba que solo estaba siendo egoísta. Como si solo estuviera tratando de hacer mi trabajo y cumplir con las tareas diarias. Pero a medida que fui formando esta charla, me di cuenta de que estoy ayudando a mucha gente. Hablaremos más sobre los ejemplos más adelante. Pero naturalmente, pedir ayuda, exponerte y estar en situaciones vulnerables para convertirte en un mejor ingeniero no solo te ayuda a progresar en tus conocimientos en ciertas áreas, sino que también te da la capacidad de ayudar a otros a avanzar en su career, descubrir si hay roles específicos que desean desempeñar e incluso establecer un nuevo hilo de aprendizaje en toda una empresa o equipo. Así que no tengo miedo de ser vulnerable. No tengo miedo de admitir que no sé muchas cosas.

2. Enfoque de la Mentoría y los Títulos

Short description:

Pero estoy dispuesta a admitir que soy muy buena consiguiendo mentores. Quiero que se vayan pensando que tal vez ya tienen un aprendiz o son mentores de alguien y ni siquiera lo saben. Mi definición de mentoría es enseñar a las personas lo que sabes y luego enseñarles cómo enseñarse a sí mismas. Quiero poder intercambiar los títulos de mentor y aprendiz, para que podamos aprender el uno del otro. Una buena mentoría implica a alguien dispuesto a aprender, compartir conocimientos, ayudar a otros, escuchar y explicar conceptos de varias formas.

Pero estoy dispuesta a admitir que soy muy buena consiguiendo mentores. Creo que lo primero que mencioné sobre la mentoría es que se siente muy concreta. Así que quiero que se vayan pensando que tal vez ya tienen un aprendiz o son mentores de alguien y ni siquiera lo saben. Y, sí. Así que es un enfoque lento desde el costado, creo que es como un hilo conductor a lo largo de esta charla y tendremos más detalles más adelante.

Entonces, vamos a desglosarlo. Mi definición, una rápida, es enseñar a las personas lo que sabes y luego enseñarles cómo enseñarse a sí mismas. Se puede explicar de muchas otras formas, pero para mí ese es el concepto principal de la mentoría específica de la ingeniería. Y así, en cualquier relación de mentoría, tenemos un mentor y un aprendiz. Y generalmente el mentor es la persona más experimentada y el aprendiz es la persona más joven. Y así, creo que cuando tienes una mentoría, digamos que ahora en esta época, no sé si eso es lo correcto, pero es como si fueras el mentor todo el tiempo y tienes un aprendiz. Y quiero romper eso. Quiero poder intercambiar los títulos, así que a veces eres mentor y a veces eres aprendiz. Así que digamos que soy muy buena en React. Estoy aquí en React Advanced. Espero saber mucho de React porque estoy aquí. Y estoy trabajando con alguien que es muy bueno en Rails y no sé mucho sobre Rails. No es que tenga algún tipo de magia que sucede y se agregan archivos y no sé, cosas de ActiveRecord. Y así, quiero poder intercambiar conocimientos. Así que podré ser el mentor cuando esté enseñando sobre React. Ellos serán el aprendiz aunque probablemente tengan 20 años de experiencia porque Rails es tan antiguo. Pero luego podremos invertir eso. Cuando estoy tratando de aprender sobre Rails, seré el aprendiz y ellos serán el mentor. Así que es un cambio de títulos muy constante. Y creo que ese es realmente el gran beneficio de una mentoría, poder aprender el uno del otro.

Entonces, hablemos de una buena mentoría. Alguien que esté dispuesto a aprender y compartir sus conocimientos y ayudar a otros. Están dispuestos a escuchar y explicar conceptos difíciles de varias formas diferentes. Creo que las personas más inteligentes, los ingenieros más inteligentes con los que he tenido la oportunidad de trabajar o aprender, son realmente buenos explicando conceptos de al menos tres formas. Mi cosa favorita para saber si alguien...

3. Enseñanza y el Efecto Gaviota

Short description:

Ser capaz de entender un tema complejo y explicarlo de diferentes maneras ayuda tanto al aprendiz como al explicador. Un buen mentor brinda orientación sin tomar el control, enseñando a los aprendices a encontrar soluciones por sí mismos. Buscar en Google juntos y compartir atajos puede hacer que el proceso de aprendizaje sea más eficiente. Desafortunadamente, no todas las experiencias de mentoría son positivas, como aprendí de un encuentro con el efecto gaviota mientras programaba en pareja.

Lo hago mucho con mi esposo. ¿Realmente sabes eso? ¿Sabes... Lo he hecho de tres formas diferentes, solo para averiguar si realmente saben de qué están hablando. Y así, ser capaz de entender un tema complejo y explicarlo de varias maneras para que otras personas lo entiendan ayuda a la persona a aprender y entenderlo y también te ayuda a explicar las cosas y entender el concepto.

También brindan orientación al guiarlos en una dirección específica, no haciéndolo por ellos. No tomes el control del teclado. No tomes el control de la pantalla. ¿Cuántas veces hemos estado programando en pareja de forma remota y es como, oh, ¿puedes darme el control? Ok, aquí tienes una función. Eso sucede mucho. Y ser capaz de enseñarles a enseñarse a sí mismos, ayudarlos a encontrar el archivo correcto realmente hace que no tengas que tener esta llamada nuevamente. Los has ayudado a descubrir cómo encontrar un archivo una vez, con suerte, podrán encontrarlo nuevamente.

Busca en Google con ellos. No puedo decir cuántas veces alguien me hizo una pregunta y yo pregunté, no de manera grosera, sino como, ¿lo buscaste en Google? ¿Realmente lo hiciste, sabes? ¿Supiste buscar correctamente? Y es una habilidad. Buscar en Google realmente es una habilidad que se aprende. Busca en Google con ellos. Enséñales, diles, yo no voy realmente a este, yo realmente voy a, como, este archivo para encontrar todo mi código, oh, solo copiemos de Stack Overflow y veamos si funciona. Y luego aprenden sobre Stack Overflow, aprenden tus atajos, hacen que el tiempo sea más eficiente. Así que realmente enséñales a enseñarse a sí mismos. Y estos pequeños momentos son realmente como momentos de mentoría que tal vez ni siquiera te des cuenta de que estás haciendo.

Y ahora, tenemos un buen mentor. Pero, ¿alguien ha tenido un mal mentor o una mala experiencia? Porque sé que tengo un gran ejemplo de que nadie lo ha tenido. Ok. Mientras trabajaba como ingeniera junior, era, como, novata, no sabía realmente cómo buscar en Google, no sabía muchas cosas. Y así estábamos programando en pareja, probablemente, como, semanalmente en frontend React. En ese momento, eran cosas de React Native. Y me iba mucho más confundida de lo que estaba al principio. Y realmente me ayudó a entender y crear este efecto que me gusta llamar el efecto gaviota. Y el efecto gaviota es cuando estás programando en pareja y alguien entra, arruina todo, y luego te deja. Y estás, como, mis errores de linting están apareciendo, la consola, todas mis pruebas están fallando. Y así es como la gaviota, el ave en la playa.

4. El Efecto Gaviota en la Mentoría

Short description:

El efecto gaviota ocurre cuando alguien intenta ayudar pero termina dejándote en una situación peor. Puede generar sentimientos de frustración y duda. Reconocer cuándo esto está sucediendo y dar un paso atrás para reevaluar la mentoría o la colaboración puede ser beneficioso.

¿Sabes? El ave molesta? Vienen y luego se cagan por todas partes y se van volando. Eso es el efecto gaviota. Intentan ayudarte. Hacen un montón de cambios y luego te dejan colgado porque te abrumaste sin saber cómo resolverlo. Te volviste demasiado ocupado. O no saben cómo ser un buen mentor. O en realidad no saben lo que están haciendo. Te dejan en una situación peor.

Y no tienes solución, ni confianza. Y probablemente estés pensando, soy malo en mi trabajo. Debería renunciar. Así que el efecto gaviota es real y no solo se aplica a los ingenieros. Y no queremos ninguna gaviota en nuestra vida. Pero hoy estuve leyendo algo interesante en Twitter. Y encontré este artículo periodístico británico. Y encontraron un ave exótica que resultó ser una gaviota cubierta de curry. Y pensé que esto era genial. Oh, Dios mío, otro efecto gaviota. Pero no he tenido tiempo de entender qué significaría esta metáfora. Siento que este es mucho peor que el de cagarse en tu código y volar lejos. Esto es como retrasar tu base de código o algo así.

Sí, cuando alguien intenta ayudar, se caga en tu código y se va volando. A veces he sido una gaviota, sin saberlo. Es bueno reconocer cuando las tienes. Si está sucediendo, creo que cuando estás en una mentoría o colaborando con alguien y simplemente no está funcionando, haz una pausa y piensa: no estoy alcanzando mis objetivos. No estoy cumpliendo mis metas laborales. Es hora de dar un paso atrás y tal vez encontrar un mejor compañero, hacer una pausa. Creo que eso es algo muy bueno para hacer. En lugar de decir que esto no está funcionando, di: oh, hagamos una pausa.

5. Qualidades de un Buen Aprendiz

Short description:

Ahora que sabemos cómo evitar ser una Gaviota, hablemos de lo que hace a un buen aprendiz. Un buen aprendiz es abierto y dispuesto a aprender, se presenta preparado y toma la iniciativa de investigar y recopilar información antes de buscar orientación. Además, es importante que un aprendiz comprenda el estilo de comunicación de su mentor y se adapte a él. Aprender el uno del otro y desarrollar una sólida relación de trabajo mejora la experiencia de mentoría y acelera el proceso de aprendizaje. Si tienes algún consejo o idea, no dudes en compartirlo conmigo.

Tomemos un descanso de aproximadamente un mes y luego retomemos y veamos cómo va. Entonces, no quiero decir, obviamente, que debes darles retroalimentación directa y decirles que las parejas no están funcionando para ti en este momento, pero quiero hacer una pausa y evaluar mis objetivos y lo que está sucediendo.

Entonces, ahora que sabemos que no debemos ser una Gaviota, tal vez tú seas una Gaviota, hay una cura para eso. ¿Qué hace a un buen aprendiz? Nadie realmente habló de esto. Cuando estaba comenzando, vi todas estas grandes mentorías, como cómo ser un buen mentor. No pude encontrar mucho sobre cómo ser un buen aprendiz. Así que tengo mis propias cosas aquí. Abierto y dispuesto a aprender. Se presenta preparado. Han buscado en Google el tema. Han visto videos. Han leído publicaciones de blogs. Buscan en el Slack de la empresa. A veces la gente publica un montón de cosas. Slack tiene tanta información. Solo aprende a buscar allí. Tal vez encuentren el archivo correcto en la base de código y digan, oh, esto se llama, como new email JS. Esta es la página donde están todos los nuevos correos electrónicos. Pero no conoces la sintaxis o el código para encontrarlo. Así que han hecho todo lo posible antes de presentarse. Creo que otra cosa importante para un aprendiz es conocer con quién estás trabajando, su estilo de comunicación y cómo trabajas con ellos. Así que me emparejo con alguien que quiere saber exactamente en qué estamos trabajando de antemano. Les envío la solicitud de extracción, les envío una línea de código, les envío un pequeño resumen de en qué estamos trabajando. Otras veces trabajo con personas que les gusta lanzarse directamente y es un desafío divertido. Así que aprender sobre con quién estás trabajando es una gran habilidad como aprendiz. Y creo que aprender el uno del otro también cuando estás aprendiendo como aprendiz, aprender sus estilos, realmente ayuda a la cultura de la empresa y mejora la experiencia y realmente acelera el aprendizaje cuando estás aprendiendo. He escrito un artículo sobre esto, cómo hacer programación en pareja cuando estás remoto, puedes estar remoto o no remoto. Es más o menos lo mismo. Sí, si tienes algún consejo, me encantaría escucharlo. Puedes comentarlo aquí o contactarme en Twitter, pero realmente me interesa mucho eso.

6. Beneficios y Tipos de Mentoría

Short description:

Realmente creo que la mentoría es una excelente manera de invertir tu tiempo. Puedes hacerlo durante el trabajo o fuera de él. Es una buena forma de sentirte bien y ayudar a las personas a tener éxito en su carrera. Tanto el mentor como el aprendiz deben tener el deseo de lograr algo. La mentoría puede ser específica, como aprender Rails o las mejores prácticas para una aplicación de React, o incluso negociar tu salario. Tener una conversación de diez minutos con alguien que tiene una gran carrera puede ser gratificante.

De acuerdo. Realmente creo que la mentoría es una excelente manera de invertir tu tiempo. Puedes hacerlo durante el trabajo con alguien con quien trabajas o fuera del trabajo. Es una forma realmente buena de sentirte bien. Lees sobre todas esas personas mayores que están a punto de pasar a otra vida y dicen, oh, ¿qué consejo le das a la gente más joven? Y ellos dicen, oh, trabajar menos y todas esas cosas o ayudar más a las personas. Ayudar más a las personas. Nunca sabes. Realmente puedes sentirte bien al ayudar a las personas a tener éxito en su career. Tal vez no estarían en su career sin la mentoría que les estás brindando. Y es importante saber que tanto tú como la otra persona, ya sea el mentor o el aprendiz, tienen el deseo de lograr algo. Si no hay esa reciprocidad, probablemente no funcionará. Puede ser algo muy específico, como aprender Rails, como mencioné antes, o las mejores prácticas arquitectónicas para una aplicación de React, o incluso si estás intentando negociar tu salario y ves a alguien que tiene una gran career con aplomo y confianza, envíales un mensaje y ten una conversación de diez minutos. Creo que es una conversación gratificante y excelente que puedes tener como mentoría.

7. Ilustrando Temas de Carrera

Short description:

A lo largo de mi carrera, siempre he tenido un mentor. Busco a personas que tengan fortalezas en áreas donde yo tengo debilidades, y viceversa. Creo en compartir conocimientos y ayudar a los demás, ya sea a través de la mentoría o dando charlas. Tengo historias sobre mentoría, programación en pareja y crecimiento profesional.

Repaso muchas de estas teorías y ahora quiero ilustrar algunos temas específicos que he tenido a lo largo de mi carrera. A lo largo de mi carrera, siempre he tenido un mentor. Dondequiera que haya trabajado, siempre encontré las fortalezas de las personas. Me encanta conocer gente. Me encanta adentrarme y aprender sobre lo que les apasiona realmente y en lo que son realmente buenos. Luego los busco para que me ayuden, lo cual suena muy egoísta, y lo es. Quiero ser un ingeniero más inteligente y completo. Quiero encontrar callejones y avenidas que me ayuden a llegar allí. El primer paso es realmente descubrir cuáles son tus debilidades y quién tiene esas fortalezas. Una debilidad mía podría ser React. La fortaleza es acercarme y tratar de encontrar a alguien, dar un paso al costado y decir, hey, ¿quieres enseñarme un poco de React? Y viceversa, ¿cuál es la fortaleza de alguien que podría compartir con otros? Me encantaría que más personas dieran charlas, más personas en grupos representativos dieran charlas. Estoy más que dispuesto a ayudar a las personas, ser su mentor y dar más charlas. Entonces, ¿cómo consigo mentores sin pedírselo directamente? Tengo una historia de mentoría, una historia de programación en pareja y una historia de crecimiento profesional.

8. Mentorship and Side Projects at ConvertKit

Short description:

Soy un ingeniero de software de tiempo completo en ConvertKit. Ayudamos a los creadores a ganarse la vida en línea a través del marketing por correo electrónico. Cuando me uní, quería ser emparejado con alguien que conociera bien la empresa. Afortunadamente, teníamos un programa formal de mentoría y hemos estado juntos durante más de dos años y medio. Los proyectos paralelos han sido un factor clave en nuestra exitosa mentoría. Uno de los proyectos en los que trabajamos fue un proyecto de validación de suscripción por correo electrónico, que nos ayudó a detectar direcciones de correo electrónico mal escritas y, en última instancia, a atraer a clientes que pagan más. La programación en pareja ha sido una parte valiosa de nuestra experiencia de mentoría.

Soy un ingeniero de software de tiempo completo en ConvertKit. Es una plataforma de marketing para creadores donde ayudamos a los creadores a ganarse la vida en línea a través del marketing por correo electrónico. Debería ser mejor en esto. Ganarse la vida en línea a través de productos de marketing por correo electrónico y, más recientemente, patrocinios por correo electrónico. Somos alrededor de 20 ingenieros distribuidos en cinco equipos.

Cuando me uní hace unos años, no sabía nada de Rails. Principalmente tenía experiencia en React Native y React. Me estaba convirtiendo en un ingeniero de pila completa, así que quería ser emparejado con alguien que llevase suficiente tiempo en la empresa porque no tengo idea de cómo buscar archivos en Rails, es tan difícil. Así que quería a alguien que llevase tiempo allí y conociera el entorno. Afortunadamente, teníamos un programa formal de mentoría, donde indicas cuáles son tus objetivos, te emparejan con alguien y fue fantástico. No le pedí directamente, simplemente me inscribí en el programa y obtuve un mentor. Inicialmente, el programa era trimestral, por lo que podías cambiar de mentor si querías, pero hemos estado juntos durante más de dos años y medio. Nos reunimos una vez a la semana o cada dos semanas. Además de lo que ya mencioné sobre ser un buen aprendiz, creo que una de las razones por las que ha sido tan exitoso es debido a los proyectos paralelos. A veces, si tienes un mentor y no sabes en qué trabajar, los proyectos paralelos son realmente divertidos. Así que sé que hay algunos proyectos en el trabajo que te mueres por cambiar o hacer. Este es un gran ejemplo de lo que puedes hacer. El código que se encuentra entre los equipos nunca se completa realmente. Así que terminamos trabajando en un proyecto de validación de suscripción por correo electrónico. Lo que significa es que descubrimos que históricamente las personas que se registran en ConvertKit con una cuenta de Gmail, en última instancia, se convierten en clientes que pagan más. Por lo tanto, queríamos poder detectar sus correos electrónicos mal escritos durante el inicio de sesión. Muchas personas escriben mal, olvidan el punto en .com o escriben Gnail en lugar de Gmail. Así que pudimos trabajar en un proyecto de validación donde pudimos hacer un proyecto de pila completa y detectar estos errores y, finalmente, ver cómo llegaban más clientes que pagan más. Desde la perspectiva del mentor, pudo trabajar en un proyecto apasionante que de otra manera no habría tenido la oportunidad de hacer. Así que si escuchas a alguien mencionar que sería genial si tuviéramos una mejor autenticación o si tenemos componentes de ciclo de vida y queremos usar hooks, esas son buenas oportunidades que normalmente no tienes la oportunidad de hacer. Pero si quieres hacerlo, puedes encontrar un mentor, puedes encontrar un aprendiz, hacerlo una vez a la semana durante una hora aproximadamente y lograrlo. Durante todo el tiempo que hacemos estos proyectos, lo hacemos a través de la programación en pareja. Cuando comencé, no había programación en pareja en mi empresa. Y me encanta la programación en pareja.

9. Pair Programming and Career Growth

Short description:

Así que quería ver si podíamos hacerlo más común y una práctica real en nuestro equipo de ingeniería remoto. De nuevo, soy egoísta, por eso quería implementar la programación en pareja en la empresa, porque así es como aprendo mejor. La programación en pareja es una excelente manera de tener estas pequeñas sesiones de mentoría sin necesidad de pedir un mentor. Y por último, ¿puedes avanzar en tu carrera? La mentoría puede abrir puertas a oportunidades profesionales. Tal vez aún no sabes si quieres ser un gerente, por lo que la mentoría puede ayudarte a ver si quieres ser un líder técnico. No tiene que ser un título pesado. Pueden ser sesiones de emparejamiento mini. No requiere mucho tiempo si no quieres, y es una excelente manera de aprender diferentes trayectorias profesionales en las que estés interesado. Así que al exponerte y estar abierto a aprender como aprendiz o mentor, realmente puedes inspirar a otras personas a querer hacer lo mismo, y eso es por lo que estoy aquí. Establecer un programa de mentoría en tu empresa, enfocándote en proyectos paralelos y programación en pareja, realmente mejora tu carrera y la de los demás, y eso es lo que espero que obtengas de esta charla, simplemente aprender sobre estas formas de conseguir un mentor sin decírselo, o tal vez conseguir secretamente un aprendiz, y nuevamente, esto es una pasión creciente para mí. Creo que últimamente pienso en ello más que en código, así que gracias por escuchar.

Así que quería ver si podíamos hacerlo más común y una práctica real en nuestro equipo de ingeniería remoto. De nuevo, soy egoísta, por eso quería implementar la programación en pareja en la empresa, porque así es como aprendo mejor. De hecho, ahora más ingenieros hacen programación en pareja todos los días en ConvertKit, y realmente ayuda a construir una cultura de ingenieros que trabajan juntos, como mencioné anteriormente en esta charla, juntos llegamos más lejos. Ese es el objetivo. A través de la participación y el estímulo de la programación en pareja, y al comenzar a trabajar más juntos, todo el equipo se beneficia. Creo que un simple mensaje, como un canal público en tu empresa que diga: `Oye, realmente no entiendo cómo usar efectos de uso. Asistí a un par de charlas en React Advanced, pero todavía estoy confundido. ¿Alguien tiene tiempo para ayudarme con esto?` Esa es una gran oportunidad de mini mentoría. Ponte en una llamada, habla sobre sus vidas, la cultura de la empresa es genial, y luego comparte tus conocimientos, y todos aprenden. La programación en pareja es una excelente manera de tener estas pequeñas sesiones de mentoría sin necesidad de pedir un mentor. Y por último, ¿puedes avanzar en tu carrera? Otro compañero de equipo y yo comenzamos a trabajar juntos. Quería aprender más sobre Tailwind. Al principio, realmente no sabía cómo funcionaba. Necesitaba ayuda para aprender más sobre cosas de frontend. No solo estaba obteniendo una gran experiencia en depuración de UI de frontend, sino que también estaban aprendiendo a ser mentores, y yo les pedía consejos sobre mi carrera, les preguntaba cómo estaban sus hijos, les preguntaba qué arquitectura me recomendarían para esto. Descubrieron que realmente les gustaba. Les gustaba mucho ser mentores. Y eventualmente, se abrió un puesto de ingeniero de gestión, y como tenían ejemplos concretos, tenían experiencias de las que aprender de trabajar conmigo, obtuvieron el puesto de gerente. Así que la mentoría puede abrir puertas a oportunidades profesionales. Tal vez aún no sabes si quieres ser un gerente, por lo que la mentoría puede ayudarte a ver si quieres ser un líder técnico. No tiene que ser un título pesado. Pueden ser sesiones de emparejamiento mini. No requiere mucho tiempo si no quieres, y es una excelente manera de aprender diferentes trayectorias profesionales en las que estés interesado. Así que al exponerte y estar abierto a aprender como aprendiz o mentor, realmente puedes inspirar a otras personas a querer hacer lo mismo, y eso es por lo que estoy aquí. Establecer un programa de mentoría en tu empresa, enfocándote en proyectos paralelos y programación en pareja, realmente mejora tu carrera y la de los demás, y eso es lo que espero que obtengas de esta charla, simplemente aprender sobre estas formas de conseguir un mentor sin decírselo, o tal vez conseguir secretamente un aprendiz, y nuevamente, esto es una pasión creciente para mí. Creo que últimamente pienso en ello más que en código, así que gracias por escuchar.

Gracias. Muchas gracias, Erin, pasa a mi oficina. Ha pasado un tiempo desde que pude sentarme y hacer una sesión de preguntas y respuestas en vivo, así que es bueno charlar. En primer lugar, ¿cómo te sientes? Por cierto, fue una gran charla.

QnA

Pair Programming and Mentorship Communication

Short description:

Cuando se programa en pareja, ser organizado y estar preparado puede ayudar a construir confianza. Es importante tener una lista de tareas pendientes y preguntas listas antes de comenzar. Recuerda que todos nos ponemos nerviosos al programar frente a otros, pero todos tenemos la capacidad de escribir. La comunicación es clave en una mentoría. Consulta regularmente con tu mentor para discutir cómo va la mentoría y proporcionar retroalimentación. Si necesitas un descanso o sientes que la mentoría no está funcionando, sé abierto y honesto al respecto. Es importante encontrar un mentor cuyo estilo de enseñanza se alinee con tu estilo de aprendizaje.

Gracias. Estoy bien. Bien, bien, bien. Así que tenemos algunas preguntas de la audiencia, llegando, y una de ellas es más sobre la programación en pareja. Hablaste un poco sobre la programación en pareja, y pedir tips para construir confianza y evitar la ansiedad. Quiero decir, he hecho demostraciones en vivo, he hecho programación en pareja, y simplemente hay algo mágico cuando alguien te está mirando escribir, todo se vuelve loco. Entonces, ¿algún tips para la ansiedad y la confianza cuando estás programando en pareja?

Sí. Creo que para mí, me gusta estar súper organizado antes de programar en pareja. Así que, como mencioné, hago todas las búsquedas en Google, me gusta tener los archivos abiertos, me gusta tener los mensajes de Slack abiertos. Tengo una lista de tareas pendientes y una lista de preguntas. Creo que estar preparado realmente ayuda antes de incluso ponerme en una llamada o sentarme al lado de alguien, y eso ayuda con mi nivel de confianza. Pero creo que nadie puede escribir frente a nadie. Todos nos asustamos mucho de las demostraciones en vivo, así que todos somos iguales. Es difícil no tener miedo, pero todos sabemos escribir.

Sí, absolutamente. Siento que he estado en esa situación en la que empiezas a temblar y no puedes escribir realmente. He estado ahí. Una cosa de la que hablaste y que me encantó, y, como, no voy a intentar recordar ninguna ruptura que haya tenido, pero cuando hablaste de, oh, necesitamos tomar un descanso, tal vez durante un mes, lo retomaremos. ¿Cómo le haces saber a un mentor, verdad, me gustaría un descanso? Pero también quieres darle a ese mentor retroalimentación sobre lo que tal vez podrían estar haciendo mejor para ser un mejor mentor para ti, para ser un mejor mentor para otra persona. ¿Cómo puedes comunicarlo de manera positiva?

Sí, creo que regularmente a lo largo de una mentoría, siempre debes hacer algunas revisiones como, oye, ¿cómo va esto? ¿Es el momento adecuado de la semana? ¿Lo necesitas los martes en lugar de los viernes, o cómo va? ¿Estás obteniendo algo de esto? Y si no lo estás, está bien. Solo sé abierto y honesto con ellos si está funcionando. Creo que es muy importante decirles si está funcionando porque a veces ellos no lo saben, y es bueno saberlo. He tenido momentos en los que fue todo el tema de la gaviota. Esa fue la primera vez que tuve que decir algo como, creo que estás muy ocupado en este momento. Y Sally no lo está, así que me voy a ir. Hoy voy a obtener ayuda de Sally, y tal vez podamos retomarlo en un par de semanas cuando no estés tan ocupado. Estoy tratando de aprender los diferentes estilos, y no estoy conectando del todo con la forma en que estás aprendiendo. Me encantaría darte algunos tips, pero realmente tengo que terminar este proyecto. Así que gracias por tu tiempo.

No, entiendo completamente eso, y creo que es un enfoque excelente.

Managing Pair Programming and Async Mentorship

Short description:

Cuando estás ocupado y la programación en pareja no parece ser una prioridad, es importante evaluar el proyecto y su cronograma. Tomar un descanso en la programación en pareja para enfocarse en el trabajo esencial es normal. Establecer un marco de tiempo para retomar la programación en pareja después de un período ocupado puede ser útil. Si tu compañero de equipo prefiere enviar mensajes de texto en lugar de programar en pareja, prueba alternativas como compartir pantalla o programar una demostración. La mentoría asincrónica se puede lograr a través de Slack publicando solicitudes de programación en pareja o colaboración basada en texto sin plazos estrictos.

Y una cosa de la que hablaste, mencionaste estar ocupado, porque a veces se acercan plazos y necesitamos enfocarnos. Y a veces, las buenas prácticas son las primeras en ser descartadas. Y la programación en pareja podría ser una de ellas. ¿Cómo manejas eso cuando, por ejemplo, como una especie de organización, como un equipo de desarrolladores, comienzan a estar ocupados y la programación en pareja no parece ser una prioridad? ¿Pero cómo te aseguras de que aún puedas encajarla?

Sí, creo que esa es una excelente pregunta. Creo que depende del proyecto. Así que mencioné los proyectos apasionados, los proyectos secundarios en los que trabajamos. Si estamos al final del ciclo y nadie realmente tiene tiempo, y todos están tratando frenéticamente de terminar su trabajo, no tendremos la sesión en pareja. Así que creo que si es una sesión en pareja para un proyecto, o dependiendo de tu cronograma y tus objetivos para lo que necesitas, creo que tomar un descanso en la programación en pareja. Supongo que hago muchos descansos. Tomar un descanso en la programación en pareja por un tiempo para hacer el trabajo esencial está totalmente normal.

Sí, y me encantó cuando hablaste de tomar un descanso, también a veces establecer un marco de tiempo. Podría ser que no puedas tomar un descanso porque estás ocupado en este momento, pero en un mes o después de esta fecha límite, retomémoslo. Y alguien hizo una pregunta que me parece muy interesante, que es: ¿cómo hago que mi compañero de equipo haga programación en pareja conmigo cuando prefiere enviar mensajes de texto?

Oh, sí. Eso es difícil. ¿Porque algunas personas simplemente no disfrutan mucho de los mensajes de texto, te refieres solo en Slack? Así que parte de mí piensa que es en Slack, que prefieren simplemente responder preguntas en lugar de sentarse contigo. Sí. Si estás de acuerdo, siéntete libre de aclarar. Sí, no, trabajo con personas que también prefieren la comunicación basada en texto. Creo que eso podría ser simplemente su estilo de comunicación y no quieren estar en un video, y eso está totalmente bien. Creo que podrías compartir pantalla y no estar en un video. También hago eso todo el tiempo con algunas personas. Así que en realidad no tienes que estar en un video para hacerlo. Parte de mí piensa en decir que no entiendo realmente esto, ¿puedes explicarlo de otra manera? Y si terminan escribiendo mucho y les preguntas tres veces y aún no entiendes, diles que no está haciendo clic para ti, que te encantaría hacer una demostración. ¿Quieres programar un tiempo o conoces a alguien más que tenga tiempo y pueda ayudarme? No, entiendo completamente eso. Una cosa de la que hablaste es que mencionaste diferentes formas, tal vez podría ser un video. ¿Cómo haces eso, porque, por ejemplo, sé que en el trabajo estamos tratando de hacer mucho más asincrónico? ¿Cómo harías la mentoría asincrónica? ¿Existe algo así como la mentoría asincrónica? Sí, creo que publicar en Slack, y si alguien tiene tiempo en la próxima semana o algo así, programar en pareja conmigo o colaborar en texto, supongo, si eso es lo que quieres hacer. Creo que simplemente no establecer plazos en la mentoría o la programación en pareja la hace más accesible de alguna manera.

Balancing Mentoring and Time Management

Short description:

Publicar en Slack y establecer tiempo con otros es la mejor manera de lograr el objetivo. Para evitar el efecto gaviota, es importante saber lo que no sabes y buscar ayuda de aquellos que tienen más conocimiento en áreas específicas. Equilibrar la mentoría y el trabajo personal requiere una gestión efectiva del tiempo y una comunicación abierta sobre la disponibilidad y los compromisos. Categorizar a los mentores según su experiencia puede ser útil, teniendo diferentes mentores para diferentes áreas de enfoque.

Entonces, sí, creo que simplemente publicar sobre eso en Slack. Puedes preguntar si puedes establecer tiempo con alguien, ya sea hoy o mañana. Da opciones. Creo que esa es la mejor manera de lograr el objetivo.

Y otra pregunta que ha surgido, porque sé que algunas personas en esta sala podrían ser mentores ellos mismos, y creo que esta es una buena pregunta, que es: ¿qué cosas has hecho para evitar el efecto gaviota como mentor?

Sí, creo que saber lo que no sé. Por ejemplo, si intentara hacer algo relacionado con Kubernetes, sería una gaviota. O algo de Docker. Saber lo que sabes y lo que no sabes para poder ayudar a alguien es bueno saberlo. Diría: `Vamos a hablar con Chris`, porque él sabe mucho más al respecto y yo también quiero aprender, así que me quedaré en la llamada. Creo que saber que el efecto gaviota es real es bueno. Y también saber que hay otras personas que pueden ayudarte a no ser una gaviota.

Muy bien. Y a medida que las personas crecen y pasan de ser desarrolladores junior a desarrolladores senior, desarrolladores autónomos, principales, líderes, su tiempo se vuelve mucho más demandado. ¿Cómo puede alguien que tal vez tenga una agenda ocupada equilibrar la mentoría con el trabajo propio?

Sí, creo que la gestión del tiempo es realmente importante. Creo que mi mentor con el que me reúno, solíamos hacerlo una vez a la semana y era mucho. Ahora nos reunimos cada dos semanas. Creo que simplemente ser abierto y honesto acerca de lo que puedes trabajar. Y si no tienes tiempo para un proyecto secundario, tal vez alguien solo necesite mucha ayuda para entender los hooks. Y así solo tendrás 30 minutos de práctica con hooks o algo así. Creo que entender cuánto compromiso de tiempo pueden tener y cuánto tienes tú, la comunicación desde el principio es clave.

Eso tiene mucho sentido. Sé que las personas aún pueden agregar más preguntas, pero una pregunta que he tenido es que a veces tengo un mentor y tal vez haya un mentor en un ámbito específico o en una cosa específica, como mencionaste en diferentes lenguajes. Cuando piensas en tus mentores, ¿los categorizas de alguna manera o cada mentor es un generalista o tienes mentores a los que acudes para cosas específicas? Oh sí, tengo como 10. Por diferentes razones. Uno es para consejos profesionales, otro para Rails, otro para React. Creo que tener varios mentores hace que sea mucho más fácil que tener uno que tenga conocimientos limitados.

Benefits of Having Multiple Mentors

Short description:

Tener varios mentores es como la diversificación, no solo para las acciones sino también para los mentores. Es beneficioso tener diferentes mentores para recibir consejos sobre la carrera y áreas específicas como React. Establecer contactos y mantener conexiones con personas en diferentes roles puede ser valioso.

Y luego requiere menos compromiso de tiempo. Simplemente sé, oh, esta es la persona a la que acudo para recibir consejos sobre la carrera, esta es la persona a la que acudo para recibir consejos sobre React. Y creo que es beneficioso tenerlo de esa manera porque estableces contactos y mantienes conexiones con personas que tienen trabajos más antiguos. Y simplemente... Sí. Sí. No, lo entiendo completamente. Creo que tener varios... Es como la diversificación, ¿verdad? No solo deberías hacerlo con tus acciones, sino también con tus mentores. No, muchas gracias. Realmente, realmente aprecio que estés aquí, Erin. Y demos una maravillosa ronda de aplausos a Erin.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

React Summit 2022React Summit 2022
27 min
Impact: Growing as an Engineer
Top Content
Becoming a web engineer is not easy, but there are tons of resources out there to help you on your journey. But where do you go from there? What do you do to keep growing, and to keep expanding the value you bring to your company? In this talk we’ll look at the different kinds of impact you can have as a web engineer. We’ll walk through what it means to take on bigger, more complex projects, and how to scale yourself, and grow the community around you. By driving our own development we can all grow our impact, and in this talk, we’ll discuss how to go about this.
TechLead Conference 2023TechLead Conference 2023
25 min
On Becoming a Tech Lead
Tech lead sounds like a lot of work. And not the fun coding kind either. Why would you ever want that? What does it feel like when you get it?In this talk Swizec explains why he took the step towards technical leadership, how his priorities changed, and why it means he’s doing more engineering than ever. A whole new world where writing code is the easy part.
10 min
Emma Bostian: I landed my dream job by sharing my blogs on Twitter
Top Content
Featured Article
Software engineer, lecturer, podcast host, author — is there something Emma Bostian hasn't done? She moved from America to Sweden, started working at Spotify, and took up a few challenges along the way. And now she has some career tips to share.

What led you to software engineering? 
I was raised in the ecosphere of tech because my dad is a software engineer at IBM, and my mom was a designer there, too. My dad always encouraged me to join STEM and take a look at computer science — however, I was convinced I wanted to be a medical doctor. In my first year of college, I declared a biology major and quickly realized I was not too fond of it. In my second semester, I switched to an actuarial science major where I took Introduction to Computer Science, and the rest is history. In my second year of college, I declared a computer science major and began my journey from there.
What is the most impactful thing you ever did to boost your career?
Writing blog posts and documenting my learning journey on Twitter has far been the best career boost. I wrote purely for myself to reference the things I learned over time, and I even utilized my design skills in Figma to create custom graphics depicting difficult concepts like CSS specificity. By sharing my blogs on Twitter and engaging with the people reading them, I was able to grow an audience extremely quickly. I began receiving conference speaking opportunities, podcast requests, and course invitations to teach with LinkedIn Learning and Frontend Masters.
Ultimately, I landed my job at Spotify through Twitter, too, when a friend and follower of mine asked if I would be interested in interviewing. Now I live in Stockholm working my dream job. It still blows my mind how tweeting about my blog led me to some of the most amazing career opportunities.
What would be your three tips for engineers to level up their career? 
First, be patient. I often see posts on Twitter or LinkedIn about developers who were promoted to a senior position after a year. And while this is wonderful, I think we forget that each company has a different standard for what constitutes a senior developer, and everyone's journey will be different.
Second, don't be afraid to ask questions. If you try your best to solve a problem or answer a question you have, but you can't figure it out after a reasonable amount of time, ask a team member or mentor for help.
And lastly, invest in the right resources for learning. When I started my journey, I didn't know which platforms worked for me to learn. Now, I have a few trusted platforms such as Frontend Masters, Free Code Camp, or Level Up Tutorials that I go to when I need to learn a new skill.
You're currently working as a software engineer at Spotify. What does a typical day of yours look like there?
I begin my day answering emails. Then we have a team breakfast and a standup remotely as we're all still remote at Spotify. After that, we might have a web tech sync with the other squads in our business unit. The day usually includes some form of pair or mob programming, depending on the work stream. 
My team always has Fika, a traditional Swedish coffee break, scheduled every afternoon. Every couple of Fridays, we have team games planned to release some stress. 
Also, I tend to have a lot of free time to focus, which is nice but makes for a boring answer to this question!
Do you have some rituals or tools that keep you focused and goal-oriented?
I'll admit that I've been struggling with staying motivated in the time of remote work. I've been remote with Spotify since onboarding a year ago, but my team is wonderful, and they help me when I'm down.
Apart from that, I use Todoist to keep track of my tasks, and, naturally, I listen to Spotify while working. But other than that, not really. Maybe I should adopt some new tools to keep me on track!
My current favorite Spotify playlist is Brand New Chill: https://open.spotify.com/playlist/37i9dQZF1DX6uQnoHESB3u?si=380263b3c853442e
I also love Chillout Daily: https://open.spotify.com/playlist/7ozIozDp260fjNOZy1yzRG?si=66d6c839ec9b458a
You wrote a book called De-coding the Technical Interview. What was the impulse to do it?
I wanted to give the community a manual of the essentials of computer science knowledge to ace the technical interviews. The book covers data structures like stacks, queues, or linked lists, tackles algorithms, and deals with systems design. You'll also learn about the interview process from start to finish, get tips on how to submit an amazing take-home project, or understand how to problem solve. You'll also gain knowledge on the frontend coding skills needed to excel at a frontend interview.

If you could stress one piece of advice on surviving a technical interview, which would it be?
Do not lie your way through an interview. If you don't know the answer to something, just admit it. There's no shame in admitting you don't know the answer to something. There is shame in faking it and pretending like you do know the answer.
What's the single best practice everyone who writes code should follow?
Remember that while you are technically writing code for computers, you're also writing it for humans. Your code should be readable and have as little complexity as possible without sacrificing accessibility or performance.
In addition to the book, you co-host the Ladybug Podcast. What inspired you to enter this field, and what are the podcast's main topics?
We talk about everything tech and career on the podcast, from Java and GraphQL to how to start a business and cross-cultural communication. The podcast is a way for me and my co-hosts to share our experiences in tech, having taken different paths. And I'm really glad for doing it — it has allowed me to meet so many incredible people, learn many new things, and support my dream of teaching.
What pieces of your work are you most proud of?
My technical interview book was a huge feat for me as well as my courses with LinkedIn Learning on building a tech resume. I enjoy creating things that help other people advance their careers, so I'm also proud of my courses with Frontend Masters on design systems and CSS.
***
Follow Emma on Twitter
14 min
Kent C. Dodds: Consume, build, and teach — and level up your career
Top Content
Featured Article
Even though his bio offers quite a hefty reading, he only applied for one job in his career. The rest came along as he was building his name as a renowned speaker, teacher, and a prolific figure of the open-source community. How did Kent do it? “Commit to creating high-quality content,” he says.


What led you to programming?
I had a friend when I was a teenager who was really into it, and he tried to teach me. But I just couldn't get it — it didn't make any sense to me. So I never really thought I'd get into programming, but I liked computers a lot, and I ended up going to school for electrical engineering. 
Well, that didn't work because I'm not good at math. But right when I started the program, I got a job at a company uploading videos to YouTube and that sort of thing. The work was tedious, so I decided to write a computer program to automate lots of the work I was doing with the knowledge I had about programming. And that was the first spark of things for me to use programming to solve real-world problems. 
What is the most impactful thing you ever did to boost your career? 
Committing to creating high-quality content. That might sound obvious because I'm a full-time educator now, but I would not have gotten my job at PayPal if I hadn't been so active with my blog. In fact, lots of my jobs came out of me being involved in the community around meetups, conferences, or open-source projects. 
How do you choose topics for the content you create, be it for your blog or podcast?
I don't think too much about the content other people are creating. And I don't often consume it. My ideas come from the things that I'm working on, things that I'm learning myself, or — when I was working with a team of developers — the things that I had to remind people of in code reviews regularly. Anytime that I would have a code review comment that was pretty long to describe my position, that was an excellent opportunity for a blog post. Also, if people ask me about a topic regularly, I'll make a blog post rather than answer that question multiple times.


What would be your three tips for engineers to level up their career? 
The number one thing I tell people is to be a nice person. I know that sounds fluffy or silly, but it cannot be overstated. You will get so much further in your career and just in life in general if you're a nice person. That doesn't mean that you take people being jerks lying down, but how you interact with others is out of kindness. You could be the best engineer in the entire world, but if you're not a nice person, you will not reach your full potential or accomplish your goals, whatever they may be.
Second, it's just as important to decide what you are not going to learn as it is to decide what you are going to learn. You could jump into countless things — and there are successful people who are polyglot programmers, but I can't speak to that a whole lot. All I can tell you is that in my experience, focusing on specific things that I want to be truly good at has worked out great for my career. That doesn't mean that I closed myself off to other things. With my website rewrite, I have been doing a lot of dev ops-related work and a lot of back-end stuff that I've typically not been involved in. You want to keep your head up on what's going on outside of what you're doing so that you know what direction to go in when you come across problems you need to solve. However, finding a focus on what you want to be good at has helped me a lot. That way, you feel a little less stressed.
And the third one? 
Learn how to learn effectively. It's a three-step process: you consume, build, and teach. The consumption of newsletters and Twitter and whatever inspires you, but you don't want to spend too much time doing that — implementing it into actually building something matters. This happens naturally if you work at a company, but maybe you're not making the things you want to learn, so you may want to start a side project. The building phase is where you get experience, but you also want to solidify that experience. How? You start teaching. You don't necessarily have to teach it to people, it could be stuffed animals. The goal of the teaching is to retain in your mind what you've learned through the building process.
What are you working on right now? 
The big thing I'm working on right now is a rewrite of my website. It'll be much more than just a developer portfolio — I'll have user accounts, and there'll be fun things that you can do with it. And because it's more than just a website, I'm using Remix, a new cool framework in the React ecosystem. I'm also working on updating my material on TestingJavaScript.com and a TypeScript course as well. 
So, whatever I'm working on, it ends up resulting in lots of opportunities for content.


Do you have some rituals that keep you focused and goal-oriented? 
I have a notepad where I keep all of my notes of what I'm going to do for the day so that when I'm checking things off, I'm not distracted notifications. I've tried apps for that, and that does not work well for me. 
I also am a firm believer in inbox zero. I have my work inbox and my personal inbox, and I keep them both at zero. And I kind of use that as a to-do list. 
And if I'm not feeling excited about working for some reason, I will often hop on my Onewheel, which is an electric skateboard that only has one giant wheel in the middle. It's just a total blast, and I'll hop on that with my backpack and a charger, and I'll go to a Starbucks or a park just to declutter my mind.
What things in the React universe are you excited about right now?
React version 18 is coming out soon. The experimental version is out there, and it's fun to play with. I'm just really thrilled that it's no longer a concurrent mode but concurrent features that you can opt into. Cool things like that will enable React server components in the future. 
But the biggest thing I'm excited about is Remix. That's huge. It eliminates a lot of problems that are solved well other tools, but when I'm using Remix, I don't have those problems, so I don't need those clusters.
You already said that teaching is an integral part of the learning process, and you stand your word since you're also a full-time educator. What inspired you to enter this field?
I have been a teacher for as long as I can remember. I grew up in a church where you talk in front of your peers from a very young age, and my mom was an elementary school teacher, so teaching has just always been a part of me. 
I really just enjoy sharing what I'm learning with others. As far as teaching technical topics, I gave my first workshop when I was still a student at Brigham Young University. With my fellow, we taught how to use AngularJS, and I got Firebase to sponsor pizza so they would show up, and that was pretty fun.
Then I started teaching on the side at egghead.io right after I'd graduated. That was when I first got a paycheck for teaching. And I realized that teaching could be quite lucrative and support my family and me as a full-time endeavor. So I did it — I quit my job. I'm a very risk-averse person, so I'd done teaching as a side hustle for four years just to verify that I could make this work.
When TestingJavaScript was released, and I got that paycheck, I realized that I didn't need my PayPal salary anymore. I could just focus my daytime on teaching and give my evenings back to my family, which was a nice trait.


Apart from that, how has teaching impacted your career? 
Earlier I mentioned that pretty much all of my jobs came because I was perceived as an expert. After the first job, where I was an intern and then converted into full-time, I never applied to another. I worked for four different companies, and they wouldn't have recruited me if they didn't know who I was and what I was doing. My content is how they knew who I was — I just made it easy for them to find me. Teaching made that impact. It made my career. 
We talked about React and Remix. Are there any other open-source projects that you'd recommend keeping an eye on or contributing to?
I have some myself. React Testing Library is probably the biggest one that people are familiar with. And if React isn't your jam, then other framework versions of the testing library. 
React Query is also really popular. If you're using Remix, you don't need it, but if you're not, I strongly advise using React Query cause it's a stellar, fantastic library, and Tanner Linsley, the creator, is a stellar and fantastic person. 
What pieces of your work are you most proud of? 
Probably the biggest thing I've ever done is EpicReact.Dev. It has helped tens of thousands of people get really good at React, improve their careers and make the world a better place with the skills that they develop. My whole mission is to make the world a better place through quality software, and I feel like I've done that best with Epic React. 
There are things that I've built at other companies that are still in use, and I'm proud of those cause they've stood the test of time, at least these last few years. But of everything, I think Epic React has made the biggest impact.
***
Follow Kent on Twitter and listen to his favorite Spotify playlist
TechLead Conference 2023TechLead Conference 2023
36 min
Effective Communication for Engineers
Your communication skills affect your career prospects, the value you bring to your company, and the likelihood of your promotion. This session helps you communicate better in a variety of professional situations, including meetings, email messages, pitches, and presentations.
6 min
Charlie Gerard's Career Advice: Be intentional about how you spend your time and effort
Featured Article
When it comes to career, Charlie has one trick: to focus. But that doesn’t mean that you shouldn’t try different things — currently a senior front-end developer at Netlify, she is also a sought-after speaker, mentor, and a machine learning trailblazer of the JavaScript universe. "Experiment with things, but build expertise in a specific area," she advises.

What led you to software engineering?My background is in digital marketing, so I started my career as a project manager in advertising agencies. After a couple of years of doing that, I realized that I wasn't learning and growing as much as I wanted to. I was interested in learning more about building websites, so I quit my job and signed up for an intensive coding boot camp called General Assembly. I absolutely loved it and started my career in tech from there.
 What is the most impactful thing you ever did to boost your career?I think it might be public speaking. Going on stage to share knowledge about things I learned while building my side projects gave me the opportunity to meet a lot of people in the industry, learn a ton from watching other people's talks and, for lack of better words, build a personal brand.
 What would be your three tips for engineers to level up their career?Practice your communication skills. I can't stress enough how important it is to be able to explain things in a way anyone can understand, but also communicate in a way that's inclusive and creates an environment where team members feel safe and welcome to contribute ideas, ask questions, and give feedback. In addition, build some expertise in a specific area. I'm a huge fan of learning and experimenting with lots of technologies but as you grow in your career, there comes a time where you need to pick an area to focus on to build more profound knowledge. This could be in a specific language like JavaScript or Python or in a practice like accessibility or web performance. It doesn't mean you shouldn't keep in touch with anything else that's going on in the industry, but it means that you focus on an area you want to have more expertise in. If you could be the "go-to" person for something, what would you want it to be? 
 And lastly, be intentional about how you spend your time and effort. Saying yes to everything isn't always helpful if it doesn't serve your goals. No matter the job, there are always projects and tasks that will help you reach your goals and some that won't. If you can, try to focus on the tasks that will grow the skills you want to grow or help you get the next job you'd like to have.
 What are you working on right now?Recently I've taken a pretty big break from side projects, but the next one I'd like to work on is a prototype of a tool that would allow hands-free coding using gaze detection. 
 Do you have some rituals that keep you focused and goal-oriented?Usually, when I come up with a side project idea I'm really excited about, that excitement is enough to keep me motivated. That's why I tend to avoid spending time on things I'm not genuinely interested in. Otherwise, breaking down projects into smaller chunks allows me to fit them better in my schedule. I make sure to take enough breaks, so I maintain a certain level of energy and motivation to finish what I have in mind.
 You wrote a book called Practical Machine Learning in JavaScript. What got you so excited about the connection between JavaScript and ML?The release of TensorFlow.js opened up the world of ML to frontend devs, and this is what really got me excited. I had machine learning on my list of things I wanted to learn for a few years, but I didn't start looking into it before because I knew I'd have to learn another language as well, like Python, for example. As soon as I realized it was now available in JS, that removed a big barrier and made it a lot more approachable. Considering that you can use JavaScript to build lots of different applications, including augmented reality, virtual reality, and IoT, and combine them with machine learning as well as some fun web APIs felt super exciting to me.


Where do you see the fields going together in the future, near or far? I'd love to see more AI-powered web applications in the future, especially as machine learning models get smaller and more performant. However, it seems like the adoption of ML in JS is still rather low. Considering the amount of content we post online, there could be great opportunities to build tools that assist you in writing blog posts or that can automatically edit podcasts and videos. There are lots of tasks we do that feel cumbersome that could be made a bit easier with the help of machine learning.
 You are a frequent conference speaker. You have your own blog and even a newsletter. What made you start with content creation?I realized that I love learning new things because I love teaching. I think that if I kept what I know to myself, it would be pretty boring. If I'm excited about something, I want to share the knowledge I gained, and I'd like other people to feel the same excitement I feel. That's definitely what motivated me to start creating content.
 How has content affected your career?I don't track any metrics on my blog or likes and follows on Twitter, so I don't know what created different opportunities. Creating content to share something you built improves the chances of people stumbling upon it and learning more about you and what you like to do, but this is not something that's guaranteed. I think over time, I accumulated enough projects, blog posts, and conference talks that some conferences now invite me, so I don't always apply anymore. I sometimes get invited on podcasts and asked if I want to create video content and things like that. Having a backlog of content helps people better understand who you are and quickly decide if you're the right person for an opportunity.What pieces of your work are you most proud of?It is probably that I've managed to develop a mindset where I set myself hard challenges on my side project, and I'm not scared to fail and push the boundaries of what I think is possible. I don't prefer a particular project, it's more around the creative thinking I've developed over the years that I believe has become a big strength of mine.***Follow Charlie on Twitter

Workshops on related topic

React Summit 2022React Summit 2022
75 min
How To Design A Sustainable Freelance/Contracting Career + Speedcoding Challenge
WorkshopFree
Ready to kickstart your freelance career or just getting started on your freelance journey? You’re in the right spot. Learn from the world’s largest fully distributed workforce in the world.
The independent talent movement is the future of work. If you’re considering leaving full-time employment for a career as a freelancer, now is the time to find your successful space in the independent talent workforce. More people are working freelance today than ever before, with the freelance marketplace now contributing $1.2 trillion to the US economy. Some of the most in-demand roles for freelancers right now are senior developers with professional experience in React, Python, Blockchain, QA, and Node.js.
This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing/contracting career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
At the end of the workshop there will be a Q&A session with a Freelance Developer who can answer your questions and provide insights and tips into their own success.
During the Workshop break, we will be running a speed-coding challenge! At the end of the workshop, we will award a prize for the winner and display the leaderboard.
We will have you login to our portal and complete the challenge as fast as you can to earn points. Points are assigned based on difficulty and the speed at which you solve the tasks. In case you complete all tasks, you get extra points for the remaining time. You’ll see your score, ranking, and the leaderboard once you complete the challenge.
We will be giving away three Amazon Gift Cards ($200, $100, $75) for the top three winners.
React Advanced Conference 2021React Advanced Conference 2021
145 min
Designing A Sustainable Freelance Career
WorkshopFree
Would you like to pursue your passions and have more control over your career? Would you like schedule and location flexibility and project variety? Would you like the stability of working full-time and getting paid consistently? Thousands of companies have embraced remote work and realize that they have access to a global talent pool. This is advantageous for anyone who has considered or is currently considering freelance work.>> Submit your interest on becoming a freelance engineer with Toptal and get a call with Talent Acquisition specialist <<

Freelancing is no longer an unstable career choice.

This workshop will help you design a sustainable and profitable full-time (or part-time) freelancing career. We will give you tools, tips, best practices, and help you avoid common pitfalls.
Table of contents

Module 1: Dispelling common myths about freelancing
Module 2: What does freelancing look like in 2021 and beyond
Module 3: Freelancing choices and what to look for (and what to avoid)
Module 4: Benefits of freelancing from a freelancer + case study
BREAK
Module 6: How to get started freelancing (experience, resume, preparation)
Module 7: Common paths to full-time freelancing
Module 8: Essentials: setting your rate and getting work
Module 9: Next steps: networking with peers, upskilling, changing the world
Module 10: Freelancer AMA
React Summit Remote Edition 2021React Summit Remote Edition 2021
121 min
Landing Your Next Developer Job
WorkshopFree
Renaud Bressant (Head of Product), Nathanael Lamellière (Head of Customer Success and Solution Engineer), Nouha Chhih (Developer Experience Manager) will be looking at the different developer jobs that you can accounter when looking for your next developer role. We'll be explaining the specifics of each role, to help you identify which one could be your next move. We'll also be sharing tips to help you navigate the recruitment process, based on the different roles we interviewed for as recruiters, but also as candidates. This will be more of an Ask Us Anything session, so don't hesitate to share your thoughts and questions during the session.