Al hablar de contribuir a proyectos de código abierto, es crucial entender desde el punto de vista de un mantenedor qué factores están impidiendo que nuevos contribuyentes aporten a tu proyecto. Ya sea que tu base de código sea muy abrumadora para los contribuyentes por primera vez o que carezca de buenos primeros problemas y suficiente respuesta receptiva a sus problemas.
En esta charla, explicaré cómo construí una campaña en Amplication que escaló los contribuyentes de 30 a 200 en solo un año y cómo resolvió cada problema que mencioné anteriormente.
This talk has been presented at React Summit US 2023, check out the latest edition of this React Conference.
FAQ
Los tres principales bloqueos son sentirse abrumado por el código, problemas de instalación o errores durante el desarrollo, y la falta de reconocimiento o recompensas para los contribuyentes.
Amplication es una plataforma de herramientas de desarrollo de código abierto que genera código de plantilla para proyectos de backends de NodeJS, facilitando la vida del desarrollador al eliminar tareas repetitivas y aumentar la productividad.
Un novato puede empezar eligiendo 'buenos primeros problemas' que suelen ser problemas sencillos resolubles en un único archivo, lo que ayuda a entender el proyecto poco a poco.
Amplication utiliza estrategias como mantener problemas sencillos disponibles, ser proactivo en la comunicación con los contribuyentes y organizar reuniones de ayuda, además de ofrecer reconocimientos y recompensas a los contribuyentes.
Amplication ofrece recompensas como camisetas, hojas de pegatinas, y reconocimientos en los canales de redes sociales para valorar y agradecer las contribuciones de los miembros de su comunidad.
Se puede conectar con Saurav Jain escaneando el código QR que proporciona durante sus charlas o siguiéndolo en LinkedIn y Twitter donde regularmente publica contenido relacionado con el código abierto.
Bienvenido a la mejor charla de React Summit USA. Esta charla trata sobre tres factores que bloquean las contribuciones a proyectos de código abierto. Application es una plataforma de herramientas de desarrollo de código abierto que elimina tareas repetitivas en la creación de backends de NodeJS, aumentando la productividad del desarrollador. Discutiré los desafíos que enfrentan los contribuyentes por primera vez y cómo superarlos. Si quieres contribuir por primera vez, te damos la bienvenida. Ser proactivo y participar con la comunidad puede atraer contribuyentes a largo plazo.
1. Introducción a las Contribuciones de Código Abierto
Short description:
Bienvenidos a la mejor charla de React Summit USA. Esta charla trata sobre tres factores que bloquean las contribuciones a proyectos de código abierto. Queremos contribuciones valiosas de la comunidad. Conéctate conmigo en LinkedIn y Twitter. He ayudado a cientos de desarrolladores a contribuir al código abierto.
Buenos días, buenas tardes y buenas noches y bienvenidos a la mejor charla de React Summit USA. Y como pueden ver, esta charla va a tratar sobre tres factores que están bloqueando las contribuciones a sus proyectos de código abierto. Todos tenemos un proyecto secundario en el que queremos trabajar, y puede que queramos hacerlo de código abierto. Estamos trabajando en empresas que tienen productos o proyectos de código abierto que queremos hacer crecer, y la parte más importante de hacer crecer un proyecto de código abierto es el apoyo de la comunidad. Queremos contribuciones valiosas de la comunidad a nuestros proyectos de código abierto. Queremos que tantos contribuyentes como sea posible contribuyan a nuestro proyecto y lo mejoren. Hay muchas cosas que bloquean su camino para contribuir por primera vez a sus proyectos. Y esta charla va a tratar sobre esos tres bloqueos y cómo hacer que su proyecto sea un mejor camino para ellos la primera vez.
Así que, como nota al margen, si quieren conectarse conmigo, aquí tienen un código QR. Pueden escanearlo y simplemente conectarse conmigo. Me encantaría conectarme con ustedes. ¿Y quién soy yo? Hola a todos, soy Saurav Jain. Soy de la capital de India, Nueva Delhi. He estado trabajando como gerente de comunidad durante los últimos dos años en una startup de DevTools de código abierto llamada Amplication. Les contaré un poco más sobre Amplication en la próxima diapositiva. Me considero un evangelista del código abierto. Estoy en este campo desde hace cinco años y he ayudado a cientos de desarrolladores a contribuir al mundo del código abierto por primera vez. Y esto es algo que me hace feliz. Visito todas las partes del mundo, hablo sobre código abierto, ayudo a los contribuyentes a contribuir a proyectos de código abierto. Y también estoy muy activo en los canales de redes sociales. Así que si no me sigues, te estás perdiendo algo. Estos son mis nombres de usuario, S-A-U-A-I-N, tanto en LinkedIn como en Twitter, pueden seguirme allí. Me encanta viajar. Me encanta programar. Me encanta publicar contenido en Twitter. Así que suelo publicar contenido relacionado con el código abierto y las comunidades en Twitter. Así que si están interesados, por favor, échenle un vistazo. Y sí, aplicación. Así que esta diapositiva no es para dar una introducción sobre la aplicación, pero quiero que sepan cómo empecé cuando empecé a trabajar en una empresa de código abierto y lo pequeña que era. Así que solo una pequeña introducción.
2. Crecimiento e Impacto de Application
Short description:
Application es una plataforma de herramientas de desarrollo de código abierto que elimina las tareas repetitivas en la creación de backends de NodeJS, aumentando la productividad del desarrollador. Comenzó como una pequeña herramienta con una comunidad de 1000 miembros y 30 contribuyentes, pero ahora cuenta con más de 35000 desarrolladores y 12000 estrellas. Continúa creciendo exponencialmente.
Application es una plataforma de herramientas de desarrollo de código abierto. Es un generador de código que genera el código de plantilla para ti y elimina toda la tarea repetitiva que los equipos de desarrolladores tienen que hacer cuando están creando backends de NodeJS. Por lo tanto, facilita la vida del desarrollador al eliminar la tarea repetitiva y aumentar la productivity. Pero cuando me uní a Application, era una herramienta muy pequeña. Así que teníamos una community de apenas 1000 miembros. Teníamos solo 30 contribuyentes en nuestro proyecto de código abierto y el proyecto era bastante pequeño. Así que empecé en ese momento. Así que si eres alguien que está trabajando en un proyecto personal y el proyecto es muy pequeño, no te preocupes. Yo también empecé de esa manera y ahora tenemos una community de más de 35000 desarrolladores en todas las plataformas. Tenemos casi 12000 estrellas en este momento, más de 300 contribuyentes si soy honesto en cada repositorio de Application
3. Desafíos y Soluciones para los Contribuyentes por Primera Vez
Short description:
En esta charla, discutiré los desafíos que enfrentan los contribuyentes por primera vez y cómo superarlos. La abrumadora base de código es un bloqueador común, pero proporcionar buenos primeros problemas puede ayudar. Estos problemas deben centrarse en un paquete y un archivo, permitiendo a los contribuyentes entender y hacer pequeñas contribuciones. Otros buenos primeros problemas incluyen mejoras de UI/UX, correcciones de documentación, correcciones de errores y mejoras del Read Me. Los problemas de documentación son particularmente útiles para los nuevos contribuyentes.
y la community que puedes ver allí. Así que crecemos exponencialmente y tú también puedes hacerlo. En esta charla voy a hablar principalmente sobre las partes del contribuyente, no todo porque es una charla relámpago. ¡Así que empecemos! Así que empezaré esta charla contándote sobre el punto de vista de un contribuyente por primera vez. Así que ya sea un contribuyente que ha contribuido por primera vez es un principiante en el mundo de la tecnología o en el mundo del código abierto o ellos están visitando el repositorio de tu proyecto por primera vez. Y en ambos casos es difícil entender el código. Es difícil para ellos entender qué está pasando, intentan leer la documentation, se unen a una community, hacen preguntas a la community, interactúan con ellos y usan el producto. Y cuando lo usan, tienen algún bloqueador. Así que por ejemplo Harji Forever estaba intentando contribuir a un problema en Amplication y se encontró con algún bloqueador. Entonces, ¿cuáles son exactamente esos bloqueadores que impiden a estos contribuyentes por primera vez contribuir a tu proyecto? Así que el primero es sentirse abrumado por el código. Sí, como esto. Así que todo el mundo se sentirá identificado con esto cuando contribuya por primera vez a cualquier proyecto de código abierto, la base de código es muy abrumadora. Así que personalmente no sé qué archivo está haciendo qué cosa. Hay docenas de paquetes, cientos de archivos y no sé cuál está haciendo qué. Así que por ejemplo si vas a github.com slash amplication slash amplication verás toda la base de código cómo estamos generando el backend. Y estoy trabajando en amplication y es difícil para mí incluso si estoy pensando desde un punto de vista muy principiante entender qué paquete está haciendo qué. Hay docenas de paquetes, cada paquete tiene cientos de archivos y no sé qué es, qué cosa está haciendo qué. Así que como, como primer paso, como mantenedor, necesitas entender cómo superar esto y la mejor manera de superar este bloqueador son los buenos primeros problemas. Sí, así que te recomiendo que deberías tener tantos buenos primeros problemas abiertos en tu repositorio como puedas. Así que lo que considero un buen primer problema es un problema de código que puede ser resuelto sólo en un archivo. Así que estoy de acuerdo hay docenas de, docenas de paquetes. No puedes enseñar todo al principio. Así que empecemos con un paquete y un archivo y un problema de código que puede ser resuelto sólo en ese archivo. Así que si un contribuyente intenta contribuir, intenta elegir ese problema, irán a ese problema en particular, lo resolverán y aprenderán sobre un paquete particular de tu repositorio y entenderán qué está pasando en ese paquete y será un hueco. Añadirá como un catalizador. Será el comienzo de muchas de sus contribuciones a tu proyecto porque entienden una cosa. Luego elegirán otro problema que les hará entender sobre el otro paquete y entenderán sobre eso. Así que de esta manera, entenderán más y más paquetes y eventualmente serán un contribuyente muy activo en tu repositorio. Otros problemas que considero buen primer problema son UI. Problemas de UX, problemas de documentation, pequeñas correcciones de errores, errores tipográficos y hacer el Read Me mejor siempre es bienvenido para los mantenedores. En el problema de documentation, digo que tengo experiencia personal que cuando hay un problema en la documentation, pides a la community que lo arregle, leen documentos, leen qué está pasando con tu producto, cómo usarlo y aprenden sobre tu producto y se convierten en un usuario. Así que los problemas de documentation son muy útiles para las primeras contribuciones
4. Apoyo al Contribuyente y Mantenimiento Proactivo
Short description:
Si quieres contribuir por primera vez, te damos la bienvenida. Como mantenedor, sé proactivo en mantener actualizaciones de estado de los contribuyentes. Ayúdales a superar cualquier problema que enfrenten, incluso si es un buen problema. Programa reuniones con tu equipo de ingeniería para ayudar a los contribuyentes. Al ser proactivo, puedes atraer nuevos contribuyentes y generar confianza en la comunidad.
y los buenos primeros problemas ayudan a contribuir. Sí, es tan simple como eso. Así que si vas a github.com slash Amplication slash Amplication y vas a la sección de problemas, verás que en cualquier momento, tenemos de 20 a 30 buenos primeros problemas abiertos en nuestro repositorio para el contribuyente que quiera contribuir a nuestro repositorio en cualquier momento. Así que si quieres contribuir por primera vez, te damos la bienvenida. Así que por favor ven y contribuye a nuestro repositorio. Eres más que bienvenido. Después de la segunda cosa, que es un problema muy grande es por ejemplo, sí, el meme es muy divertido. Por ejemplo, supongamos que tienes algún contribuyente de un repositorio que elige un buen primer problema para empezar a trabajar en él y tienen algún error. Las instalaciones no son fáciles. Tal vez algún error de git o tal vez algún error con tu producto. No lo sabemos. Y estos simplemente dejaron de trabajar en ello porque no saben qué hacer. Y como mantenedor, tienes que ser proactivo. Tienes que mantener actualizaciones de estado de los contribuyentes que trabajan en tus problemas. Si ellos están teniendo algún problema o no, cómo puedes ayudarles. Tienes que preguntarles de vez en cuando a un cierto período de tiempo. No sé, después de una semana, después de dos semanas. Según el problema. Y si están teniendo algún problema, tienes que ayudarles incluso si es un buen problema porque están contribuyendo por primera vez. Tienes que alimentarles. Tienes que hacerles aprender sobre tu proyecto y si es necesario, también puedes programar una reunión con tu equipo de ingeniería y aprenderán del propio equipo de ingeniería. Así que nunca hace daño y crea confianza en la community y más y más miembros de la community contribuyen a tu proyecto. Y así es como funciona. Por ejemplo, un contribuyente llamado Hajj. Me pidió que le asignara un problema. Le asigné un problema hace tres semanas y suelo mantener las actualizaciones de estado muy proactivamente. Olvidó que tenía que trabajar en este problema. Mantengo la actualización de estado y pregunto si hay alguna actualización en la tarea en la que está trabajando. Y en un día, hizo un PR porque así es como consigues un nuevo contribuyente siendo simplemente proactivo. Y por otro lado, en el lado derecho de la pantalla, puedes ver que Sameet tuvo un error mientras trabajaba en un problema y pedí a uno de los ingenieros de Amplication que le ayudara. Y después de pedirles que le ayudaran, programaron una reunión y fue, el
5. Recompensa y Reconocimiento para los Contribuyentes
Short description:
Ser proactivo y comprometerse con la comunidad puede atraer a contribuyentes a largo plazo. Celebra cada contribución de código abierto y muestra aprecio. Proporciona recompensas como pegatinas, insignias, camisetas o reconocimiento en las redes sociales. Este enfoque ha ayudado a Amplication a crecer de cero a más de 350 contribuyentes en un año. Únete a nuestra comunidad de discordia y dale una oportunidad a Amplication marcando con una estrella nuestro repositorio de GitHub.
el problema fue resuelto. Y ahora Sameet y Harsh son contribuyentes muy activos de Amplication. Así que simplemente siendo proactivo y preguntando a la community, puedes ganar contribuyentes que son activos durante mucho tiempo. Y lo último pero no menos importante es la recompensa y el reconocimiento. Así que yo personalmente creo que y siempre digo esto, que cada contribución de código abierto debería ser celebrada. Alguien está dedicando su tiempo a tu proyecto, alguien está trabajando para tu proyecto sin pedir nada. Así que si son tan amables de contribuir a tu proyecto, tienes que ser lo suficientemente amable para darles un pequeño cupón de agradecimiento. Si puedes permitírtelo, siempre preferiré que puedas dar alguna hoja de pegatinas, puedes dar alguna insignia, puedes darles una camiseta o gorra, según lo que puedas permitirte y tu empresa pueda dar. De lo contrario, si es un proyecto paralelo, no tienes presupuesto, siempre puedes darles algún reconocimiento en los canales de redes sociales. Así que una publicación que mencione que este contribuyente nos ayudó a aportar este valor a nuestro proyecto y ayudó mucho al proyecto de código abierto. Crecimos y la community está disfrutando de la nueva característica, el nuevo valor que el contribuyente proporcionó. Significa mucho para la community. Entonces la community sabe que los mantenedores de este proyecto valoran la contribución de la community, son lo suficientemente amables, son lo suficientemente amables para expresar su gratitud hacia la community y más y más miembros de la community se motivan a través de esto. Esperan que nosotros también obtendremos estas cosas, también obtendremos estas recompensas o reconocimientos en los canales de redes sociales. Significa mucho. Y funciona. Funciona. Así que cada vez que invito a los primerizos al repositorio de Amplication, siempre hago una publicación de agradecimiento. Les doy una camiseta y una hoja de pegatinas que aprecian mucho. Y esto nos ayuda a traer más y más contribuyentes a nuestro proyecto. Así que en un año, puedes ver de cero a más de 200 y si cuento todos los repositorios, son más de 350 contribuyentes en este momento en Amplication, lo cual es muy grande. Así que esto funciona. Sí. Si quieres contribuir al mundo del open-source por primera vez, te invito a unirte a nuestra community de discordia y si te gustó mi charla y si quieres darle una oportunidad a Amplication, puedes darnos una estrella en GitHub, puedes ver todo el código basado en VR y puedes contribuir a nuestro repositorio. Eres más que bienvenido. Y eso es todo. Muchas gracias. Te veré a todos en el canal de discordia y diré hola allí.
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.
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.
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.
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.
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.
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.
¿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.
¿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
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.
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.
Comments