Tres Factores Que Están Bloqueando las Contribuciones a Tu Proyecto de Código Abierto

Rate this content
Bookmark

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.

14 min
15 Nov, 2023

AI Generated Video Summary

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í.

Check out more articles and videos

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

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

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

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


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


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


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


Apart from that, how has teaching impacted your career? 
Earlier I mentioned that pretty much all of my jobs came because I was perceived as an expert. After the first job, where I was an intern and then converted into full-time, I never applied to another. I worked for four different companies, and they wouldn't have recruited me if they didn't know who I was and what I was doing. My content is how they knew who I was — I just made it easy for them to find me. Teaching made that impact. It made my career. 
We talked about React and Remix. Are there any other open-source projects that you'd recommend keeping an eye on or contributing to?
I have some myself. React Testing Library is probably the biggest one that people are familiar with. And if React isn't your jam, then other framework versions of the testing library. 
React Query is also really popular. If you're using Remix, you don't need it, but if you're not, I strongly advise using React Query cause it's a stellar, fantastic library, and Tanner Linsley, the creator, is a stellar and fantastic person. 
What pieces of your work are you most proud of? 
Probably the biggest thing I've ever done is EpicReact.Dev. It has helped tens of thousands of people get really good at React, improve their careers and make the world a better place with the skills that they develop. My whole mission is to make the world a better place through quality software, and I feel like I've done that best with Epic React. 
There are things that I've built at other companies that are still in use, and I'm proud of those cause they've stood the test of time, at least these last few years. But of everything, I think Epic React has made the biggest impact.
***
Follow Kent on Twitter and listen to his favorite Spotify playlist
TechLead Conference 2023TechLead Conference 2023
36 min
Effective Communication for Engineers
Your communication skills affect your career prospects, the value you bring to your company, and the likelihood of your promotion. This session helps you communicate better in a variety of professional situations, including meetings, email messages, pitches, and presentations.
React Advanced Conference 2022React Advanced Conference 2022
24 min
A Career As Software Engineer
Typically I talk a lot about deeply technical concepts like TypeScript, type systems, (im)mutability, MobX, Immer etc. But this time it's going to be personal and I'll share lessons, good and bad, about growing as an engineer. I've been leading open source projects, short lived projects as a freelancer and I went through the transition of engineer to tech lead twice. Both at a young startup and at Meta. This talk will be about personal experiences, unpopular opinions and even actions, and anything else that might be counterintuitive. Join for some take-aways for anyone aiming at an engineering focused career. Probably I will be wrong about most things, so don’t miss the opportunity to follow up afterwards!

Workshops on related topic

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

Freelancing is no longer an unstable career choice.

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

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