Mejorando la Felicidad del Desarrollador con IA

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

GitHub Copilot es un programador en pareja de IA que puede ayudarte a escribir código más rápido y pasar menos tiempo escribiendo código repetitivo. Esta sesión cubrirá algunos casos de uso interesantes para Copilot que podrían revelar sus posibilidades. Esto va desde pedirle a Copilot que sugiera una función basada en un comentario, aprender a usar un nuevo marco de trabajo, abordar un error de seguridad o accesibilidad, documentar mejor tu código, traducir código de un lenguaje a otro, etc.

Agenda:
Introducción a Copilot
- ¿Qué es Copilot?
- Cómo puedes usarlo
- Cómo puede ayudarte a escribir código más rápido
- Características experimentales de Copilot Labs

Tomaré ejemplos del ecosistema de React y mostraré cómo podemos solucionar vulnerabilidades de seguridad y problemas de accesibilidad en algunos componentes.

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

FAQ

GitHub Copilot es una herramienta de autocompletado avanzada que proporciona sugerencias de código basadas en el contexto del cursor y otras pestañas abiertas en el IDE del usuario.

GitHub Copilot ayuda a reducir la frustración, disminuir el tiempo de búsqueda de información, y permite a los desarrolladores concentrarse en resolver problemas más complejos y satisfactorios.

GitHub ha realizado estudios cualitativos y cuantitativos, incluyendo entrevistas a 2,000 desarrolladores en EE.UU., para analizar cómo Copilot afecta la productividad y satisfacción en escenarios de desarrollo cotidianos.

El marco SPACE es un acrónimo que abarca varios aspectos del comportamiento y productividad, enfocándose en la satisfacción, bienestar, eficiencia y flujo de los desarrolladores.

Los beneficios incluyen menos tiempo dedicado a tareas repetitivas, menor esfuerzo mental en dichas tareas, y un aumento en la satisfacción y tiempo disponible para abordar problemas más interesantes.

Copilot Chat es una extensión de GitHub Copilot que facilita la interacción tipo conversación con el código, ayudando a los desarrolladores a gestionar tareas como escribir consultas SQL o expresiones regulares de manera más eficiente.

Copilot puede potenciar la creatividad al proporcionar sugerencias que ayudan a dirigir y acelerar el proceso de desarrollo, aunque algunos usuarios pueden encontrarlo abrumador si sugiere cambios continuamente mientras escriben.

Existen configuraciones específicas para individuos y empresas que aseguran que los datos utilizados para mejorar el producto no se almacenen ni utilicen para entrenar modelos sin permiso, especialmente en el modo destinado a empresas.

Senna Parsa
Senna Parsa
29 min
02 Jun, 2023

Comments

Sign in or register to post your comment.
Video Summary and Transcription
GitHub Copilot es una herramienta de autocompletado que proporciona sugerencias basadas en el contexto. La investigación ha demostrado que los desarrolladores que utilizan Copilot se sienten menos frustrados, pasan menos tiempo buscando externamente y experimentan menos esfuerzo mental en tareas repetitivas. Copilot puede generar código para diversas tareas, como agregar modales, realizar pruebas y refactorizar. Es una herramienta útil para mejorar la productividad y ahorrar tiempo, especialmente para desarrolladores junior y aquellos que trabajan en dominios desconocidos. Se han abordado las preocupaciones de seguridad con el intercambio de datos opcional y diferentes versiones para individuos y empresas.

1. Introducción y Experiencia Personal

Short description:

Soy un ingeniero de soluciones en GitHub y estoy emocionado de hablar sobre este tema candente. Recuerdo mi primera interacción con React, refactorizando un proyecto JavaScript masivo en React. Ahora, años después, estoy hablando en la Cumbre de React en Ámsterdam.

Estoy realmente emocionado de estar aquí hoy. Mi nombre es Senna, y soy un ingeniero de soluciones en GitHub, y estoy emocionado de hablar sobre esto porque sé que es un tema candente en la mente de todos. Sé que realmente podría haber utilizado algunas de estas herramientas cuando estaba comenzando en el desarrollo. Recuerdo mi primera interacción con React fue en mi primer trabajo, uno de mis primeros proyectos tenía que ver con refactorizar esta biblioteca JavaScript casera realmente masiva de un proyecto en React. Y mi equipo y yo íbamos a los entrenamientos de React de Ryan France en un edificio de Yahoo en San José. Así que es bastante gracioso que siete u ocho años después, esté hablando en la Cumbre de React en Ámsterdam. Así que ahora vivo aquí. Pero sí.

2. Introducción a las Herramientas y Copilot

Short description:

Presentaré diferentes tipos de herramientas utilizadas por los usuarios de GitHub, centrándome en GitHub Copilot. Discutiré la investigación detrás de Copilot y sus beneficios y desafíos. También mostraré algunas características nuevas de Copilot. Las herramientas de programación emparejada con IA y las experiencias estilo chatGPT están ganando popularidad. Copilot es una herramienta de autocompletado que proporciona sugerencias basadas en el contexto.

Tengo muchas cosas que quiero abordar hoy. Así que una agenda rápida. Haré una introducción a algunos de los diferentes tipos de herramientas que veo que las personas utilizan cuando hablo con clientes que usan GitHub. GitHub Copilot es el que más conozco por mi trabajo allí. También quiero hablar sobre la investigación que hemos realizado detrás de Copilot. Y qué significa realmente ser productivo y qué tipos de problemas estamos resolviendo aquí.

Luego hablaré sobre algunos beneficios y desafíos de usar estas herramientas. Y mostraré algunas demostraciones de algunas características nuevas de Copilot en las que estamos trabajando. Y al final, tendremos tiempo para preguntas y respuestas.

Entonces, muy rápidamente... ¿Qué son las herramientas de programación emparejada con IA? Si buscas programación emparejada con IA en un IDE, como VS Code, verás que aparecen muchas de estas opciones. Y solo por curiosidad, ¿cuántos de ustedes están usando una de estas herramientas de programación emparejada con IA en la parte superior? Vale, genial. ¿Y qué hay de GitHub Copilot? Vale, genial. Así que muchos de ustedes están familiarizados. Hablo con la gente de esto todo el tiempo. Estoy emocionado al respecto. Sé que muchas otras personas también lo están. Pero también hay estas agradables experiencias estilo chatGPT que estamos viendo. Donde puedes tener más una conversación. Hacer más descubrimientos. Tal vez lanzar algunos prototipos. Así que hay muchas tecnologías interesantes tanto de Microsoft como de Google y Open AI. Muchas herramientas en este espacio. Y todos los días siento que hay algo nuevo.

Entonces sí, Copilot es el que más conozco. Es una herramienta de autocompletado realmente útil. Lo que haces es proporcionarle contexto y el contexto es básicamente donde está tu cursor en el archivo en el que estás trabajando, así como qué otras pestañas tienes abiertas. Por lo tanto, es capaz de sintetizar la mejor sugerencia posible para ti. Sí. Basado en lo que estás haciendo y lo que estás tratando de lograr.

3. Investigación y Marco SPACE

Short description:

Y esto funciona si estás utilizando uno de nuestros IDEs compatibles. El título de mi charla trata sobre cómo mejorar la felicidad del desarrollador con IA. Hemos realizado mucha investigación para comprender cómo las personas lo están utilizando y si les ayuda a sentirse más productivas. Nuestro equipo de investigación entrevistó a alrededor de 2,000 desarrolladores y utilizó el marco SPACE para investigar diferentes aspectos de la productividad. El estudio incluyó datos cualitativos y cuantitativos, con hallazgos interesantes sobre cuándo las personas aceptan sugerencias. SPACE significa satisfacción, bienestar, eficiencia y flujo.

Y esto funciona si estás utilizando uno de nuestros IDEs compatibles en la parte inferior izquierda. Y, sí, el título de mi charla trata sobre cómo mejorar la felicidad del desarrollador con IA. Así que quería hablar sobre parte de la investigación que hemos realizado que ha demostrado algunas de las hipótesis que hemos tenido. Y hemos realizado mucha investigación tanto para informar cómo construimos el producto como para comprender cómo las personas lo están utilizando.

Y este artículo de investigación es bastante interesante, porque creo que es uno de los únicos artículos de investigación académica sobre este tipo de herramienta de programación emparejada con IA. Entonces, una de nuestras primeras hipótesis es que está ayudando a las personas a sentirse más productivas. Y los informes iniciales de los usuarios han confirmado eso. Pero queríamos comprenderlo probándolo y viendo cómo realmente está ayudando a las personas. Así que nuestro equipo de investigación entrevistó a alrededor de 2,000 desarrolladores basados en Estados Unidos. Esta es una combinación de desarrolladores profesionales, estudiantes y profesores, así como algunas personas que son más aficionadas. Pero queríamos analizar la productividad de manera más integral. Y para ello utilizamos algo llamado marco SPACE para comprender qué aspectos de la productividad queremos investigar. Así que hablaré de eso a continuación. Pero este estudio incluyó una combinación de datos cualitativos. Cómo las personas perciben que están siendo más productivas. Además de datos cuantitativos sobre qué tan rápido están haciendo las cosas las personas. Cuántas sugerencias aceptan en comparación con las sugerencias que ignoran. Así que hay muchos estudios interesantes aquí. Y queríamos evaluar los efectos en los escenarios de desarrollo cotidianos. Así que hay algunos hallazgos interesantes. Como que muchas personas aceptaban cosas con más frecuencia después del día de trabajo o durante los fines de semana. Y realmente no estamos seguros de por qué. Pero es una de las razones por las que deberías consultar el artículo académico. Y también vamos a publicar más hallazgos al respecto. Pero muy rápidamente, ¿qué es SPACE? Es un acrónimo de un marco que abarca varios aspectos del comportamiento. Queríamos centrarnos en la satisfacción. Por lo tanto, la S y la E. Satisfacción y bienestar, así como eficiencia y flujo. Ambas dimensiones son bastante críticas, creemos. A veces se pasan por alto y a veces las personas se centran en métricas individuales como cuántos commits están realizando las personas. He estado en esa situación antes.

4. Understanding Productivity and Flow

Short description:

Realizamos una encuesta para comprender qué significa la productividad para los desarrolladores. Las personas desean mantenerse enfocadas, lograr un progreso significativo y sentir una sensación de logro. Romper el estado de flujo puede tener un impacto negativo en la productividad. Nuestra investigación se centra en mantenerse en el flujo y sentirse satisfecho con las tareas completadas.

Entonces, esto es más o menos cómo informamos nuestra encuesta. Que encuestamos a desarrolladores. Lo cual me lleva a preguntar, ¿qué significa realmente ser productivo? Así que investigamos esto incluso antes del estudio de Copilot. Creo que fue en 2021, queríamos entender cómo las personas, qué piensan que significa ser productivo para ellos. Y lo que encontramos es que es algo similar a tener un buen día. Así que llamamos a esto nuestro proyecto de buen día. Estoy enlazando a otro artículo de blog sobre esto. Pero lo que la gente dijo es que quieren poder mantenerse enfocados en una tarea en particular. Sentir que están logrando un progreso significativo y sentirse mejor al final del día con el trabajo que han logrado, sintiendo que han logrado lo que se propusieron hacer. Y algo que escuchamos es que cuando rompes tu estado de flujo a lo largo del día, eso puede ser realmente perjudicial para tu propia sensación de productividad y sentir que realmente has terminado lo que tenías la intención de hacer. Entonces, gran parte de esto tiene que ver con mantenerse en el flujo y sentirse satisfecho con lo que eres capaz de completar. Estas son las cosas en las que nos propusimos investigar.

5. GitHub Copilot Study and Chat

Short description:

Los desarrolladores que utilizan Copilot informaron sentirse menos frustrados, pasar menos tiempo buscando externamente y experimentar menos esfuerzo mental en tareas repetitivas. También se sintieron más satisfechos con su trabajo y pudieron dedicar más tiempo a resolver problemas interesantes. Copilot Chat de GitHub cierra la brecha entre la autocompletación y tener una conversación en torno al código. Ayuda con tareas repetitivas de plantilla, aumenta la productividad y ahorra tiempo. Es útil para trabajar en dominios desconocidos y permite prototipado rápido. Una grabación de demostración de ejemplo muestra el uso de Copilot Chat.

Y volviendo al estudio real de Copilot. Lo que los desarrolladores nos dijeron es que la mayoría de las personas, cuando usaban Copilot, dijeron que se sentían menos frustrados al programar, pasaban menos tiempo buscando, por lo que donde de lo contrario probablemente irías a Google o leerías algunos comentarios en un sitio externo, tener todas las sugerencias y respuestas dentro de tu IDE es realmente útil para mantener en el mismo flujo.

Y luego, sí, sintieron que podían, sí, mantenerse en el mismo flujo, pasar menos tiempo buscando externamente. Y lo que también fue genial escuchar es que las personas gastaron menos esfuerzo mental en tareas repetitivas que Copilot les ayudó a hacer. La mayoría también dijo que se sentían más satisfechos con su trabajo mientras lo usaban y pudieron básicamente pasar más tiempo resolviendo problemas más interesantes, un trabajo más satisfactorio. Esto fue una buena base para nosotros para entender que está teniendo un efecto positivo en la felicidad del desarrollador.

Y luego, una de las primeras hipótesis que teníamos era que las personas pueden completar tareas más rápido, especialmente tareas repetitivas. Y también hubo algunos experimentos que hicimos donde las personas usaron Copilot para completar una tarea y lo compararon con personas que no lo hicieron. Entonces, sí. Ahora que les he hablado sobre algunos de nuestros estudios que se hicieron sobre el aspecto de autocompletado de Copilot, quiero volver a esta diapositiva, porque hay algo nuevo en lo que estamos trabajando llamado Copilot Chat de GitHub, y eso va a cerrar la brecha entre la autocompletación dentro del IDE y tener más una conversación en torno al código que tienes, como los archivos que tienes abiertos, entender, como, qué comentarios tiene, y puedes darle comentarios y animarlo aún más para ayudarte a progresar.

Y este tipo de discusiones tiene muchos casos de uso. Así que solo voy a mencionar algunos de ellos. Pero, sí, realmente te ayuda con algunas de las cosas más repetitivas de plantilla, tareas comunes como tal vez escribir una consulta SQL o incluso, como, escribir una expresión regular para algo. Pero estás viendo que está, sí, ayudando a aumentar la productividad y al final del día, ahorrándote tiempo para trabajar en resolver problemas más interesantes. Entonces, las cosas que realmente quieres hacer. Y es realmente útil para trabajar en dominios desconocidos también. Realmente puedes hacer más descubrimiento y, como, descubrir cómo hacer un prototipo de algo súper rápido.

Quiero mostrarte un ejemplo de cómo usar Copilot Chat que grabé una demostración de. También, ¿las personas están usando Copilot Chat? Otra muestra de manos. ¿Es algo a lo que las personas tienen acceso? De acuerdo. No muchas. Pero lo que hice es cuando estaba construyendo esta demo, fui a... esto es muy, como, pero fui al festival de tulipanes en Kuckenhof hace unas semanas. Y tomé muchas fotos de tulipanes. Fui a los campos y realmente estaba tratando de averiguar, como, cómo puedo hacer una aplicación realmente tulipanesca. Así que le pregunté a chat TBT y me ayudó a decidir qué quería hacer con eso. Así que empecé con una pizarra en blanco y voy a darle a reproducir en esto e intentar ponerlo en pantalla completa para que puedas verlo mejor. Pero en la parte inferior izquierda aquí está Copilot Chat. Sabe acerca de los archivos que tengo abiertos. Y simplemente comencé, como, usando la aplicación Create React. Simplemente comencé con una pizarra en blanco. Y lo que hice fue decir, oye, tengo estas imágenes de tulipanes en el directorio de imágenes públicas.

6. Creating a Gallery and Exploring Components

Short description:

Pedí una galería simple y obtuve un punto de partida con una matriz de imágenes. Necesitaba reducir el tamaño de las imágenes y recibí sugerencias sobre cómo hacerlo. También descubrí la biblioteca de componentes estilizados, que hizo que mi galería fuera más estéticamente agradable. Luego exploré otros componentes, incluyendo modales, y recibí orientación sobre cómo implementarlos.

¿Puedes hacerme una galería simple? Y lo que hizo es que me dio un buen punto de partida. Fue como aquí tienes tu matriz de imágenes que puedes definir y aquí es cómo puedes hacer un bucle sobre eso y básicamente agregar etiquetas de imagen para cada imagen de tulipán que quieras usar. Así que este fue un buen punto de partida. Solo copié y pegué eso.

Y lo que me dio fueron versiones muy ampliadas. Esta es una bonita foto de un tulipán llamado Tequila Sunrise en la Feria de Flores. Pero lo que necesitaba era que estuviera un poco más reducido. Así que pensé, hey, estas imágenes son muy grandes, ¿puedes reducir un poco su tamaño? Así que en realidad puedes darle retroalimentación y decirle que itere en las sugerencias que te está haciendo. Entonces lo siguiente que hice fue pedirle que lo arreglara por mí y me dijo, hey, puedes hacer esto con un atributo de altura y ancho para las imágenes. Y me sugirió comenzar con 300 píxeles. Así que hice eso. Y luego, bueno, se ve un poco mejor. Pero quería averiguar qué bibliotecas podría usar para hacer que se vea un poco más estéticamente agradable. Así que a lo largo de este proceso recibí muchas sugerencias de diferentes bibliotecas de react. Y la que encontré más fácil de usar fue la de react componentes estilizados. Así que en realidad sugirió de inmediato cuando le pregunté qué podía usar para hacerlo más bonito. Sugirió que usara componentes estilizados, y lo que hizo fue sugerirme, sí, como, aquí están los tipos de componentes que te dará que están listos para que los uses. Puedes usar el contenedor de la galería de imágenes. Puedes usar el componente de imagen. Ya está estilizado para ti. Me da el CSS que necesito. Así que una vez que seguí esa sugerencia, actualicé mi aplicación. Voy a ir un poco más rápido por el bien del tiempo. Pero terminó dándome más de lo que estaba buscando. Ahora tengo esta galería de cajas bien distribuida para todos mis tulipanes.

Lo siguiente que quería hacer era aprender sobre otros componentes que podría usar. Así que quería hacer un modal. Una de las cosas que hice fue preguntarle sobre otros componentes estéticamente agradables, como, ¿cómo puedo agregar encabezados, cómo puedo agregar algunos puntos de referencia más? Y luego le pregunté sobre modales, como, ¿los componentes estilizados tienen soporte para modales, y me dijo que sí. Aquí te muestro cómo puedes crear un nuevo archivo y definir tu componente de modal y aquí es cómo puedes hacer referencia a él en otro ejemplo básico de una galería de imágenes. Así que seguí esa sugerencia y trabajé con ella.

7. Using Copilot for Modals, Testing, and Refactoring

Short description:

Copilot pudo generar código para agregar un modal a la galería de imágenes, incluyendo el manejo de los estados de clic y cerrado, pasando props y hechos desde una matriz. Tomó alrededor de 30 minutos completarlo y me ha inspirado a comenzar mi propio blog de fotos y sitio web. Copilot también ha sido útil al sugerir marcos de prueba, generar casos de prueba y ayudar con la refactorización y traducción de código.

Algo que también noté es que me sugirió un ejemplo muy genérico. Así es como importas el modal. Realmente no se aplicaba a mi archivo, así que quería aprovechar esa oportunidad para preguntarle algo más específico. Así que pensé, ¿puedes... Permíteme avanzar un poco. Pero le pregunté, ¿puedes ayudarme a agregar un modal a mi galería de imágenes en particular? Y luego decidí poner, como, algunos hechos aleatorios dentro del modal, así que fui más específico diciendo, hey, cada modal debería usar una, como, esta matriz de hechos aleatorios de tulipanes que generó para mí. Solo quería tener un párrafo de un hecho de tulipán dentro de cada modal. Y, sí, esto te muestra nuevamente que, cuanto más específico puedas indicarle algo, puede generar algo realmente fácil para que lo copies y pegues allí. Así que voy a avanzar un poco más rápido aquí también. Porque básicamente estoy copiando y pegando diferentes cosas aquí. Pudo manejar todos los estados de clic y cerrado para el modal. Pudo pasar todos los props y los hechos reales de esta matriz de hechos que me ayudó. Así que si avanzo un poco más rápido, porque creo que me queda un minuto más o menos. Sí. Pudo poner algo allí para mí. Y probé esto varias veces, por cierto, y me llevó alrededor de 30 minutos desde el inicio hasta el final. Así que estaba bastante emocionado por eso, ya que no había hecho realmente nada en React en mucho tiempo. Pero ahora realmente quiero comenzar mi propio blog de fotos y mi propio sitio web que he estado queriendo hacer durante mucho tiempo. Así que sí. Esto es bastante emocionante para mí. Y quiero revisar algunos otros casos de uso también. Hemos visto muchos patterns interesantes surgir después de su lanzamiento. También está ayudando a las personas a escribir pruebas. Ese es otro caso en el que puede ayudar a sugerir qué tipo de marco. Como Jest, por ejemplo, sería un buen marco de testing. Puede darte los casos de prueba que puedes usar para funciones particulares. Es realmente útil para la refactorización de código. Puedes seleccionar fragmentos completos de texto, indicarle que lo refactorice de cierta manera. O traducir algo a un idioma diferente.

8. Depuración y Documentación

Short description:

La depuración y la documentación también son características útiles. Puede ayudar a identificar y resolver errores y proporcionar explicaciones para el código. Esto ayuda a comprender el proceso de pensamiento del código.

La depuración también fue bastante útil. Conoce el archivo que tienes abierto. Y si le dices, oye, esta situación está generando este tipo de error, puede ayudarte a superarlo. Y la documentation también es algo que encontré útil hacer. Puedes pedirle que escriba documentación para todo el código que tienes en un archivo, así como explicar diferentes aspectos del código. Si resaltas algo y dices, oye, ¿puedes explicarme esto? Puede darte paso a paso en inglés lo que algo está haciendo. Y esto puede ayudarte a comprender cómo realmente piensa sobre el código.

9. Implicaciones y Conclusiones

Short description:

GitHub Copilot X puede generar un resumen y una solicitud de extracción. Verifica las sugerencias y sé escéptico con las respuestas. Es útil para tareas comunes, pero no para funciones complejas. Ten en cuenta las sugerencias desactualizadas y la necesidad de estándares de calidad de código y seguridad. Copilot es una herramienta para ayudar a los desarrolladores a hacer las cosas más rápido. No pretende reemplazar trabajos, sino ser una parte estándar de la cadena de herramientas. Es útil para comenzar en un nuevo lenguaje y para desarrolladores junior. Ahorra tiempo y elimina la necesidad de buscar en Stack Overflow o Google.

Y luego hay otras implicaciones para esto también. Así que estamos trabajando en agregar estas pequeñas partes útiles de Copilot en Copilot X. Puede generar un resumen y una solicitud de extracción de todo lo que estás haciendo. Eso es lo que pude hacer usando Copilot para las solicitudes de extracción.

Pero también quería cubrir rápidamente algunas cosas de las que debes estar consciente y el resumen de esta lista de cosas en las que estas herramientas pueden no ser tan buenas, es que debes ser escéptico con las respuestas y verificar las sugerencias que te da. Es útil para realizar tareas comunes, pero si estás tratando de hacer algo más complejo o generar una función completa, no será 100% preciso. Está diseñado para ayudarte a automatizar las partes antes de llegar a ese punto y ayudarte a tener un punto de partida.

Al lidiar con APIs complicadas, es posible que no te dé exactamente lo que estás buscando. Algo que noté con las funciones de chat, ya sea el chat de Copilot o el chat de GPT, es que puede darte sugerencias desactualizadas basadas en bibliotecas. En realidad, quería hacer esta demostración con GitHub primer, que es nuestro sistema de diseño con componentes React, pero me seguía dando componentes obsoletos, así que fui en otra dirección y terminé usando styled components, así que eso es algo de lo que también debes estar consciente. Y estas herramientas nunca reemplazarán tus estándares de calidad de código y seguridad. Siempre debes seguir realizando análisis de calidad. Es como hacer programación en pareja con otra persona, solo debes asegurarte de que encaje y tenga sentido en tu proyecto.

Y otra cosa a tener en cuenta es que esto es realmente útil para comenzar en un nuevo lenguaje Es excelente para desarrolladores junior, pero si no entiendes el código que estás escribiendo y no comprendes lo que estás intentando construir, es posible que no puedas verificar las respuestas correctamente. Así que es como un intercambio y algo de lo que debes estar consciente. Y esto me lleva a mi conclusión. Mucha gente me pregunta si esto va a reemplazar los trabajos de las personas. Como ser humano en esta época, soy un poco cauteloso con la IA y la forma en que la pienso pero creo que estas solo serán herramientas que probablemente en algún momento serán una parte estándar de la cadena de herramientas de un desarrollador. Están diseñadas para ayudarte a hacer las cosas más rápido y ayudarte a aprovechar mejor tu tiempo, y no están escribiendo software completo. Realmente están destinadas a ayudarte en lo que estás haciendo. A mí, personalmente, me gustan mucho. No sé cómo hacía las cosas antes de Copilot, ahora que lo he estado usando durante un año. Solo puedo pensar en todo el tiempo que podría haber ahorrado buscando ansiosamente comentarios en Stack Overflow o buscando cómo hacer algo en Google. Así que sí, realmente espero poder comenzar mi pequeño blog de fotos y mi sitio personal finalmente. Pero sí, eso me lleva al final de mi charla. Así que quiero dejarlo abierto para preguntas y respuestas si hay alguna pregunta. Gracias por su tiempo. Eso fue genial. Tenemos muchas preguntas, así que en lugar de leerlas individualmente, he detectado un par de temas. Como con muchos temas de IA, las personas todavía son un poco escépticas o necesitan más aclaraciones.

10. Preocupaciones de seguridad y uso compartido de datos

Short description:

Existen dos tipos de Copilot: uno para individuos y otro para empresas. Para los individuos, hay una función opcional de uso compartido de datos que se puede utilizar para mejorar el producto, pero se puede desactivar para garantizar que no se conserven las sugerencias. Para las empresas, no hay disponible un modo de uso compartido de datos, lo que garantiza que no se utilicen datos para entrenar ningún modelo.

Muchas personas han mencionado preocupaciones de seguridad o de propiedad intelectual y cómo se podría convencer a las empresas que han prohibido Copilot por ese tipo de cosas. Sí, puedo hablar primero sobre las preocupaciones de seguridad. Hemos agregado algo para las personas, especialmente hay dos tipos de Copilot que se pueden usar. Hay uno para individuos y luego está Copilot para empresas. Entonces, para los individuos, hay algo llamado uso compartido de datos donde las sugerencias que proporcionas al servicio, que es un archivo que tienes abierto o, nuevamente, las otras pestañas que tienes abiertas, se pueden utilizar para ayudar a mejorar el producto. Creo que está desactivado de forma predeterminada. Pero si lo desactivas, ninguna de esas sugerencias se conservará. Y luego, para las empresas, que son las compañías con las que hablamos que quieren usar Copilot, no hay disponible un modo de uso compartido de datos. Por lo tanto, puedes estar seguro de que nada se utiliza para entrenar ningún modelo, al menos para las empresas. Esa es la principal, eso es lo primero de lo que solemos hablar.

11. Copilot para JetBrains y Soporte IDE

Short description:

Actualmente puedes usar el autocompletado de Copilot con JetBrains, pero Copilot X y sus características solo están disponibles en la vista previa técnica de VS Code. Se espera un mayor soporte IDE antes de su disponibilidad general, pero el cronograma para las características de chat y X es incierto.

Eso es bueno saberlo. Gracias. También hay un conjunto de preguntas sobre Copilot para JetBrains, cuándo estará disponible Copilot para él y Copilot para otras IDE, y ese tipo de cosas. Sí. Ahora puedes usar el autocompletado normal de Copilot con JetBrains. Pero en cuanto a Copilot X y esa visión de características, en la vista previa técnica solo está disponible en VS Code. No sé cuándo podremos implementarlo en otras IDE que admitimos, como JetBrains. Pero puedo suponer que antes de que esté disponible de manera general, tendremos un mayor soporte para IDEs. Pero sí, no sé cuándo se agregarán las características de chat y X allí. Bastante justo. Sí.

12. Context and Prompt Engineering

Short description:

Agregar más contexto con pestañas abiertas ha mejorado las sugerencias de Copilot. No considera el repositorio, solo los archivos que tienes abiertos. La ingeniería de las indicaciones y hacer preguntas específicas puede llevar a respuestas más refinadas.

Un par de personas tenían preguntas sobre cómo las pestañas abiertas proporcionan contexto. ¿Y tienes algún otro consejo para proporcionar un mejor contexto a Copilot? Sí. Hay una publicación de blog que lanzamos recientemente, desde que agregamos soporte para agregar más contexto con otras pestañas abiertas además de la que tienes abierta. Realmente ha mejorado mucho y los tipos de sugerencias que puede hacer. No tiene ningún concepto de repositorio. Solo sabe lo que le estás indicando con los archivos que tienes abiertos. Así que sí, mucha gente está escribiendo publicaciones interesantes sobre la ingeniería de las indicaciones y cómo puedes indicarle con un mejor contexto. Porque realmente, todo está en la forma en que le haces preguntas y puedes obtener respuestas más refinadas. Así que digo, cuanto más contexto, mejor con la forma en que le preguntas cosas. Y luego hay un par de preguntas logísticas que llegaron durante la charla. Así que tal vez puedas repasar. ¿Cuándo estarán más ampliamente disponibles Copilot Chat y CopilotX? Y también, ¿Copilot Chat formará parte de la licencia normal o será una opción de nivel superior o complemento? Eso, creo que todavía lo estamos ajustando. No sé cómo dar una buena respuesta sobre si estará en niveles superiores. Sí, tampoco estoy seguro... No sé si alguien de mi equipo sabe cuándo se lanzará fuera de la vista previa técnica. Así que, lo siento. Sé que es como, lanzamos esta visión y cosas que puedes usar. Aún no sabemos cuándo, pero mantente atento. Y mi última pregunta antes de seguir adelante es un poco más filosófica. Supongo que hay un par de menciones de cómo sientes que Copilot o qué sientes que es su papel en ayudar o tal vez embotar la creatividad y la innovación y la exploración. Sí, quiero decir, sé que personalmente siento que solo ayuda. Entonces, si estás tratando de pensar en una idea o algo en lo que quieres trabajar, siento que realmente te pone en la dirección correcta al darte todas estas ideas que podrías usar. También he escuchado que a algunas personas les resulta abrumador, como si lo tuvieras abierto en un archivo y simplemente te sugiere constantemente cosas mientras escribes y tú solo quieres hacer algo por tu cuenta. Así que a veces la gente lo desactiva. También estamos investigando cómo puedes ignorar ciertos archivos si no quieres que te sugiera cosas en un cierto tipo de ruta. Así que estoy muy emocionado por los casos de uso y creo que está destinado a mejorar tu experiencia y ayudarte a hacer lo que quieres hacer más rápido. Pero sí, esa es mi opinión al respecto. Bueno, me encanta Copilot. No sabía que se podían ignorar archivos. Tal vez todo mi código basura. Estamos trabajando en eso. Genial. Sí. Gracias por tu tiempo. Muchas gracias. Sanna estará en el puesto de los oradores. Una vez más, gracias. Gracias.

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

No resuelvas problemas, elimínalos
React Advanced 2021React Advanced 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Kent C. Dodds discusses the concept of problem elimination rather than just problem-solving. He introduces the idea of a problem tree and the importance of avoiding creating solutions prematurely. Kent uses examples like Tesla's electric engine and Remix framework to illustrate the benefits of problem elimination. He emphasizes the value of trade-offs and taking the easier path, as well as the need to constantly re-evaluate and change approaches to eliminate problems.
Uso efectivo de useEffect
React Advanced 2022React Advanced 2022
30 min
Uso efectivo de useEffect
Top Content
Today's Talk explores the use of the useEffect hook in React development, covering topics such as fetching data, handling race conditions and cleanup, and optimizing performance. It also discusses the correct use of useEffect in React 18, the distinction between Activity Effects and Action Effects, and the potential misuse of useEffect. The Talk highlights the benefits of using useQuery or SWR for data fetching, the problems with using useEffect for initializing global singletons, and the use of state machines for handling effects. The speaker also recommends exploring the beta React docs and using tools like the stately.ai editor for visualizing state machines.
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced 2021React Advanced 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
Concurrencia en React, Explicada
React Summit 2023React Summit 2023
23 min
Concurrencia en React, Explicada
Top Content
React 18's concurrent rendering, specifically the useTransition hook, optimizes app performance by allowing non-urgent updates to be processed without freezing the UI. However, there are drawbacks such as longer processing time for non-urgent updates and increased CPU usage. The useTransition hook works similarly to throttling or bouncing, making it useful for addressing performance issues caused by multiple small components. Libraries like React Query may require the use of alternative APIs to handle urgent and non-urgent updates effectively.
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
React Day Berlin 2023React Day Berlin 2023
16 min
Gestión del Estado de React: 10 Años de Lecciones Aprendidas
Top Content
This Talk focuses on effective React state management and lessons learned over the past 10 years. Key points include separating related state, utilizing UseReducer for protecting state and updating multiple pieces of state simultaneously, avoiding unnecessary state syncing with useEffect, using abstractions like React Query or SWR for fetching data, simplifying state management with custom hooks, and leveraging refs and third-party libraries for managing state. Additional resources and services are also provided for further learning and support.
El Futuro de las Herramientas de Rendimiento
JSNation 2022JSNation 2022
21 min
El Futuro de las Herramientas de Rendimiento
Top Content
Today's Talk discusses the future of performance tooling, focusing on user-centric, actionable, and contextual approaches. The introduction highlights Adi Osmani's expertise in performance tools and his passion for DevTools features. The Talk explores the integration of user flows into DevTools and Lighthouse, enabling performance measurement and optimization. It also showcases the import/export feature for user flows and the collaboration potential with Lighthouse. The Talk further delves into the use of flows with other tools like web page test and Cypress, offering cross-browser testing capabilities. The actionable aspect emphasizes the importance of metrics like Interaction to Next Paint and Total Blocking Time, as well as the improvements in Lighthouse and performance debugging tools. Lastly, the Talk emphasizes the iterative nature of performance improvement and the user-centric, actionable, and contextual future of performance tooling.

Workshops on related topic

Masterclass de Depuración de Rendimiento de React
React Summit 2023React Summit 2023
170 min
Masterclass de Depuración de Rendimiento de React
Top Content
Featured Workshop
Ivan Akulov
Ivan Akulov
Los primeros intentos de Ivan en la depuración de rendimiento fueron caóticos. Vería una interacción lenta, intentaría una optimización aleatoria, vería que no ayudaba, y seguiría intentando otras optimizaciones hasta que encontraba la correcta (o se rendía).
En aquel entonces, Ivan no sabía cómo usar bien las herramientas de rendimiento. Haría una grabación en Chrome DevTools o React Profiler, la examinaría, intentaría hacer clic en cosas aleatorias, y luego la cerraría frustrado unos minutos después. Ahora, Ivan sabe exactamente dónde y qué buscar. Y en esta masterclass, Ivan te enseñará eso también.
Así es como va a funcionar. Tomaremos una aplicación lenta → la depuraremos (usando herramientas como Chrome DevTools, React Profiler, y why-did-you-render) → identificaremos el cuello de botella → y luego repetiremos, varias veces más. No hablaremos de las soluciones (en el 90% de los casos, es simplemente el viejo y regular useMemo() o memo()). Pero hablaremos de todo lo que viene antes - y aprenderemos a analizar cualquier problema de rendimiento de React, paso a paso.
(Nota: Esta masterclass es más adecuada para ingenieros que ya están familiarizados con cómo funcionan useMemo() y memo() - pero quieren mejorar en el uso de las herramientas de rendimiento alrededor de React. Además, estaremos cubriendo el rendimiento de la interacción, no la velocidad de carga, por lo que no escucharás una palabra sobre Lighthouse 🤐)
Consejos sobre React Hooks que solo los profesionales conocen
React Summit Remote Edition 2021React Summit Remote Edition 2021
177 min
Consejos sobre React Hooks que solo los profesionales conocen
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
La adición de la API de hooks a React fue un cambio bastante importante. Antes de los hooks, la mayoría de los componentos tenían que ser basados en clases. Ahora, con los hooks, estos son a menudo componentes funcionales mucho más simples. Los hooks pueden ser realmente simples de usar. Casi engañosamente simples. Porque todavía hay muchas formas en las que puedes equivocarte con los hooks. Y a menudo resulta que hay muchas formas en las que puedes mejorar tus componentes con una mejor comprensión de cómo se puede usar cada hook de React.Aprenderás todo sobre los pros y los contras de los diversos hooks. Aprenderás cuándo usar useState() versus useReducer(). Veremos cómo usar useContext() de manera eficiente. Verás cuándo usar useLayoutEffect() y cuándo useEffect() es mejor.
React, TypeScript y TDD
React Advanced 2021React Advanced 2021
174 min
React, TypeScript y TDD
Top Content
Featured Workshop
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Domina los Patrones de JavaScript
JSNation 2024JSNation 2024
145 min
Domina los Patrones de JavaScript
Top Content
Featured Workshop
Adrian Hajdin
Adrian Hajdin
Durante esta masterclass, los participantes revisarán los patrones esenciales de JavaScript que todo desarrollador debería conocer. A través de ejercicios prácticos, ejemplos del mundo real y discusiones interactivas, los asistentes profundizarán su comprensión de las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables. Al final de la masterclass, los participantes ganarán una nueva confianza en su capacidad para escribir código JavaScript de alta calidad que resista el paso del tiempo.
Puntos Cubiertos:
1. Introducción a los Patrones de JavaScript2. Patrones Fundamentales3. Patrones de Creación de Objetos4. Patrones de Comportamiento5. Patrones Arquitectónicos6. Ejercicios Prácticos y Estudios de Caso
Cómo Ayudará a los Desarrolladores:
- Obtener una comprensión profunda de los patrones de JavaScript y sus aplicaciones en escenarios del mundo real- Aprender las mejores prácticas para organizar el código, resolver desafíos comunes y diseñar arquitecturas escalables- Mejorar las habilidades de resolución de problemas y la legibilidad del código- Mejorar la colaboración y la comunicación dentro de los equipos de desarrollo- Acelerar el crecimiento de la carrera y las oportunidades de avance en la industria del software
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
React Summit 2023React Summit 2023
151 min
Diseñando Pruebas Efectivas con la Biblioteca de Pruebas de React
Top Content
Featured Workshop
Josh Justice
Josh Justice
La Biblioteca de Pruebas de React es un gran marco para las pruebas de componentes de React porque responde muchas preguntas por ti, por lo que no necesitas preocuparte por esas preguntas. Pero eso no significa que las pruebas sean fáciles. Todavía hay muchas preguntas que tienes que resolver por ti mismo: ¿Cuántas pruebas de componentes debes escribir vs pruebas de extremo a extremo o pruebas de unidad de nivel inferior? ¿Cómo puedes probar una cierta línea de código que es difícil de probar? ¿Y qué se supone que debes hacer con esa persistente advertencia de act()?
En esta masterclass de tres horas, presentaremos la Biblioteca de Pruebas de React junto con un modelo mental de cómo pensar en el diseño de tus pruebas de componentes. Este modelo mental te ayudará a ver cómo probar cada bit de lógica, si debes o no simular dependencias, y ayudará a mejorar el diseño de tus componentes. Te irás con las herramientas, técnicas y principios que necesitas para implementar pruebas de componentes de bajo costo y alto valor.
Tabla de contenidos- Los diferentes tipos de pruebas de aplicaciones de React, y dónde encajan las pruebas de componentes- Un modelo mental para pensar en las entradas y salidas de los componentes que pruebas- Opciones para seleccionar elementos DOM para verificar e interactuar con ellos- El valor de los mocks y por qué no deben evitarse- Los desafíos con la asincronía en las pruebas de RTL y cómo manejarlos
Requisitos previos- Familiaridad con la construcción de aplicaciones con React- Experiencia básica escribiendo pruebas automatizadas con Jest u otro marco de pruebas unitarias- No necesitas ninguna experiencia con la Biblioteca de Pruebas de React- Configuración de la máquina: Node LTS, Yarn
IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.