Effective Pair Programming Interviews

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

Todos hemos experimentado la solicitud de empleo que nos obliga a realizar una prueba de codificación en línea. Tienes que repasar tus algoritmos, estructuras de datos, complejidad temporal y al final estás estudiando como si fuera un examen universitario. Ahora que somos nosotros los que generalmente entrevistamos a los candidatos, una buena pregunta para hacer es: "¿las pruebas de codificación en línea son el mejor indicador de la competencia y habilidad de un candidato?" En esta charla, exploraremos:

  • - Los problemas de las pruebas similares a Leetcode

  • - Lo que deberíamos buscar en los candidatos

  • - Cómo la programación en pareja es la mejor manera de ver cómo un candidato trabajaría con el equipo

  • - Además, una pequeña demostración de una entrevista de programación en pareja remota




This talk has been presented at TechLead Conference 2023, check out the latest edition of this Tech Conference.

FAQ

Las pruebas de codificación en línea se critican por enfocarse principalmente en algoritmos y estructuras de datos bajo presión de tiempo, lo cual no refleja las habilidades necesarias en el día a día de los roles de desarrollo de software.

La programación en pareja durante las entrevistas permite evaluar las habilidades prácticas de los candidatos en un escenario más realista y colaborativo, ayudando a determinar cómo se integrarían en el equipo.

Un proceso de entrevista bien estructurado ayuda a mejorar la calidad del equipo, protege la reputación de la empresa y reduce los costos asociados con la contratación y eventual recontratación.

Se busca que los candidatos sean capaces de escribir un código que sea mantenible, comprensible y eficiente, refutando la idea del desarrollador '10X' que es altamente productivo pero poco realista.

Las pruebas en línea tienden a medir conocimientos sobre algoritmos y estructuras de datos, lo cual no siempre se alinea con las habilidades requeridas en el día a día de un desarrollador.

La programación en pareja es un método de entrevista donde el entrevistador y el candidato trabajan juntos en un problema de codificación usando un entorno realista, lo que proporciona una evaluación más precisa de las habilidades prácticas del candidato.

Muhammad recomienda conocer al candidato antes de empezar la entrevista técnica, revisar la solución conjuntamente al final y pedir feedback para mejorar el proceso de entrevistas.

Mo Khazali
Mo Khazali
32 min
09 Mar, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
La charla analiza los problemas con las pruebas de codificación en línea y los beneficios de las entrevistas de programación en pareja. Se enfatiza la importancia de la contratación y el crecimiento, incluyendo la creación de una experiencia de entrevista positiva y considerando el costo de la contratación. El trabajo de un desarrollador de software va más allá de la codificación y requiere múltiples conjuntos de habilidades. La programación en pareja proporciona una evaluación más precisa de las habilidades requeridas para el desarrollo de software. La charla también cubre la implementación de un sistema de puntuación de tenis y la personalización de las entrevistas de programación en pareja para diferentes roles y niveles.

1. Introduction to Hiring and Growth

Short description:

Hola a todos. Hoy discutiremos los problemas con las pruebas de codificación en línea, los beneficios de las entrevistas de programación en pareja y la importancia de la contratación y el crecimiento. También exploraremos las características ideales del candidato y la falta de coincidencia entre las plataformas de codificación en línea y las habilidades requeridas. Compartiré mi experiencia personal con las entrevistas de programación en pareja y su impacto en mi carrera. Comencemos.

♪♪ Hola a todos. Estoy muy emocionado de dar esta charla en Tech Lead Conf. Gracias por tomarse el tiempo para unirse a nosotros. Así que, hoy, vamos a echar un vistazo juntos a lo que está mal con las pruebas de codificación en línea, por qué leetcode está muerto, y cómo incluir una entrevista de programación en pareja puede revolucionar todo su proceso de entrevista.

Entonces, quiero comenzar dando una visión general de lo que vamos a hablar hoy. En primer lugar, muy rápidamente, ¿por qué importa el crecimiento? ¿Y por qué deberías enfocarte en las entrevistas? Dos, ¿qué estás buscando en el candidato ideal? ¿Cuáles son las características clave, rasgos, habilidades que deberías apuntar? Sabiendo eso, en tercer lugar, ¿cuáles son las habilidades que las plataformas de codificación en línea como leetcode, como HackerRank están realmente testing? ¿Coinciden bien con las habilidades que necesitas buscar en un candidato? Y por último, profundizaremos en todo el enfoque de la programación en pareja.

Entonces, un poco sobre mí y dónde trabajo. Mi nombre es Muhammad. Soy el jefe de móviles en una empresa llamada Theodo, con sede en el Reino Unido. Theodo es en realidad una consultoría global con más de 600 personas distribuidas en el Reino Unido, Francia, Estados Unidos y Marruecos. Ayudamos a los clientes a construir soluciones digitales para algunos desafíos estratégicos difíciles. Cosas como autoservicio y recorridos minoristas, plataformas de e-commerce para ropa de segunda mano, o construir bancos desafiantes desde cero. Entonces, si estás interesado en aprender un poco más sobre Theodo o simplemente quieres charlar, no dudes en enviarme un mensaje en Twitter. Siempre estoy dispuesto a tomar un café en persona o tener una charla virtual.

A nivel personal, la razón por la que realmente quería dar esta charla fue debido a mi propio viaje al unirme a Theodo. Mi decisión de unirme a la empresa fue en gran medida influenciada por mi propia entrevista de programación en pareja. Fue una experiencia realmente agradable que me empujó a decir que sí y unirme a Theodo y al equipo que tenemos. Entonces, el impacto de esto se siente mucho en mi propia career. Y ahora soy una de las personas que realiza las entrevistas de programación en pareja. Así que, hemos llegado a un punto completo. Y es algo que realmente disfruto. Así que estoy muy emocionado de compartirlo con todos ustedes hoy. Vamos a empezar.

¿Cuál es la importancia de la contratación y el crecimiento? No voy a dedicar mucho tiempo a esto, pero realmente, si lo analizas, puedes dividirlo en tres categorías. Uno es la calidad del equipo. Esto puede parecer muy, muy simple. Pero una alta calidad de contratación conducirá a equipos de mayor calidad. Entonces, sin tener un proceso de entrevista bien pensado y de buena calidad, corres el riesgo de tener falsos positivos. Así que, tal vez contratar a los candidatos equivocados, alguien que no encaja en el equipo o que no tiene las habilidades que estabas requiriendo.

2. Importance of Hiring and Growth

Short description:

Tener un sistema de contratación efectivo es crucial para contratar a los candidatos adecuados y evitar falsos negativos. El proceso de contratación puede afectar la reputación de una empresa, por lo que es importante crear una experiencia agradable y positiva para los solicitantes. Además, se debe tener en cuenta el costo de contratación, incluido el pago para los candidatos y el tiempo invertido por los entrevistadores. Al buscar candidatos, es importante centrarse en su capacidad para escribir código mantenible y comprensible, ya que el código se lee con más frecuencia de lo que se escribe.

O tendrás falsos negativos. Y eso no significa contratar a los candidatos adecuados. A veces, tener un sistema que no es efectivo te hará perder algunos candidatos realmente buenos que podrían haber sido un activo muy valioso para tu equipo y tu empresa.

En segundo lugar, la reputación de la empresa. Recuerdo cuando era recién graduado y buscaba trabajo, una de las cosas que se mencionaba regularmente entre mis compañeros era que ciertas empresas eran difíciles de solicitar. ¿Por qué perder el tiempo? Tenían cierta reputación de ser un poco difíciles y de no ser procesos agradables para pasar. Y por eso era conocido entre la comunidad estudiantil, probablemente no quieras perder tu tiempo solicitando en ellas o es realmente difícil. El proceso de contratación puede tener impactos realmente positivos y realmente negativos en la reputación de la empresa. Y a lo largo de todo ese proceso de entrevista y contratación, puedes aprovecharlo como una oportunidad para conocer a más ingenieros, aprender sobre las experiencias de las personas, compartir tus propias experiencias. Y es una oportunidad realmente buena para conocer a más personas en toda esa entrevista y etapa de contratación. Así que es bueno para la reputación y también una buena oportunidad para que conozcas a más personas.

Y por último, el costo. Entonces, si estás empezando a considerar ser un EM o un líder técnico, una de las cosas importantes con las que tendrás que lidiar es el costo. Eso incluye desde el costo del pago para el candidato. A corto plazo, está el costo de un equipo sordo que va a entrevistar al candidato. El costo de su tiempo que están invirtiendo para pasar por estas entrevistas con tu candidato, ver si son adecuados o no. Y luego, en el peor de los casos, si el candidato no era adecuado y necesitabas volver a contratar en algún momento, el costo de tener que volver a contratar obviamente también puede ser bastante alto. Así que con todo eso en mente, podemos tener una visión general de por qué es importante la contratación y el crecimiento y por qué debemos centrarnos en esto. ¿Qué debemos buscar en un candidato? Tengo algunos rayos de sol y la figura solitaria para darle este tipo de ambiente grandioso y sagrado. Así que este es un candidato perfecto. Estoy seguro de que en algún momento todos hemos oído hablar de este concepto del desarrollador 10X. Es el desarrollador que puede entregar a 10 veces la velocidad con una décima parte de las líneas de código. Me alegra decir que después de una extensa investigación, he llegado a la conclusión de que el desarrollador 10X es una mentira. Es una fachada total. No existe. Y a lo largo de mi investigación sobre el desarrollador 10X, en realidad encontré esta cita realmente genial que me gustó, que decía que el código se lee cuatro veces más de lo que se escribe. Entonces, si escribes código fácil de razonar, eso se paga dramáticamente en el futuro. Creo que realmente engloba algunos factores clave sobre lo que es importante cuando buscas contratar a un candidato. Quieres a alguien que pueda escribir buen código, código que será mantenible y comprensible por otros, por miembros más senior del equipo, miembros más junior del equipo, y código que en última instancia sea comprensible y razonable por otros en ese equipo. Y eso es lo que hará que esa inversión de 10X valga la pena a largo plazo, porque ese código será revisado y examinado tantas veces en el futuro y en el ciclo de vida de una base de código.

3. Job of a Software Developer

Short description:

El trabajo de un desarrollador de software es multifacético y va más allá de simplemente codificar. Necesitan identificar y descomponer problemas, diseñar soluciones eficientes, trabajar en equipos interfuncionales y ser pragmáticos en su enfoque. Para puestos de nivel superior, son importantes las habilidades de coaching, de gestión y la capacidad de mantener la calidad del código en proyectos. Contratar a un candidato requiere considerar múltiples conjuntos de habilidades.

Tomando este concepto del desarrollador 10X, de manera más realista, ¿cuál es el trabajo de un desarrollador de software? Y creo que es muy multifacético. Va más allá de simplemente codificar. Entonces, un buen desarrollador de software debe ser capaz de identificar problemas y descomponer problemas a partir de requisitos y necesidades comerciales. Deben ser capaces de design una solución que resuelva el problema mientras trabajan en un equipo interfuncional y realmente escriben esa solución eficiente en un buen lapso de tiempo. También necesitan ser un poco pragmáticos con el enfoque que toman. Y si estás contratando para un nivel más alto, como un líder técnico o un EM, también hay un aspecto de coaching y gestión. ¿Qué tan bien enseña el candidato a los desarrolladores más junior en el equipo, los capacita, los entrena? ¿Puede el candidato gestionar de manera efectiva el flujo de proyectos con el PM? ¿Puede mantener la calidad del código en una multitud de proyectos? Estos son todos factores que tendrás que equilibrar. Entonces, cuando lo ves en una escala más amplia, una imagen más grande, hay una serie de conjuntos de habilidades que debes considerar cuando estás contratando a un candidato.

4. Online Coding Tests and Pair Programming

Short description:

Las pruebas de codificación en línea evalúan principalmente el conocimiento de los candidatos sobre algoritmos y estructuras de datos. Siguen patrones similares y requieren familiaridad con conceptos clásicos de ciencias de la computación. Estas pruebas también evalúan la capacidad de implementar soluciones rápidamente bajo presión. Sin embargo, es posible que no evalúen de manera efectiva las habilidades requeridas para el desarrollo de software en el día a día. Por otro lado, la programación en pareja implica problemas realistas y entornos de codificación, lo que proporciona una evaluación más precisa.

Entonces, pensando en eso, veamos las pruebas de codificación en línea. ¿Qué conjuntos de habilidades evalúan las pruebas de codificación en línea? Voy a ser un poco audaz aquí y decir que, principalmente, las pruebas de codificación en línea solo miden de manera efectiva el conocimiento de un candidato sobre algoritmos y estructuras de datos. Estoy seguro de que has pasado por tu parte justa de pruebas de codificación en línea. Mayormente siguen los mismos patterns. Tal vez tengas que invertir una lista enlazada, o tienes que recorrer un árbol de búsqueda binaria y encontrar un nodo específico. La mayoría de estos problemas son muy similares, de hecho, en su naturaleza. Y realmente necesitas familiarizarte con los algoritmos clásicos de COMSCI y el curso de estructuras de datos.

Es muy académico en su naturaleza, y los habrás encontrado si tienes una formación clásica en ciencias de la computación, o los verás en algún momento. Pero implica muchos de los mismos patterns que se repiten una y otra vez. Y además de eso, las pruebas de codificación en línea evalúan tu capacidad para hacerlos bajo una inmensa presión en un corto período de tiempo. Entonces, ¿qué tan rápido puedes implementar realmente esos algoritmos y estructuras de datos para resolver el problema que te dan? Así que realmente, si has estudiado, memorizado los algoritmos, las estructuras de datos, y entiendes el patrón detrás de las preguntas, comienzas a verlos, y lo harás después de un poco de práctica, los resolverás prácticamente sin problemas. Si no me crees, literalmente hay un libro para eso. Así que esto es un elemento básico en la lista de compras de cada graduado. `Cracking The Coding Interview` tiene 189 preguntas de programación y respuestas típicas en estas pruebas de codificación. Es un libro con varios cientos de páginas, y lo recorres una por una, haces los ejercicios. Se siente mucho como si estuvieras estudiando para el SAT o algún tipo de prueba estandarizada, y rápidamente comenzarás a percibir estos patterns. Muy, muy formulista, no muy efectivo para evaluar las cosas de las que hablamos cuando estábamos buscando al candidato perfecto. Y la pregunta en la que debemos pensar es, ¿cuánto de esto es realmente aplicable a un rol de desarrollo de software en el día a día? ¿Con qué frecuencia estás pensando en cómo invertir una lista enlazada? ¿O con qué frecuencia realmente te enfrentas a estos problemas en los que necesitas encontrar la solución más eficiente posible, la solución más eficiente que sea posible? No es algo común en el día a día. Ciertamente no es algo que requiera la mayoría de la atención cuando buscamos contratar a un candidato. Así que hay un desequilibrio. Es una pequeña parte del rol, pero tiene un gran peso en la decisión de qué candidatos pasan y cuáles fallan. Así que hay un desequilibrio entre la contratación y el rol real.

Pasemos a la programación en pareja. Para explicar la programación en pareja, quiero comenzar con lo que no es la programación en pareja. Y la programación en pareja no es esto. No es un candidato que se acerca a un pizarrón, comienza a garabatear algunas notas, y tú, como entrevistador, estás sentado allí mirándolo intensamente. Eso no es programación en pareja. Para un buen ejercicio de programación en pareja, necesitas un problema realista y también necesitas un entorno de codificación realista. Así que comencemos con un problema realista y luego veremos un ejemplo más adelante. No nos vamos a enfocar demasiado en esto ahora mismo, pero quieres tratar de encontrar un problema similar al del mundo real.

5. Realistic Coding Environment and Demo

Short description:

Encapsula la lógica y el conocimiento en un problema relacionable para evaluar a los candidatos. Utiliza un entorno de codificación realista, como CodeSandbox o la extensión LiveShare de VS Code, para simular la programación diaria. En una entrevista de programación en pareja, enfócate en la colaboración y la resolución de problemas. Proporciona a los candidatos una demostración de cómo trabajar en equipo. Utiliza problemas del mundo real de repositorios de GitHub para evaluar en las entrevistas.

Y dentro de ese problema, puedes tratar de encapsular y abarcar cierta lógica, cierto conocimiento que te gustaría evaluar en el candidato. Es realmente importante que el problema sea comprensible y relacionable. Algo que realmente podrían codificar en un trabajo real de día a día. Eso incluye cierta lógica compleja también.

Ahora, cuando hablamos de un entorno de codificación realista, eso significa sin pizarras, sin papel y lápiz, utiliza un editor de código real. Hay tantos entornos de codificación reales geniales que te permitirán trabajar colaborativamente en el código al mismo tiempo. Y esto será lo más parecido al rol diario. Esto es lo que estarán utilizando todos los días cuando comiencen en el trabajo. Algunos ejemplos de esto son CodeSandbox, que es muy popular. También puedes usar la extensión LiveShare de VS Code, y trabajar colaborativamente en un solo archivo o en múltiples archivos al mismo tiempo, y tienes un entorno que compartes, es una gran herramienta para usar. Y realmente te aseguras de darle al candidato lo más parecido a un entorno de codificación real que utilizarían en su trabajo diario.

Y cuando hablamos de un entorno de codificación realista, no solo nos referimos a las herramientas, sino también al estilo de interacción que tienen. Entonces, una pregunta que debes hacer es, en el rol diario, ¿qué sucede cuando un desarrollador se encuentra con un problema difícil? Y quiero que esto se quede en tu mente por un momento. Cuando un desarrollador llega a un punto en su aplicación y está pensando en ello, razonando sobre ello, y se encuentra con un problema un poco difícil, lo que suele hacer es consultar con el equipo, dar un paso atrás, hablar con los demás, obtener su opinión y tratar de llegar a una solución óptima juntos. Ahí es donde entra en juego esa pizarra. Con eso en mente, es muy, muy importante que realmente estés trabajando juntos como parte de esta entrevista de programación en pareja. Deberías estar programando y hablando tanto como ellos. Realmente quieres que sea una sesión de programación en pareja, y esto te permitirá tener una idea de cómo es incorporarlos a tu equipo, ¿cómo es trabajar con ellos? Si se unieran a tu equipo mañana, lo cual es algo genial de saber, como entrevistador, pero también tiene el otro lado, que les da la sensación de cómo es trabajar dentro de tus equipos. Así que eso, para un candidato, es invaluable. Realmente obtienen una prueba o una demostración de cómo sería unirse a tu empresa y a tu equipo.

Así que sin más preámbulos, vamos a pasar a una demostración, y con suerte todo esto comenzará a encajar. El ejemplo que tenemos aquí es un ejemplo bastante sencillo. Es una kata de puntuación de tenis. Y puedes encontrar una recopilación de estos problemas similares al mundo real en diferentes repositorios de GitHub. Este proviene de un catálogo de katas que alguien ha pasado mucho tiempo compilando, así que felicitaciones para ellos. Y tiene varios problemas diferentes con diferentes lenguajes como plantillas para que puedas comenzar a evaluar a las personas. Vamos a repasar el contexto de este juego, y luego haremos una breve demostración en vivo. No será la extensión completa de una entrevista. Y obviamente hay diferentes problemas con diferentes longitudes, diferentes dificultades. Así que realmente puedes elegir lo que creas que es más aplicable a tu proceso de entrevista específico.

6. Implementando el Sistema de Puntuación de Tenis

Short description:

Implementaremos el sistema de puntuación para el tenis, centrándonos en la lógica básica sin interfaz de usuario ni validación de datos. Durante la entrevista, observa el enfoque de resolución de problemas del candidato, su interacción contigo, su receptividad a los comentarios y su preferencia por soluciones simples. Tenemos un entorno de Live Share configurado y seguiremos el estilo de programación TDD. Pasemos a la siguiente prueba para manejar una victoria.

Pero en este caso, solo para esta demostración, hemos elegido algo un poco simple para poder revisarlo un poco. Y con suerte, será fácil de seguir. Así que vamos a implementar el sistema de puntuación para el tenis. En un juego de tenis, ambos jugadores comienzan con una puntuación de cero. Y en cada ronda exitosa que juegan, los puntos se suman en una secuencia de cero, 15, 30 y luego 40. Y una vez que estás en la etapa de 40, ganarás el juego si anotas nuevamente, a menos que ambos jugadores tengan una puntuación de 40, lo que se llama empate. Eso significa que estás en algún tipo de punto muerto. Y la forma de ganar cuando estás en un empate es anotar dos veces consecutivas. Entonces, si lograste romper el empate y anotar dos veces seguidas, terminarás ganando el juego. Así que reglas básicas del tenis.

Lo que estamos tratando de hacer es incorporar esto y construir la lógica en torno a esto sin centrarnos en la interfaz de usuario, sin centrarnos en la data validation, solo la lógica básica de esto. Y vamos a intentar hacerlo en un corto período de tiempo para esta demostración. Así que intentemos hacerlo. Antes de hacerlo, quiero que te enfoques en cosas como cuánto interactúo con el candidato en la entrevista. Cuando se quedan atascados, ¿me piden ayuda? Si no entienden algún tipo de sintaxis, ¿se sienten lo suficientemente cómodos como para preguntarme como entrevistador, cómo se establece una variable en este lenguaje? ¿Dan un paso atrás antes de intentar un enfoque y consideran todas las diferentes opciones, razonan al respecto, piensan en los pros y los contras? ¿O simplemente siguen el primer camino que ven? ¿Qué tan receptivos son a los comentarios, si les doy pistas? ¿Las toman y las investigan? ¿O simplemente las ignoran y continúan con lo que estaban haciendo? Y por último, ¿están creando soluciones demasiado complicadas o van por soluciones simples, tratando de ser pragmáticos? Estas son todas cosas que debes tener en cuenta. Y son cosas que te darán una buena indicación de cómo es esta persona en términos de sus habilidades de desarrollo de software y, en general, cómo es trabajar con ellos.

Así que tenemos a mi buen amigo, Sadik, aquí con nosotros, que amablemente ha aceptado hacer esta demostración. Gracias Sadik por tu tiempo con nosotros. No hay problema, un placer. Genial, tenemos un entorno de Live Share de VS Code configurado. Hay una clase de tenis, hay algunas pruebas, y vamos a seguir el estilo de programación TDD, vamos a crear más pruebas, hacer que pasen, y luego haremos una ronda de refactorización. Pasaremos por una ronda para esta demostración. Obviamente, harías una prueba completa si estuvieras entrevistando a alguien. Entonces, Sadik, ¿deberíamos pasar a la siguiente prueba? Tenemos pruebas para manejar un nuevo juego, un juego de un solo punto y un juego nivelado. ¿Qué crees que deberíamos testing a continuación? Supongo que esto maneja una puntuación bastante básica. Podríamos manejar una victoria a continuación. Genial. Hagamos un caso de prueba para eso. Genial. Adelante.

7. Representando una Victoria en Código

Short description:

Para representar una victoria en código, podemos usar un valor por encima de la puntuación más alta o tener algún tipo de estado en la clase. El uso de una bandera requeriría comprobaciones en varios lugares y declaraciones condicionales para evitar el incremento de la puntuación. Aunque el uso de un valor falso se desvía de la lógica real, proporciona una solución más rápida para esta prueba.

Y para ganar, anotarán cuatro veces, solo para llegar hasta el final pasando un 40. Pasado el 40. De acuerdo, genial. ¿Y qué esperamos que sean los resultados reales de la cadena de puntuación obtenida? Sí. Cambiemos eso a... Así que este es el segundo jugador al que le he dado una victoria. Así que hay dos victorias. Hagámoslo. Y supongo que sí, la forma más rápida sería devolverlo aquí de alguna manera. De acuerdo. Entonces, una victoria... Bueno, necesitamos representarla realmente en código. Así que hay un par de formas en las que podríamos hacerlo aquí. Una sería en la puntuación, como después del 40, sé que esa es la puntuación más alta que se puede obtener. Podríamos tener un valor por encima de eso solo para representar, ya que estamos recorriendo cada índice aquí, podríamos tener un último elemento que represente una victoria o podemos tener algún tipo de estado en la clase. Eso está bien.

Así que retrocediendo un poco aquí para la audiencia, es realmente bueno... Sadiq está retrocediendo, mirando las diferentes opciones que puede tomar con esto. Es una muy buena señal, está hablando en voz alta. Puedo entender completamente lo que está pensando. Así que voy a tratar de contribuir un poco a esta entrevista ahora. Entonces, sí, eso me parece bien. Supongo que pensemos en los pros y los contras de cada enfoque. Si usáramos una bandera, tendríamos que hacer comprobaciones en varios lugares dentro de la funcionalidad de puntuación. Y luego tener algunas declaraciones condicionales para no incrementar la puntuación como lo estamos haciendo ahora. Eso podría tener cierta complejidad. El otro lado es representar un valor falso en la puntuación, como dijiste. Pero entonces no te estás apegando a la lógica real. No son puntuaciones de tenis. Así que supongo que con esas compensaciones en mente, ¿qué crees que deberíamos hacer? Bueno, para obtener la solución más rápida, solo el paso más rápido para esta prueba, probablemente sea más fácil ir por un valor. Y luego, si queremos volver, obviamente podríamos refactorizarlo. Sí, podríamos volver. Así que avísame qué debo escribir, y yo usaré el teclado.

8. Refactorizando la Función de Puntuación

Short description:

Elijamos un valor por encima de 40, como 60. Si ambos jugadores tienen una puntuación de 60, devolvemos Player1Wins. De lo contrario, comprobamos si el segundo jugador ha ganado y devolvemos Player2Wins. Hemos llegado a la etapa de refactorización. Dentro de la función de puntuación, refactoricemos el código que calcula el índice de la próxima puntuación. Llamémoslo 'getNextScoreIndex' y pasemos la puntuación. Mientras Sadiq trabaja en eso, es una buena señal que se sienta cómodo pidiendo sugerencias.

Entonces elijamos un valor, cualquier cosa por encima de 40. Hagamos 60 para... Oh, Dios. No me gusta eso. De acuerdo, genial. Tenemos un auto eficiente en tenis aquí, así que, de acuerdo. Hemos agregado un valor de 60 a esta matriz. Bien. Y luego, GetScoreString, supongo que deberíamos verificar la puntuación. De acuerdo. Si es igual a 60 para cada jugador, entonces si this dot, sí, puntuación del primer jugador, puntuación del segundo jugador. Si es 60, queremos devolver una cadena que diga algo como Player1Wins, ¿verdad?, siguiendo el patrón que has establecido allí. De lo contrario, comprobamos, veamos, de acuerdo, ¿ha ganado el segundo jugador? Y luego, en ese caso, también devolveríamos Player2Wins. Todos los errores tipográficos. De acuerdo, genial. Así que hemos tomado una nueva prueba y originalmente estaba fallando. Lo hicimos pasar. Ahora hemos llegado a la etapa de refactorización. Entonces, Sadiq, ¿hay algo en la clase de tenis o en la prueba que hayamos escrito que te gustaría refactorizar o limpiar? Sí, supongo que la primera parte del código que veo que se repite está dentro de la función de puntuación, donde estamos calculando el índice de la próxima puntuación. Estas son líneas largas. Tal vez podríamos llevarlo arriba, ponerlo en una función. Hagámoslo, inténtalo. Claro. Entonces, ¿alguna sugerencia de nombre? Bueno, si le damos un nombre semántico, está obteniendo el índice de la próxima puntuación en la línea 14 y 18. Entonces, ¿por qué no lo llamamos así? Claro, y tomaremos la puntuación. ¿Tomamos al jugador? O podemos tomar la puntuación actual, lo que sea. Claro, solo tomaremos la puntuación. Genial. Y a partir de eso, estamos poniendo esta parte aquí. Mientras Sadiq trabaja en eso, esto es bueno para los nombres, para las cosas en las que quería sugerencias, se sintió cómodo preguntándome, esa es una buena señal.

9. Reflexiones Finales y Conclusión

Short description:

La comodidad de Sadiq al pedir ayuda es una buena señal. Hemos refactorizado el código y lo hemos vuelto más eficiente. Nuestras pruebas están pasando y estamos en un buen estado. El problema del tenis es interesante, especialmente con los empates y las ventajas. Gracias, Sadiq, por tu tiempo. Permíteme compartir algunas reflexiones finales.

Demuestra que se siente cómodo al pedir ayuda o solicitar pistas cuando las necesita. Así que eso es una buena señal.

Genial, entonces, esa función está ahí. Probablemente deberíamos devolver, sí, y luego podemos simplemente llamar a eso en lugar de hacer esa larga búsqueda de scoring.findIndex en cada línea.

Entonces, aquí está la prueba. Genial. Y luego podemos simplemente copiar esto, hacerlo de nuevo para el segundo jugador. Suena bien. Bueno.

Entonces, hemos tomado eso. Lo hemos refactorizado, guardémoslo y veamos si la prueba sigue pasando. Increíble.

Otra cosa también, creo, en el lado de las pruebas, tenemos bastante repetición aquí, como estamos lanzando, estamos puntuando varias veces para cada uno de ellos. Podríamos ponerlo en un bucle, especialmente para este donde sucede cuatro veces. ¿Qué piensas, Sadik?

Sí, hagamos un bucle cuando sea cuatro o más. Creo que se está volviendo un poco pesado. Hagámoslo. Entonces, crearemos un bucle aquí, I es menor que cuatro, lo incrementaremos, y luego iteraremos aquí y nos desharemos de eso. Genial. Tenemos nuestras pruebas pasando. Nuevamente, hemos refactorizado ambos archivos. Estamos en un buen estado, hemos hecho un bucle del ciclo rojo-verde-refactorizar en TDD, puedes construir sobre esto en un ejercicio real. Pero nos detendremos aquí solo para mantener el ejemplo corto y simple.

Es un problema realmente interesante, te recomendaría que lo intentes, este problema del tenis, se vuelve realmente interesante una vez que tienes empates y estás tratando con las ventajas y demás.

Muchas gracias, Sadiq, por tomarte el tiempo con nosotros.

No hay problema. Gracias.

Entonces, concluyamos. Quiero dejarte con algunas reflexiones finales. Estas son cosas que suelo hacer antes y después de las entrevistas, creo que realmente dejan una buena impresión en el candidato.

10. Creando una Experiencia Positiva en la Entrevista

Short description:

No te lances directamente al ejercicio. Tómate tiempo para conocer al candidato y crear un mejor ambiente para la entrevista. Revisa la solución juntos y anima al candidato a criticar su propio trabajo. Pide feedback para mejorar el proceso. Una experiencia positiva puede hacer que la entrevista valga la pena.

En primer lugar, no te lances directamente de inmediato. No quieres tener solo una introducción simple y luego pasar al ejercicio. Recomiendo tomar un poco de tiempo, tratar de conocer al candidato. Hay mucho valor en entender su historia, sus ambiciones, cómo es conversar con ellos, y no subestimes lo bueno que puede ser para aliviar al candidato y, con suerte, brindarte un mejor ambiente para llevar a cabo la entrevista de programación.

En segundo lugar, tómate un poco de tiempo al final, revisa la solución que han creado juntos y ve si pueden encontrar mejoras y si puedes hacer que el candidato critique su propio trabajo. Es una buena señal cuando un candidato está dispuesto a criticar o señalar aspectos que faltan en su solución. Así que recomendaría tomarse un poco de tiempo al final, un par de minutos para hablar sobre ello.

Y por último, pide su feedback. Les brinda una buena oportunidad para darte puntos de mejora, pero también para hablar sobre cómo fue su experiencia. Y hablando de experiencia, quiero terminar con esta nota. Hace un tiempo tuvimos un candidato que se postuló con nosotros. Desafortunadamente, no fue seleccionado, pero recibí este correo electrónico unos días después. Y solo quiero dejarlo ahí por un segundo. Mensajes como este hacen que esta entrevista de programación en pareja sea genial a mis ojos. Es una sensación agradable cuando como entrevistador sientes que no has desperdiciado una hora del tiempo del entrevistado, y recibir su respuesta diciendo que sienten que realmente han aprendido algo o que tuvieron una experiencia agradable es algo que realmente ha valido la pena para todos nosotros. Y espero que en las entrevistas que realice en el futuro, pueda dejar una experiencia similar en los demás. Muchas gracias por escuchar.

QnA

Coding Tests and Pair Programming

Short description:

La mayoría de las personas han abandonado las pruebas de codificación, pero aún desempeñan un papel importante en el proceso de contratación. Se debe considerar el costo de las entrevistas, especialmente en entornos de consultoría. El ejercicio de codificación mencionado en la charla se llama kata de puntuación de tenis. La programación en pareja es efectiva para evaluar las habilidades de comunicación y la capacidad de comprender conceptos. Para puestos de nivel superior, es importante la capacidad del candidato para explicar temas y encajar en un rol de liderazgo.

Sí, fue como una batalla hasta hace unos minutos, hace unos segundos, verifiqué y era 46 y 46. Ahora, la opción no tiene el 56%. ¿Cómo te sientes al respecto?

Para empezar, estoy bastante contento de que la mayoría de las personas hayan abandonado las pruebas de codificación. Es genial verlo y espero que ese número aumente con el tiempo. Los `sí` todavía representan aproximadamente un tercio, alrededor del 32 o 33%. También me interesa ver para qué lo usan las personas. Entonces, las personas que aún utilizan pruebas de codificación, ¿en qué etapa de la entrevista se utilizan? ¿Es una parte fundamental o es parte de un filtro de selección? Pero sigue siendo una cantidad considerable, ¿verdad? Uno de cada tres trabajos a los que te postulas probablemente tendrá una prueba de codificación, lo que significa que se invertirá mucho tiempo en eso.

Sí, sí. Tiempo que hoy en día podría haberse invertido de manera mucho más efectiva en cosas más prácticas. Porque la energía en un proceso de contratación, y mencionaste en la charla, cuánto tiempo cuesta la entrevista para el proceso de contratación. Sí. Por cierto, el otro día fue muy popular el costo de las reuniones, ya sabes, en Google, el calendario falso y el costo de las personas. Deberíamos hacer eso después del proceso de contratación al final. ¿Cuántas personas de nuestro equipo de ingenieros hicieron la entrevista y cuánto nos costó? Sí, sí. Especialmente estando en un entorno de consultoría, sabes, es un factor clave allí. Así que definitivamente piensa en el costo del tiempo de cada persona individual también.

Comenzaré con una pregunta rápida. Alguien preguntó cómo se llamaba nuevamente el ejercicio de codificación, ¿kata de puntuación de tenis o algo así en tu charla? Sí, este tipo de problemas generalmente se llaman katas. Hay un repositorio completo en GitHub con, ya sabes, docenas de ejemplos de ellos, puedes encontrar uno que se adapte a ti y a tu estilo. Este en particular se llama kata de puntuación de tenis. Así que si lo buscas, deberías encontrar un repositorio de GitHub al respecto. Bien. De acuerdo, eso está resuelto. La segunda pregunta que recibimos fue sobre cómo encontraste que el Método de Programación en Pareja se adapta a la experiencia de los candidatos.

Sí, eso también es muy interesante. Entonces, si estás contratando, digamos, a nivel de recién graduado, lo que realmente estás buscando no es algo como experiencia con la sintaxis o muchas de las cosas que esperarías con la experiencia. Lo que estás evaluando más es la comunicación, eso es lo fundamental que deseas, y qué tan rápido pueden comprender conceptos, cuánto están dispuestos a aprender, porque ese es el career. Y eso es lo que están tratando de aprender. Si estás evaluando y haciendo una entrevista de programación con alguien que quiere ingresar a un nivel de liderazgo técnico o a un nivel de ingeniero senior, entonces tendrás que buscar otras cosas. La comunicación es importante, pero también es cómo explican estos temas. Y realmente tienes que ver si pueden encajar en ese rol de liderazgo y mentoría. Entonces, tal vez como entrevistador, te retires un poco y les des más libertad para dirigir la entrevista.

Customizing Pair Programming Interview

Short description:

Puedes personalizar la entrevista de programación en pareja para adaptarla a diferentes roles y niveles. Es importante evaluar las elecciones arquitectónicas y las habilidades de integración. Considera preguntar a los candidatos sobre cómo manejar problemas complejos antes de comenzar la entrevista. Ajusta el proceso para que sea específico para cada rol y equipo. Adáptate al cambiante panorama tecnológico para encontrar el ajuste perfecto para los candidatos.

Y a partir de eso, puedes tener una idea, si fueras un desarrollador junior, trabajando con un desarrollador senior o con un líder técnico, ¿cuál sería el estilo de trabajo con ellos? Así que es muy ajustable. También puedes elegir problemas más difíciles si estás tratando de contratar a un desarrollador senior. Hay tantos de estos CADAs con diferentes requisitos y diferentes complejidades. Así que es muy adaptable, diría yo.

Sí. Y como mencionaste, la comunicación, he escuchado que al menos algunas empresas hacen esto como una prueba de una semana o incluso más o menos, la persona se integra en el equipo y literalmente tiene un trabajo porque esa es la parte de comunicación que se ve. Haciendo preguntas, depurando de alguna manera, ya sabes, incluso el proceso en la nueva empresa.

Sí. La segunda pregunta que recibimos fue sobre el candidato senior, y es como, encontré que con los candidatos más senior, la habilidad en la que estamos interesados puede ser trabajar en escalas más grandes y no siempre se presta a mirar código juntos. Los ejemplos serían architecture y organización para proyectos verdes. ¿Qué piensas, cómo se sentiría este formato con un rol de clase de personal para ti?

Claro. Así que en realidad, puedo darte una idea de cómo manejamos esto. Entonces, como parte de esto, tenemos esta entrevista de programación en pareja, creemos que sigue siendo fundamental para contratar a un líder técnico o a un gerente de ingeniería. Pero además de eso, tal vez agreguemos una entrevista de design arquitectónico también. Y la idea es, bueno, también necesitamos evaluar cómo pueden tomar decisiones arquitectónicas. Cómo crearán sistemas e integrarán diferentes partes de una aplicación. Y creo que puedes agregar eso. Pero esta entrevista de programación en pareja sigue siendo bastante importante, especialmente porque creo que hemos aprendido a lo largo del día de hoy que un líder técnico y un gerente de ingeniería tienen como tarea interactuar con las personas, comunicarse, empatizar con el equipo, enseñarles cosas. Así que creo que sigue siendo una parte fundamental. Si quieres ajustar la entrevista de programación en pareja, una sugerencia podría ser dar un paso atrás y antes de comenzar la entrevista, preguntarles en general sobre un problema más complejo. Digamos que puedes tener un problema, como cómo manejar el inicio de sesión en general, y ver cómo pueden explicar esos conceptos más fundamentales también. Así que ese es otro paso que puedes agregar antes de comenzar realmente la entrevista de programación en pareja. Sí, y puedes ajustarlo. Como mencionaste, es muy fácil ajustarlo para agregar otros niveles u otros pasos que consideres buenos para el equipo e incluso más, hacerlo específico para cada rol, cada equipo y el nivel al final. Sí. Oh, eso fue realmente esclarecedor, y aprendí mucho. Nuevamente, volveré y veré cuánto tiempo dediqué a las pruebas y la programación en pareja. Lo hacemos, cómo podemos ajustarlo más para encontrar el ajuste perfecto, especialmente hoy en día que, sí, el panorama tecnológico está cambiando mucho. Las cosas cambian tan rápido, y definitivamente queremos tener el ajuste perfecto para nuestros propios candidatos. Muchas gracias por los conocimientos hoy, Charitas. Gracias por recibirme.

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.