Por qué Leetcode está obsoleto y la programación en pareja para las entrevistas es el camino a seguir

Rate this content
Bookmark

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

  • - Los problemas de las pruebas similares a Leetcode

  • - Lo que deberíamos buscar en los candidatos

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

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




FAQ

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

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

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

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

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

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

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

Mo Khazali
Mo Khazali
32 min
09 Mar, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

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

1. Introduction to Hiring and Growth

Short description:

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

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

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

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

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

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

2. Importance of Hiring and Growth

Short description:

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

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

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

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

QnA

Check out more articles and videos

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

Impacto: Creciendo como Ingeniero
React Summit 2022React Summit 2022
27 min
Impacto: Creciendo como Ingeniero
Top Content
Convertirse en un ingeniero web no es fácil, pero hay toneladas de recursos disponibles para ayudarte en tu viaje. ¿Pero a dónde vas desde allí? ¿Qué haces para seguir creciendo y para seguir expandiendo el valor que aportas a tu empresa? En esta charla, examinaremos los diferentes tipos de impacto que puedes tener como ingeniero web. Analizaremos lo que significa asumir proyectos más grandes y complejos, y cómo escalar a ti mismo y hacer crecer la comunidad a tu alrededor. Al impulsar nuestro propio desarrollo, todos podemos aumentar nuestro impacto, y en esta charla, discutiremos cómo hacerlo.
Sobre convertirse en un Tech Lead
TechLead Conference 2023TechLead Conference 2023
25 min
Sobre convertirse en un Tech Lead
Top Content
Ser un Tech Lead suena como mucho trabajo. Y no del tipo de codificación divertida tampoco. ¿Por qué querrías eso? ¿Cómo se siente cuando lo consigues?En esta charla, Swizec explica por qué dio el paso hacia el liderazgo técnico, cómo cambiaron sus prioridades y por qué significa que está haciendo más ingeniería que nunca. Un mundo completamente nuevo donde escribir código es la parte fácil.
Emma Bostian: I landed my dream job by sharing my blogs on Twitter
10 min
Emma Bostian: I landed my dream job by sharing my blogs on Twitter
Top Content
Featured Article
Emma Bostian
Emma Bostian
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
Kent C. Dodds: Consume, build, and teach — and level up your career
14 min
Kent C. Dodds: Consume, build, and teach — and level up your career
Top Content
Featured Article
Kent C. Dodds
Kent C. Dodds
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
Comunicación Efectiva para Ingenieros
TechLead Conference 2023TechLead Conference 2023
36 min
Comunicación Efectiva para Ingenieros
Top Content
Tus habilidades de comunicación afectan tus perspectivas de carrera, el valor que aportas a tu empresa y la probabilidad de tu promoción. Esta sesión te ayuda a comunicarte mejor en una variedad de situaciones profesionales, incluyendo reuniones, mensajes de correo electrónico, propuestas y presentaciones.
Charlie Gerard's Career Advice: Be intentional about how you spend your time and effort
6 min
Charlie Gerard's Career Advice: Be intentional about how you spend your time and effort
Featured Article
Charlie Gerard
Jan Tomes
2 authors
When it comes to career, Charlie has one trick: to focus. But that doesn’t mean that you shouldn’t try different things — currently a senior front-end developer at Netlify, she is also a sought-after speaker, mentor, and a machine learning trailblazer of the JavaScript universe. "Experiment with things, but build expertise in a specific area," she advises.

What led you to software engineering?My background is in digital marketing, so I started my career as a project manager in advertising agencies. After a couple of years of doing that, I realized that I wasn't learning and growing as much as I wanted to. I was interested in learning more about building websites, so I quit my job and signed up for an intensive coding boot camp called General Assembly. I absolutely loved it and started my career in tech from there.
 What is the most impactful thing you ever did to boost your career?I think it might be public speaking. Going on stage to share knowledge about things I learned while building my side projects gave me the opportunity to meet a lot of people in the industry, learn a ton from watching other people's talks and, for lack of better words, build a personal brand.
 What would be your three tips for engineers to level up their career?Practice your communication skills. I can't stress enough how important it is to be able to explain things in a way anyone can understand, but also communicate in a way that's inclusive and creates an environment where team members feel safe and welcome to contribute ideas, ask questions, and give feedback. In addition, build some expertise in a specific area. I'm a huge fan of learning and experimenting with lots of technologies but as you grow in your career, there comes a time where you need to pick an area to focus on to build more profound knowledge. This could be in a specific language like JavaScript or Python or in a practice like accessibility or web performance. It doesn't mean you shouldn't keep in touch with anything else that's going on in the industry, but it means that you focus on an area you want to have more expertise in. If you could be the "go-to" person for something, what would you want it to be? 
 And lastly, be intentional about how you spend your time and effort. Saying yes to everything isn't always helpful if it doesn't serve your goals. No matter the job, there are always projects and tasks that will help you reach your goals and some that won't. If you can, try to focus on the tasks that will grow the skills you want to grow or help you get the next job you'd like to have.
 What are you working on right now?Recently I've taken a pretty big break from side projects, but the next one I'd like to work on is a prototype of a tool that would allow hands-free coding using gaze detection. 
 Do you have some rituals that keep you focused and goal-oriented?Usually, when I come up with a side project idea I'm really excited about, that excitement is enough to keep me motivated. That's why I tend to avoid spending time on things I'm not genuinely interested in. Otherwise, breaking down projects into smaller chunks allows me to fit them better in my schedule. I make sure to take enough breaks, so I maintain a certain level of energy and motivation to finish what I have in mind.
 You wrote a book called Practical Machine Learning in JavaScript. What got you so excited about the connection between JavaScript and ML?The release of TensorFlow.js opened up the world of ML to frontend devs, and this is what really got me excited. I had machine learning on my list of things I wanted to learn for a few years, but I didn't start looking into it before because I knew I'd have to learn another language as well, like Python, for example. As soon as I realized it was now available in JS, that removed a big barrier and made it a lot more approachable. Considering that you can use JavaScript to build lots of different applications, including augmented reality, virtual reality, and IoT, and combine them with machine learning as well as some fun web APIs felt super exciting to me.


Where do you see the fields going together in the future, near or far? I'd love to see more AI-powered web applications in the future, especially as machine learning models get smaller and more performant. However, it seems like the adoption of ML in JS is still rather low. Considering the amount of content we post online, there could be great opportunities to build tools that assist you in writing blog posts or that can automatically edit podcasts and videos. There are lots of tasks we do that feel cumbersome that could be made a bit easier with the help of machine learning.
 You are a frequent conference speaker. You have your own blog and even a newsletter. What made you start with content creation?I realized that I love learning new things because I love teaching. I think that if I kept what I know to myself, it would be pretty boring. If I'm excited about something, I want to share the knowledge I gained, and I'd like other people to feel the same excitement I feel. That's definitely what motivated me to start creating content.
 How has content affected your career?I don't track any metrics on my blog or likes and follows on Twitter, so I don't know what created different opportunities. Creating content to share something you built improves the chances of people stumbling upon it and learning more about you and what you like to do, but this is not something that's guaranteed. I think over time, I accumulated enough projects, blog posts, and conference talks that some conferences now invite me, so I don't always apply anymore. I sometimes get invited on podcasts and asked if I want to create video content and things like that. Having a backlog of content helps people better understand who you are and quickly decide if you're the right person for an opportunity.What pieces of your work are you most proud of?It is probably that I've managed to develop a mindset where I set myself hard challenges on my side project, and I'm not scared to fail and push the boundaries of what I think is possible. I don't prefer a particular project, it's more around the creative thinking I've developed over the years that I believe has become a big strength of mine.***Follow Charlie on Twitter

Workshops on related topic

Cómo Diseñar una Carrera de Freelance/Contratación Sostenible + Desafío de Codificación Rápida
React Summit 2022React Summit 2022
75 min
Cómo Diseñar una Carrera de Freelance/Contratación Sostenible + Desafío de Codificación Rápida
WorkshopFree
Shane Ketterman
Shane Ketterman
¿Listo para comenzar tu carrera como freelance o recién estás comenzando en tu viaje freelance? Estás en el lugar correcto. Aprende de la fuerza laboral totalmente distribuida más grande del mundo.
El movimiento de talento independiente es el futuro del trabajo. Si estás considerando dejar el empleo a tiempo completo para una carrera como freelancer, ahora es el momento de encontrar tu espacio exitoso en la fuerza laboral de talento independiente. Más personas están trabajando como freelance hoy que nunca antes, y el mercado freelance ahora contribuye con $1.2 billones a la economía de los Estados Unidos. Algunos de los roles más demandados para freelancers en este momento son desarrolladores senior con experiencia profesional en React, Python, Blockchain, QA y Node.js.
Este masterclass te ayudará a diseñar una carrera de freelance/contratación sostenible y rentable a tiempo completo (o parcial). Te proporcionaremos herramientas, consejos, mejores prácticas y te ayudaremos a evitar errores comunes.
Al final del masterclass habrá una sesión de preguntas y respuestas con un Desarrollador Freelance que puede responder tus preguntas y brindar información y consejos sobre su propio éxito.
¡Durante el descanso del masterclass, realizaremos un desafío de codificación rápida! Al final del masterclass, otorgaremos un premio al ganador y mostraremos la tabla de clasificación.
Te haremos iniciar sesión en nuestro portal y completar el desafío lo más rápido posible para ganar puntos. Los puntos se asignan en función de la dificultad y la velocidad con la que resuelvas las tareas. En caso de que completes todas las tareas, obtendrás puntos extra por el tiempo restante. Verás tu puntaje, clasificación y la tabla de clasificación una vez que completes el desafío.
Estaremos regalando tres Tarjetas de Regalo de Amazon ($200, $100, $75) para los tres primeros ganadores.
Diseñando una Carrera de Freelance Sostenible
React Advanced Conference 2021React Advanced Conference 2021
145 min
Diseñando una Carrera de Freelance Sostenible
WorkshopFree
Alexander Weekes
Rodrigo Donini
2 authors
¿Te gustaría perseguir tus pasiones y tener más control sobre tu carrera? ¿Te gustaría tener flexibilidad de horario y ubicación y variedad de proyectos? ¿Te gustaría tener la estabilidad de trabajar a tiempo completo y recibir un pago constante? Miles de empresas han adoptado el trabajo remoto y se dan cuenta de que tienen acceso a un grupo de talentos global. Esto es ventajoso para cualquier persona que haya considerado o esté considerando trabajar como freelance.>> Envía tu interés en convertirte en un ingeniero freelance con Toptal y recibir una llamada de un especialista en adquisición de talento <<

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

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

Módulo 1: Desmitificando los mitos comunes sobre el trabajo freelance
Módulo 2: ¿Cómo se ve el trabajo freelance en 2021 y más allá?
Módulo 3: Elecciones freelance y qué buscar (y qué evitar)
Módulo 4: Beneficios del trabajo freelance desde la perspectiva de un freelancer + estudio de caso
DESCANSO
Módulo 6: Cómo comenzar a trabajar como freelance (experiencia, currículum, preparación)
Módulo 7: Caminos comunes hacia el trabajo freelance a tiempo completo
Módulo 8: Aspectos esenciales: establecer tu tarifa y conseguir trabajo
Módulo 9: Próximos pasos: establecer contactos con colegas, mejorar tus habilidades, cambiar el mundo
Módulo 10: Preguntas y respuestas con freelancers
Aterrizando tu Próximo Trabajo de Desarrollador
React Summit Remote Edition 2021React Summit Remote Edition 2021
121 min
Aterrizando tu Próximo Trabajo de Desarrollador
WorkshopFree
Sadek Drobi
Nouha Chhih
Francois Bohyn
3 authors
Renaud Bressant (Jefe de Producto), Nathanael Lamellière (Jefe de Éxito del Cliente e Ingeniero de Soluciones), Nouha Chhih (Gerente de Experiencia del Desarrollador) estarán analizando los diferentes trabajos de desarrollador que puedes encontrar al buscar tu próximo rol de desarrollador. Explicaremos los detalles de cada rol para ayudarte a identificar cuál podría ser tu próximo movimiento. También compartiremos consejos para ayudarte a navegar por el proceso de contratación, basados en los diferentes roles para los que hemos entrevistado como reclutadores, pero también como candidatos. Esta será más bien una sesión de Pregúntanos lo que quieras, así que no dudes en compartir tus pensamientos y preguntas durante la sesión.