Aumentando tu Esfera de Influencia como Ingeniero de Personal

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Descubre estrategias prácticas para expandir tu influencia como ingeniero de personal. Esta charla cubre la construcción de credibilidad técnica, comunicación efectiva, mentoría y liderazgo en iniciativas técnicas, ayudándote a dejar un impacto duradero dentro y fuera de tu equipo de ingeniería.

This talk has been presented at React Advanced 2024, check out the latest edition of this React Conference.

Ian Schwartz
Ian Schwartz
26 min
28 Oct, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Bienvenidos a mi charla en React Advanced 2024, Cómo Aumentar tu Impacto como Ingeniero de Personal. En esta presentación, daré consejos prácticos sobre cómo aumentar tu influencia como desarrollador de personal. Los ingenieros de personal tienen responsabilidades como identificar ineficiencias, realizar tareas de fondo y equilibrar el trabajo de sprint con tareas de personal. También comparten conocimientos a través de la documentación y la mentoría, y lideran proyectos de alto impacto. Los ingenieros de personal aseguran un código de alta calidad mediante pruebas, defensa de las mejores prácticas e innovación. Para construir influencia, lidera con el ejemplo, sé un mentor y prioriza la documentación y la gestión de proyectos. El pensamiento estratégico y la resolución de problemas son cruciales para los ingenieros de personal. Ampliar la experiencia, mostrar el trabajo y tener visibilidad pública son importantes para el crecimiento profesional y el reconocimiento. Liberar código abierto y el compromiso público son valiosos para los ingenieros de personal. ¡Gracias por asistir a la charla!

1. Introduction

Short description:

Bienvenidos a mi charla en React Advanced 2024, Cómo Aumentar Tu Impacto como Ingeniero de Personal. Trabajo en CarGurus, escribiendo JavaScript desde 2015, con un enfoque en programación funcional en TypeScript. En esta presentación, daré consejos prácticos sobre cómo aumentar tu influencia como desarrollador de personal. Hablemos de lo que es un ingeniero de personal, centrándonos en proyectos estratégicos, estableciendo la dirección técnica, abogando por las necesidades tecnológicas de la empresa y apoyando el crecimiento de otros. Los ingenieros de personal también participan en discusiones de alto nivel, toman decisiones sensibles al tiempo y enfrentan desafíos de alto impacto en la creación de prototipos y la resolución de problemas.

Muy bien. Mi nombre es Ian Schwartz. Bienvenidos a mi charla en React Advanced 2024, Cómo Aumentar Tu Impacto como Ingeniero de Personal.

Esto es, así que déjenme hablar un poco sobre quién soy. Trabajo en una empresa llamada CarGurus. Creamos un mercado para, ya saben, no vendemos coches, pero podrías vender tu coche en CarGurus. Y aunque mi título es Principal, no tenemos un título de personal, pero Principal es el título que tiene muchas de las mismas responsabilidades que típicamente verías en personal y otros roles. He estado escribiendo JavaScript de una forma u otra desde 2015. Me encanta TypeScript y la programación funcional. De hecho, la mayoría de las charlas que he dado en otras conferencias han sido sobre programación funcional en TypeScript.

Y realmente, ya saben, el objetivo de esta presentación, esto en realidad surgió de otra presentación a la que asistí donde esperaba este tipo de contenido. Y cuando no estaba allí, dije esta es la charla que tengo que dar. Así que, ya saben, básicamente vamos a darles algunos consejos prácticos sobre cómo aumentar su influencia como desarrollador de personal. Esto se centra principalmente, ya saben, esto no se va a centrar en ninguna relación donde tengas reportes directos o uno a uno con personas. Ya saben, si acaso, el desafío de este rol es que usualmente no los tenemos. Así que hablemos un poco sobre lo que es un ingeniero de personal. Pueden ver mis memes generados por IA que hice. Así que ya saben, cuando pienso en un ingeniero de personal, es una definición realmente amplia, y voy a pasar rápidamente por muchos de estos. Pero ya saben, a un nivel muy alto, se supone que debes centrarte en proyectos estratégicos de valor para la empresa y elevar al equipo. Quieres establecer la dirección técnica. Ya saben, ¿qué significa esto? Ya saben, podría significar que quieres instituir una mayor calidad de, ya saben, pruebas o revisión de código o proceso. Hay muchas maneras en las que puedes ir con esto, pero es tu trabajo como ingeniero de personal ser el defensor de las necesidades tecnológicas de la empresa, ¿verdad? En un mundo donde cada desarrollador está tratando de cumplir sus objetivos y sus plazos, ya saben, es tu trabajo pensar, bueno, ¿cómo podemos hacer el sistema más eficiente? ¿Cómo puedo ayudarlos a prosperar en este entorno sin que realmente, como, sean mis subordinados que me reportan? Así que hay mucho de mentoría involucrada. Ya saben, un desarrollador junior que llega o alguien nuevo en la empresa, van a acudir a ti y deberías poder apoyarlos. Así que realmente, es tu trabajo ayudar a las personas a crecer. Ya saben, hacemos mucho de planificación. Así que participamos en discusiones de alto nivel, ya saben, tomando decisiones que son decisiones sensibles al tiempo en el contexto de la ingeniería. ¿A qué podemos comprometernos? ¿A qué no podemos comprometernos? Estas son cosas que buscaría en los ingenieros de personal. Creación de prototipos y resolución de problemas y desafíos ambiguos de alto impacto. Esta es una gran parte de lo que hago. Ya saben, la mayoría de las veces entras en una base de código y hay estos tipos de patrones que se han arraigado en la base de código.

2. Responsibilities of a Staff Engineer

Short description:

Espero que los ingenieros de personal identifiquen ineficiencias y desafíos, incluso si no se expresan. También son responsables de realizar tareas de fondo, asegurando que el trabajo se realice de manera eficiente y equilibrando el trabajo diario de sprint con las tareas de ingeniero de personal. Mantener las manos en el código es crucial para comprender los desafíos del equipo. El aprendizaje continuo, buscar retroalimentación y estar abierto a las aportaciones de todos los miembros del equipo son esenciales para el crecimiento.

Y espero que los ingenieros de personal observen y vean dónde están las ineficiencias, vean dónde los desafíos repetidos que la gente enfrenta, pero no necesariamente expresan. Este es un trabajo de ingeniero de personal para mí.

Veamos. Ser el pegamento. Me encanta este gráfico. La IA está mejorando mucho. Ser el pegamento. Muchas veces los ingenieros de personal son los que realizan las tareas de fondo, como, ya sabes, actualizar dependencias o encargarse de la deuda técnica o realizar refactorizaciones, que a menudo son invisibles para la empresa. Ya sabes, asegurarse de que el trabajo se realice a la velocidad correcta. Una gran parte de lo que hago en el trabajo es, ya sabes, escribir tickets y asegurarme de que escribas los tickets de la manera correcta y el trabajo se pueda hacer mucho más rápido que si los escribes de una manera diferente. Correcto.

Pensamos en esas cosas. Muchas veces cuando entras en una empresa como ingeniero de personal, se espera que escribas código. Y, ya sabes, pregunté en Reddit y obtuve las opiniones de la comunidad y casi unánimemente dijeron, oh, si eres un ingeniero de personal, no deberías estar haciendo el trabajo diario de sprint. Pero la verdad es que en muchas empresas se espera que equilibres el trabajo diario de sprint con más, ya sabes, tareas del tipo ingeniero de personal. Y esto es realmente un desafío de hacer.

Y no siempre es obvio cómo encontrar el tiempo o hacer el espacio para hacer los trabajos más de ingeniero de personal cuando tienes objetivos diarios. Pero dicho esto, creo que es importante mantener las manos sucias y en la base de código porque, ya sabes, hay una cosa en resolver problemas de alto nivel. Pero para poder ver esos problemas, creo que es realmente importante, ya sabes, saber por lo que todos los demás están pasando.

Y así, un trabajo que tenía un ingeniero de personal que no hacía ningún trabajo de sprint, cuestionaría qué tan en contacto estaban con los problemas que el resto del equipo enfrentaba. Siempre tienes que estar aprendiendo y desarrollando habilidades. De hecho, creo que así es como llegas a ser un ingeniero de personal si ya estás haciendo esto de todos modos. Así que muchos de ustedes probablemente ya tienen esto marcado. Pero especialmente el último punto sobre buscar retroalimentación regular, realmente creo que la retroalimentación es algo que debería estar sucediendo de todos en el equipo. El desarrollador más junior está tan calificado para hacer revisión de código como el desarrollador más senior. Y nunca sabes lo que la gente sabe o qué perspectiva aportarán o qué preguntas harán que te hagan ver las cosas de una manera diferente. Así que, ya sabes, lidera con el ejemplo al recibir revisión de código. Sé agradecido con los comentarios. Sé, ya sabes, estar dispuesto a realmente escuchar la retroalimentación de las personas porque eso les ayuda a crecer.

3. Additional Responsibilities of a Staff Engineer

Short description:

Los ingenieros de personal comparten conocimientos a través de documentación, presentaciones, mentoría y formación. Lideran proyectos de alto impacto, impulsan discusiones de diseño y aseguran entregables de alta calidad mediante pruebas rigurosas y revisiones de código.

Y eso también es una gran parte de tu trabajo. Compartir conocimientos, los ingenieros de personal hacen mucha documentación. Lo hacen. Tienden a hacer presentaciones en mi empresa. Tenemos charlas técnicas específicas de la empresa que otras empresas han visto como Lunch and Learns y ese tipo de cosas. Mentoría y sesiones de formación interna. Sabes, si no estás haciendo estas cosas, no significa que no estés siendo un ingeniero de personal. Pero esta es solo la forma en que el rol se ha presentado para mí. Y creo que realmente ayudar a los desarrolladores junior a crecer es es es tan importante. Correcto. Porque las semillas que siembras con las personas hoy van a afectar la forma en que se escribe el código dentro de seis meses o un año. Así que realmente lo creo.

Construir y liderar proyectos de alto impacto, ya sabes, una gran parte de ser un ingeniero de personal, incluso si puedes estar haciendo trabajo de sprint, es también tener proyectos que tú mismo estás encabezando. Y es una cosa tener objetivos técnicos y cosas que quieres investigar. Pero es realmente importante asegurarse de que esas cosas tengan un alto impacto y valor para la empresa. Y según lo bien que hagas esto, realmente te ayudará a ayudarte con los otros aspectos de ser un ingeniero de personal. Sabes, necesitas que personas además de otros ingenieros te noten y necesitas que otros ingenieros te noten. Así que creo que eso es muy importante.

Liderar discusiones de diseño y arquitectura dentro de tu equipo. Aquí hay una pregunta. ¿Tu equipo tiene conversaciones sobre, ya sabes, diseño y arquitectura? ¿Están pensando en cómo estructurar su código de una manera que lo haga fácil de trabajar en el futuro y cómo diseñar la aplicación de una manera y arquitectarla de una manera que se mantenga flexible? Y, ya sabes, muchos equipos no tienen esas discusiones. Las presiones del trabajo diario de sprint son demasiado para poder realmente dar un paso atrás y luego pensar en cómo refactorizar esto o cómo construir de manera diferente en el futuro. Así que creo que es muy importante liderar esas discusiones y deberían venir de los niveles de ingeniero de personal.

Asegurar entregables de alta calidad a través de pruebas internas rigurosas y revisiones. Realmente me escucharás decir revisión de código un par de veces en esta presentación. Me encanta la revisión de código. Creo que es una de las mejores cosas que tenemos en cualquier equipo de desarrollo en el que he trabajado. Y si no lo tienes, deberías. Pero las pruebas también son importantes. Realmente he encabezado asegurarme no solo yo, todo mi equipo se ha asegurado de que nuestra cobertura de pruebas sea una de las más altas de nuestra empresa y realmente vale la pena porque no solo tenemos menos errores y todas las otras ventajas de las pruebas, no necesito venderte la idea de las pruebas. Pero cuando escribes código que está bien probado, la consecuencia de eso es que estás escribiendo mejor código.

4. Additional Duties of a Staff Engineer

Short description:

Los ingenieros de personal aseguran un código de alta calidad a través de pruebas rigurosas. Abogan por las mejores prácticas de codificación, establecen estándares de codificación y utilizan herramientas internas para el análisis de calidad y rendimiento del código. También impulsan la innovación probando nuevas estrategias y respaldando opiniones con experiencia.

Normalmente, si las pruebas son dolorosas de escribir, si las pruebas son la peor parte de tu trabajo, eso probablemente sea un indicio de mal código. Y así, tener pruebas de alta calidad asegura un código de alta calidad, en mi opinión. ¿Qué más tenemos aquí?

Abogar y ayudar a implementar las mejores prácticas de codificación en toda la empresa, esto no es siempre fácil de hacer, pero realmente necesitas ser vocal como ingeniero de personal y no siempre estás en una posición para decir así es como lo vamos a hacer. Yo ciertamente no lo estoy. No puedo tomar una decisión en mi empresa y decir que todos en la empresa lo van a hacer de esta manera. Pero lo que puedo hacer es abogar por las mejores prácticas. Sabes, las cosas no negociables que puedes exigir, ciertamente accesibilidad, alta cobertura de pruebas etcétera.

5. Establishing Coding Standards and Innovating

Short description:

Para establecer estándares y guías de codificación, utiliza herramientas internas para el análisis de calidad y rendimiento del código. Impulsar la innovación requiere probar nuevas estrategias y respaldar opiniones con experiencia. Mantente actualizado sobre las tendencias de JavaScript para tomar decisiones informadas sobre la adopción de nuevas tecnologías y prácticas.

Pero mucho de esto es, ya sabes, decir, mira, creo que he encontrado una mejor manera de hacer esto o creo que si, ya sabes, cambiamos nuestra estrategia, no lo sé. Así que quieres establecer los principales estándares y guías de codificación en el equipo. Esto nuevamente se refiere a la revisión de código. Tuve un jefe que una vez dijo que cualquier regla que vayas a escribir en un knit, probablemente deberías hacer una regla de linter para ello. Así que, ya sabes, asegúrate de que haya un linter en tu proyecto, ¿verdad? Y asegúrate de que esté configurado de la manera que tú y el resto del equipo vean como representativa de buenas prácticas.

Utiliza herramientas internas para el análisis de calidad y rendimiento del código. Bueno, acabo de mencionar el linter, realmente quieres hacer que escribir buen código en tu base de código sea infalible. Cualquier comentario que dejes en una pull request y digas, bueno, ya sabes, knit, me gustaría que se hiciera de esta manera, ¿verdad? , eso solo existe en esa pull request. Nadie está revisando tu pull request buscando sugerencias de cómo escribir el código. Así que si es un knit, probablemente debería ser una regla de linter o al menos estar representado en algún lugar de la documentación donde alguien pueda hacerlo. Pero si puedes descargar ese trabajo a herramientas automatizadas, ¿verdad? , y hacer que el linter y el verificador de tipos, etc.

, etc. los hagan cumplir por ti, tendrás un tiempo mucho más fácil porque estos problemas nunca llegarán a la revisión de código y, por lo tanto, no tendrás que dejar esos comentarios. Impulsar la innovación, no lo sé, no me di cuenta de que este salió de lado. Sabes, esto es algo bastante típico, pero, ya sabes, pasé mucho tiempo probando cosas nuevas, probando nuevas estrategias y escribiéndolas, y aprendes tanto de los fracasos como de los éxitos. Sabes, siempre hay mucho en el mundo de JavaScript, mucho bombo sobre esto es hacia donde vamos. Oh, todos estamos usando Redux. Oh, todos estamos usando Zustand. Oh, todos estamos usando lo que sea. ¿Verdad? Vas a tener que dar esas opiniones al ingeniero de personal. Y, ya sabes, hay una expresión sobre cómo son las opiniones porque todos tienen una. Pero asegúrate de que tus opiniones estén fundamentadas en experiencia real. Muchos ingenieros, simplemente tienen esta idea de aquí está la forma en que escribo código. Pero mira, somos ingenieros de JavaScript. Esta es una conferencia de JavaScript en la que estamos aquí, una conferencia de React, ¿verdad? Las mareas cambian y necesitas saber cuáles de esos cambios son bombo y cuáles realmente representan un cambio en la forma en que las personas están escribiendo el código. Ya no todos usamos Enzyme para escribir pruebas. Ahora todos estamos usando, ya sabes, test library. ¿Verdad?

6. Building Influence and Project Management

Short description:

Para construir influencia, lidera con el ejemplo y desafía constantemente tus ideas de lo que significa escribir buen código. Sé un buen mentor, especialmente para los ingenieros junior, y empodéralos para que experimenten y crezcan. Aprender como ingeniero es esencial, independientemente del trasfondo. Construir influencia se puede lograr incluso si no eres una persona extrovertida. Muestra a tu equipo cómo escribir pruebas y código seguro. Prioriza la documentación y utiliza las herramientas adecuadas para la gestión de proyectos.

Tienes que intentarlo. Tienes que intentarlo. Si tienes tiempo para hacer un prototipo, haz un prototipo. Si tienes la libertad de simplemente usarlo, ya sabes, en el código, especialmente si estás hablando de cosas como herramientas de prueba o linters, ya sabes, simplemente hazlo.

Experimentar es realmente importante. Mentoría, de eso hablamos. No puedo enfatizar lo suficiente cuánto ser un buen mentor marca la diferencia para tu equipo en el futuro. Quieres que las personas se sientan envalentonadas para experimentar y aprender y tratar de mejorarse a sí mismas en la base de código. Y quieres especialmente que cuanto más junior sean las personas, más importante es empoderarlas. No te equivoques, la gente renuncia debido a malos ingenieros senior en el equipo. OK, ser un buen ingeniero senior es realmente, realmente importante. Quieres que se vayan del trabajo y piensen en ti como la persona que los ayudó a crecer. Y, ya sabes, aprender como ingeniero es muy importante. Siempre digo, ya sabes, incluso si tienes un trasfondo en ciencias de la computación o te enseñaste a ti mismo, todos somos autodidactas como ingenieros.

Y, ya sabes, quiero que las personas desafíen constantemente sus ideas de lo que significa escribir buen código. Lo que nos lleva de vuelta al título de la charla, cómo realmente construir influencia, ¿verdad? , porque muchas de estas cosas, OK, es fácil decir que voy a liderar con el ejemplo, pero ¿la gente me ve como un líder? A veces lo hacen, a veces no. Cuanto más grande es la empresa, más difícil es. Y, ya sabes, para mí, soy una persona muy extrovertida. Soy el tipo de persona que inicia conversaciones y simplemente expresa mi opinión. Pero no todos lo son y no todos deberían serlo. Y aún necesitas poder construir influencia, incluso si no eres ese tipo de persona. Entonces, ¿cómo lo hacemos? Lo primero es liderar con el ejemplo, y esto, ya sabes, hablamos sobre lo importante que es escribir código real, ya sabes, y hacer trabajo de sprint en tu aplicación. Nunca convencerás a tu equipo de tener una buena cobertura de pruebas a menos que les muestres cómo escribir esas pruebas. OK, nunca les mostrarás cómo escribir, ya sabes, código seguro que no tenga any's a menos que también estés escribiendo código seguro sin any's. Tu documentación debería ser, ya sabes, de chef's kiss. Hermosa, ¿verdad? Usa JS stock donde tengas que usar TypeScript donde sea posible, ya sabes. En términos de gestión de proyectos, nuevamente, creo que mencioné antes, pienso mucho sobre las formas correctas de escribir tickets para mí. Soy un gran fan de tengo este objetivo de hacer todo el trabajo que tengo que hacer simplemente perfectamente paralelizable. Sabes, tenemos tres desarrolladores front-end en el equipo.

7. Leading by Example and Strategic Thinking

Short description:

Liderar con el ejemplo es crucial. El pensamiento estratégico y la resolución de problemas son necesarios para anticipar desafíos futuros y encontrar soluciones efectivas. Como ingeniero de planta, es vital diagnosticar problemas con precisión y demostrar el enfoque correcto. Ser un experto en la materia es valioso, pero no te limites a tu experiencia inicial. Amplía constantemente tu conocimiento para proporcionar ideas y enfrentar nuevos desafíos.

Así que liderar con el ejemplo es realmente, realmente importante. Cuando dejo comentarios en una revisión de código que dice, ya sabes, esto no es una buena práctica, realmente quiero poder señalar lugares en el código donde lo he hecho de la manera que creo que es correcta. Y quiero que esos lugares estén respaldados por pruebas para que cuando otras personas intenten implementar esas cosas y les diga que necesitan escribir pruebas, haya un ejemplo de cómo hacerlo.

Sabes, no es tan difícil de hacer, pero si no te ensucias las manos en la base de código, no podrás hacerlo. Pensamiento estratégico y resolución de problemas. Sabes, es realmente importante estar pensando en el futuro cuando se trata de código, y esto es algo que los desarrolladores de rango y archivo no siempre pueden hacer porque no es por ningún problema con ellos, sino que están recibiendo presión constantemente de gerentes de proyecto y gerentes de producto y diseñadores y sus, ya sabes, sus gerentes técnicos para, ya sabes, este trabajo tiene que hacerse para una fecha límite.

Y al final del día, a veces pasar una hora o dos adicionales en un PR y hacer algunos cambios te ahorrará más trabajo en el próximo PR, ¿verdad? Haremos esto más sostenible. Así que tú, como ingeniero de planta, es tu trabajo estar mirando hacia el futuro. OK, así que significa pensar más allá de tus desafíos técnicos inmediatos y significa realmente idear enfoques para.

Para resolver estratégicamente, solo estoy parafraseando los enfoques para la resolución estratégica de problemas. Es muy común para mí tener esta sensación cuando estoy trabajando en un ticket de, ya sabes, hay este punto problemático con el que me he encontrado tres o cuatro o 10 veces antes y simplemente tienes este momento de eureka donde te das cuenta de que no hemos encontrado realmente un enfoque para resolver este problema. Y es por eso que seguimos encontrándonos con él. Es tu trabajo como ingeniero de planta ver eso y estar constantemente desafiándote a ti mismo para verlo. Y honestamente, los otros desarrolladores en tu equipo te estarán agradecidos por haberlo hecho. Si puedes tomar una canalización que tomó cuatro pasos dolorosos que tenías que ejecutar manualmente y convertirla en un comando de yarn, nadie se enojará contigo. OK. Obviamente, implementar estas cosas y lograr que las personas las adopten nos lleva de vuelta a nuestra última diapositiva. ¿Verdad? Si no estoy escribiendo código, puedo decirle a alguien, esto es lo que creo que deberías hacer. Pero, ¿estoy realmente diagnosticando el problema con precisión?

Y quién me va a escuchar si no lo he hecho? Nuevamente, no tengo la autoridad para exigirlo en equipos que no sean el mío. ¿Verdad? Y entonces, ¿quién me va a escuchar a menos que les esté mostrando la manera correcta de hacerlo? En mi opinión. Creo que es realmente importante ser un experto en la materia.

8. Broadening Expertise and Building Influence

Short description:

Ser un desarrollador en forma de T es valioso, pero no te limites a tu experiencia inicial. Amplía constantemente tu conocimiento y sé capaz de identificar y resolver problemas. La IA puede no ser adecuada para la generación de código, enfócate en mejorar las habilidades lingüísticas y la comunicación efectiva. Considera usar análisis de sentimientos y herramientas de IA como Chat GPT para proporcionar retroalimentación constructiva. Usar emojis en correos electrónicos podría ayudar a suavizar el mensaje. Construir influencia requiere participación pública.

Este año, escuchas sobre ser un desarrollador en forma de T, alguien que sabe mucho sobre muchas cosas, pero también tiene un tema en el que son realmente profundos. En realidad, creo que es aún mejor ser lo que sea que esta forma que dibujé. Hay mucho, ya sabes, deberías ser, es bueno ser un experto en la materia, pero no te limites a la cosa para la que eres un experto en la materia cuando te contrataron.

Soy principalmente un desarrollador de React, pero a medida que la empresa ha, ya sabes, todos en mi empresa comenzamos a usar Remix, lo que ha significado necesitar mucho de lo que tradicionalmente se pensaba como conocimiento de back end o full stack. Y así, porque tengo otras áreas de experiencia además de solo React, a medida que avanzamos en el uso de Remix, ya sabes, hay ideas que puedo aportar que no habría podido. Y estoy constantemente tratando de ampliar mi conocimiento sobre esos temas para que a medida que nos enfrentamos a nuevos desafíos y nos estamos enfrentando a muchos de ellos porque ninguno de nosotros ha creado una aplicación SSR antes. Correcto.

Lo siento, no SSR, SSG. Sabes, necesitas ser capaz de identificar problemas y resolverlos, y no puedes hacer eso si estás demasiado aislado. Cada conferencia, incluida esta, va a estar hablando sobre IA durante los próximos años, y tengo una gran opinión sobre la IA. En realidad, realmente no me gusta usarla para la generación de código, no porque no crea que sea buena o porque crea que es buena o no buena en ello, sino porque me gusta escribir código. La parte del trabajo que es difícil de hacer es la parte del lenguaje, la parte del lenguaje natural, dejar buenos comentarios en las solicitudes de extracción, comunicar cosas de una manera que no haga que la gente se enoje contigo.

Tuve un jefe que me dio la idea de usar análisis de sentimientos en mi solicitud de PR, así que instalé Grammarly. Y tenía falsos negativos porque si decías la palabra error, por ejemplo, que es una palabra de programación, pensaría que estabas siendo negativo. Pero hubo suficientes veces verdaderas en las que me atrapó hablando de una manera que podría haber parecido más crítica o enojada o cortante de lo necesario. Y así, en realidad usé análisis de sentimientos y mejoré la calidad de mi retroalimentación de revisión de código. Y esto es importante porque he visto a personas renunciar por tener seniors que no podían comunicarse efectivamente. Chat, GPT o Claude u otros LLMs son una excelente manera de hacer eso también. Puede que trabajes en una empresa que no te permita usar IAs para código. Pero, ya sabes, poder decir cómo le digo a este desarrollador que creo que están implementando un anti-patrón sin sonar como un idiota y chat GPT hará un buen trabajo diciéndote cómo hacerlo.

Esto incluso va hay algo que no puse en la diapositiva, pero lo voy a decir de todos modos. ¿Puedo recomendar algo que no recomiendo? Lo recomiendo un poco, que es que tuve un jefe hace muchos años antes de ser desarrollador que me dijo que mis correos electrónicos eran demasiado cortantes. Este es un problema que tengo. Y su consejo para mí fue usar emojis. Y sé lo que todos están pensando. Pero la verdad es que un emoji de cara sonriente al final de una declaración podría hacer mucho para suavizar la forma en que se recibe. Puedes usar ese consejo o no. Tu experiencia puede variar. Esto es lo más importante sobre construir influencia, sin embargo, es que todo lo que haces tiene que hacerse en público. OK, bueno, no todo, pero muchas cosas.

9. Knowledge Sharing and Public Visibility

Short description:

Los DMs no son un lugar adecuado para compartir conocimiento. Ser público como ingeniero de planta es crucial. Open source code para liderar con el ejemplo y aplicar las mejores prácticas. Las publicaciones en el blog de la empresa son valiosas para el crecimiento profesional. Utiliza confluence, canales públicos de Slack y comentarios en pull requests para compartir conocimiento. La visibilidad pública ayuda con el reconocimiento de la empresa y la justificación de promociones.

Los DMs son el peor lugar para compartir conocimiento. No puedes buscarlos. No puedes indexarlos. La gente se olvida de ellos. Si alguien deja la empresa, ¿puedes siquiera acceder a ellos? Y ciertamente no puedes llevártelos contigo. Así que creo que es realmente importante asegurarse de que mucho de lo que estás haciendo como ingeniero de planta sea en público.

Y he clasificado esto en orden de lo que creo, cómo creo que deberían hacerse. Si puedes lograr que tu empresa te permita open source algo de tu código, hace mucho para liderar con el ejemplo. Hace mucho para compartir y aplicar las mejores prácticas y la calidad del código. Porque realmente puedes decir que no vamos a poner código de mala calidad en un repositorio open source. Y también es bueno para tu carrera porque, ya sabes, tu nombre siempre estará en esos pull requests iniciales. Siempre serás la persona que comenzó ese repositorio.

Las publicaciones en el blog de la empresa, si las tienes, la mayoría de las empresas tienen un blog o les gustaría tener uno. Y si lo tienen, es muy difícil encontrar personas que estén entusiasmadas con publicar regularmente. Nuevamente, es genial para tu carrera. Cuando estés solicitando tu próximo trabajo, querrás tener esas publicaciones en el blog. Y si no eres un ingeniero de planta, probablemente aún puedas publicar en el blog. En mi empresa, la barrera para publicar en el blog es muy baja. Y sin embargo, la gente no lo hace tanto como debería.

Lo siguiente sería confluence o documentación similar, porque realmente puedes buscar a través de ella. Lo mismo con los canales públicos de Slack, especialmente una conversación sobre la recopilación de requisitos o, ya sabes, implementar una mejor práctica. Me encantaría verlo en confluence y en un canal público de Slack, ambos porque la gente buscará esas cosas. Y si alguien tiene un problema, me encantaría que lo publicara en un canal público de Slack para poder darle la respuesta en público y no en un mensaje directo porque entonces, cuando la próxima persona tenga ese problema, ya sabes, me gustaría poder enlazarlos a ello.

Y luego el último son los comentarios en pull requests. Y realmente los comentarios en pull requests son buenos para cosas que están documentadas en otros lugares. Correcto. Si vas a aplicar algo en un comentario de PR, con suerte tienes un confluence o una publicación en el blog o una referencia externa en algún lugar a la que puedas enlazarlos, porque eso va a surgir una y otra vez. Y nadie revisa los viejos comentarios de pull requests y los busca.

Cuanto más público seas, mejor te ayudará en tu empresa cuando estés haciendo tus OKRs para el año y tratando de justificar tu promoción. Puedes apostar que a la gerencia le encanta ver publicaciones en el blog y repositorios open source porque, ya sabes, son concretos y no solo para los nerds en ingeniería para verlos.

10. Showcasing Work and Public Visibility

Short description:

El código open source muestra tus habilidades y mejora tu carrera. Dividir el código en su propio repositorio y hacerlo open source puede ser un logro valioso. La visibilidad pública es esencial para obtener reconocimiento y convertirse en una persona de referencia. Asegúrate de que tu trabajo sea descubrible y accesible para otros. ¡Gracias por asistir a la charla!

Correcto. Puedes realmente mostrárselos y decir, este es el trabajo útil que he hecho. El código open source es tan genial porque puedes ir a tu próximo trabajo y decirles, mira, escribo buen código, pero si realmente puedes mostrarles tus commits en público, entonces eso es aún mejor.

Y así que lo que hice en el trabajo fue que logré dividir un montón de nuestro código en su propio repositorio y hacerlo open source. Quiero que otras personas en la empresa lo usen. Algunos de ellos lo están haciendo, pero incluso si no lo hicieran, ¿verdad?, aún tendría eso como un logro en mi haber por haber trabajado aquí, lo cual es una forma un poco cínica de decirlo. Es una forma cínica de verlo. Pero, ya sabes, estamos hablando de cómo gestionar tu carrera.

Así que un cierto grado de cinismo está justificado, lo que nos lleva al final de la charla. Ya sabes, solo para resumir, puedes ver muchas definiciones diferentes de lo que significa ser un ingeniero de planta, pero es tan importante asegurarse de que la gente sepa tu nombre y sepa quién eres. Y la forma de hacerlo es hacer lo que sea que estés haciendo en público. Así que esa es mi recomendación número uno. Sabes, no tienes reportes directos. Necesitas que la gente piense que esta persona, Ian Schwartz, es el tipo al que, si tengo una pregunta sobre React o testing, ¿verdad?, voy a acudir a Ian Schwartz. Y eso es cierto para muchas personas en mi empresa. Pero, ya sabes, aumentar el número de personas que piensan de esa manera es realmente importante y solo se puede lograr asegurándose de que lo que sea que hagas sea descubrible y abierto para que el mundo lo vea. No tengo mucho más que decir al respecto aparte de eso. Muchas gracias por venir a mi charla y prestar atención hasta ahora.

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

Impacto: Creciendo como Ingeniero
React Summit 2022React Summit 2022
26 min
Impacto: Creciendo como Ingeniero
Top ContentPremium
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.
Sobre convertirse en un Tech Lead
TechLead Conference 2023TechLead Conference 2023
24 min
Sobre convertirse en un Tech Lead
Top ContentPremium
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.
Comunicación Efectiva para Ingenieros
TechLead Conference 2023TechLead Conference 2023
36 min
Comunicación Efectiva para Ingenieros
Top ContentPremium
Today's Talk covers the four building blocks of communication: people, message, context, and effective listening. It emphasizes the importance of considering the perspective of others and tailoring messages to the recipient. The Talk discusses different types and channels of communication, and the need to align them with the intended message. It also highlights the significance of soft skills in communication and provides techniques for effective communication and assessing soft skills in tech interviews. Cross-cultural communication and the impact of bluntness are explored as well.
Una Carrera Como Ingeniero de Software
React Advanced 2022React Advanced 2022
24 min
Una Carrera Como Ingeniero de Software
Code will be imperfect and perishable, so testing and debugging are crucial. Building relationships and being generous with code reviews are important for teams. Code ownership should belong to the team, not individuals. Prioritizing functionality over consistency can lead to more efficient development. Growing into a tech lead role requires building relationships and coaching skills.

Workshops on related topic

De Ingeniero a Líder: Un Masterclass para Líderes Tecnológicos Primerizos
TechLead Conference 2024TechLead Conference 2024
144 min
De Ingeniero a Líder: Un Masterclass para Líderes Tecnológicos Primerizos
Workshop
Andrew Murphy
Andrew Murphy
Transicionar de un rol de contribuidor individual a una posición de liderazgo, especialmente en la industria tecnológica de ritmo acelerado, es enormemente desafiante. La mayoría de los nuevos líderes no reciben ningún tipo de capacitación en los primeros 10 años de sus nuevas responsabilidades.Nuestro completo masterclass está diseñado para ayudar a los nuevos y emergentes líderes tecnológicos a comprender sus nuevos roles y adquirir las habilidades para convertirse en líderes seguros, felices y efectivos.
Managers Are From Mars, Devs Are From Venus
TechLead Conference 2024TechLead Conference 2024
111 min
Managers Are From Mars, Devs Are From Venus
Workshop
Mo Khazali
Mo Khazali
Una Guía para Desarrolladores sobre Cómo Comunicar, Convencer y Colaborar Efectivamente con los Stakeholders
Es una historia tan antigua como el tiempo: la colaboración entre desarrolladores y stakeholders de negocios ha sido durante mucho tiempo un desafío, con una falta de comunicación clara que a menudo deja a ambas partes frustradas. Los mejores desarrolladores pueden comprender profundamente las necesidades de sus contrapartes de negocios, comunicar efectivamente la estrategia técnica sin perder a la audiencia no técnica y convencer al negocio de tomar las decisiones correctas. Trabajando en una consultoría, he fallado y tenido éxito en arquitectar y “vender” visiones técnicas, aprendiendo muchas lecciones en el camino.Ya sea que trabajes en una empresa de productos, seas consultor/freelancer, o quieras aventurarte más allá de ser solo un desarrollador, la capacidad de convencer y comunicar claramente con los stakeholders puede diferenciarte en la industria tecnológica. Esto se vuelve aún más importante con el auge de GenAI y el mercado de desarrolladores cada vez más competitivo, ya que la resolución de problemas y la comunicación efectiva son clave para posicionarte.En esta masterclass, compartiré ejemplos del mundo real, tanto buenos como malos, y te guiaré a través de poner la teoría en práctica mediante dojos.
Diseñando una Carrera de Freelance Sostenible
React Advanced 2021React Advanced 2021
145 min
Diseñando una Carrera de Freelance Sostenible
Workshop
Alexander Weekes
Rodrigo Donini
2 authors
¿Te gustaría perseguir tus pasiones y tener más control sobre tu carrera? ¿Te gustaría tener flexibilidad de horario y ubicación y variedad de proyectos? ¿Te gustaría tener la estabilidad de trabajar a tiempo completo y recibir un pago constante? Miles de empresas han adoptado el trabajo remoto y se dan cuenta de que tienen acceso a un grupo de talentos global. Esto es ventajoso para cualquier persona que haya considerado o esté considerando trabajar como freelance.>> Envía tu interés en convertirte en un ingeniero freelance con Toptal y recibir una llamada de un especialista en adquisición de talento <<

El trabajo freelance ya no es una elección de carrera inestable.

Este masterclass te ayudará a diseñar una carrera de freelance a tiempo completo (o parcial) sostenible y rentable. Te daremos herramientas, consejos, mejores prácticas y te ayudaremos a evitar errores comunes.
Tabla de contenidos

Módulo 1: Desmitificando los mitos comunes sobre el trabajo freelance
Módulo 2: ¿Cómo se ve el trabajo freelance en 2021 y más allá?
Módulo 3: Elecciones freelance y qué buscar (y qué evitar)
Módulo 4: Beneficios del trabajo freelance desde la perspectiva de un freelancer + estudio de caso
DESCANSO
Módulo 6: Cómo comenzar a trabajar como freelance (experiencia, currículum, preparación)
Módulo 7: Caminos comunes hacia el trabajo freelance a tiempo completo
Módulo 8: Aspectos esenciales: establecer tu tarifa y conseguir trabajo
Módulo 9: Próximos pasos: establecer contactos con colegas, mejorar tus habilidades, cambiar el mundo
Módulo 10: Preguntas y respuestas con freelancers
Cómo Diseñar una Carrera de Freelance/Contratación Sostenible + Desafío de Codificación Rápida
React Summit 2022React Summit 2022
75 min
Cómo Diseñar una Carrera de Freelance/Contratación Sostenible + Desafío de Codificación Rápida
Workshop
Shane Ketterman
Shane Ketterman
¿Listo para comenzar tu carrera como freelance o recién estás comenzando en tu viaje freelance? Estás en el lugar correcto. Aprende de la fuerza laboral totalmente distribuida más grande del mundo.
El movimiento de talento independiente es el futuro del trabajo. Si estás considerando dejar el empleo a tiempo completo para una carrera como freelancer, ahora es el momento de encontrar tu espacio exitoso en la fuerza laboral de talento independiente. Más personas están trabajando como freelance hoy que nunca antes, y el mercado freelance ahora contribuye con $1.2 billones a la economía de los Estados Unidos. Algunos de los roles más demandados para freelancers en este momento son desarrolladores senior con experiencia profesional en React, Python, Blockchain, QA y Node.js.
Este masterclass te ayudará a diseñar una carrera de freelance/contratación sostenible y rentable a tiempo completo (o parcial). Te proporcionaremos herramientas, consejos, mejores prácticas y te ayudaremos a evitar errores comunes.
Al final del masterclass habrá una sesión de preguntas y respuestas con un Desarrollador Freelance que puede responder tus preguntas y brindar información y consejos sobre su propio éxito.
¡Durante el descanso del masterclass, realizaremos un desafío de codificación rápida! Al final del masterclass, otorgaremos un premio al ganador y mostraremos la tabla de clasificación.
Te haremos iniciar sesión en nuestro portal y completar el desafío lo más rápido posible para ganar puntos. Los puntos se asignan en función de la dificultad y la velocidad con la que resuelvas las tareas. En caso de que completes todas las tareas, obtendrás puntos extra por el tiempo restante. Verás tu puntaje, clasificación y la tabla de clasificación una vez que completes el desafío.
Estaremos regalando tres Tarjetas de Regalo de Amazon ($200, $100, $75) para los tres primeros ganadores.
Fuera de la sartén, al fuego: Guía para gerentes sobre cómo ayudar a los nuevos desarrolladores a prosperar
TechLead Conference 2024TechLead Conference 2024
35 min
Fuera de la sartén, al fuego: Guía para gerentes sobre cómo ayudar a los nuevos desarrolladores a prosperar
Workshop
Andrew Coleburn
Andrew Coleburn
Integrarse a un nuevo proyecto puede ser difícil, sin importar tu experiencia y antecedentes. Pero puede ser especialmente desafiante para los nuevos desarrolladores recién salidos de la escuela o de un bootcamp de programación. Basándose en su experiencia personal como graduado de un bootcamp y consultor de JavaScript, esta charla discutirá consejos y estrategias para que los gerentes ayuden a los nuevos desarrolladores de sus equipos a familiarizarse con un código desconocido, para que puedan tener un impacto más rápido y efectivo.
Aterrizando tu Próximo Trabajo de Desarrollador
React Summit Remote Edition 2021React Summit Remote Edition 2021
121 min
Aterrizando tu Próximo Trabajo de Desarrollador
Workshop
Sadek Drobi
Nouha Chhih
Francois Bohyn
3 authors
Renaud Bressant (Jefe de Producto), Nathanael Lamellière (Jefe de Éxito del Cliente e Ingeniero de Soluciones), Nouha Chhih (Gerente de Experiencia del Desarrollador) estarán analizando los diferentes trabajos de desarrollador que puedes encontrar al buscar tu próximo rol de desarrollador. Explicaremos los detalles de cada rol para ayudarte a identificar cuál podría ser tu próximo movimiento. También compartiremos consejos para ayudarte a navegar por el proceso de contratación, basados en los diferentes roles para los que hemos entrevistado como reclutadores, pero también como candidatos. Esta será más bien una sesión de Pregúntanos lo que quieras, así que no dudes en compartir tus pensamientos y preguntas durante la sesión.