Preparándose para el Éxito: Guía de un Ingeniero de Frontend para la Diligencia Técnica

Rate this content
Bookmark
Slides

Imagina ser un caballero preparándose para un torneo de justas, pero tu caballo está más interesado en las pacas de heno de la feria que en tu duelo inminente. Eso es lo que a veces puede sentirse al preparar tu departamento de tecnología para una ronda de inversión o una salida. Esta charla proporciona una mirada en profundidad al papel de un ingeniero de frontend, especialmente trabajando con React, en la preparación de un departamento de tecnología para una ronda de inversión o una salida. A través de una lente única de diligencia técnica, la presentación descubre la importancia de las buenas prácticas, la arquitectura sólida, la documentación eficiente y más.

FAQ

La due diligence tecnológica es un proceso exhaustivo utilizado para evaluar la dirección futura de un producto o de toda una empresa. Implica un análisis profundo de la tecnología, procesos y personas para entender la robustez técnica, la escalabilidad y la sostenibilidad futura de la tecnología que soporta una empresa.

Durante un TechDD, se exploran varias áreas clave como la estructura del equipo técnico, la cultura del equipo, la escalabilidad del producto, la pila tecnológica utilizada, los activos tecnológicos, la gestión del producto, el desarrollo del producto y un análisis competitivo. También se incluye una evaluación legal y de propiedad intelectual.

El resultado de un TechDD es un informe detallado que ofrece insights sobre la salud técnica de una empresa. Este informe identifica fortalezas, debilidades, oportunidades de mejora y riesgos potenciales, a menudo respaldados por visualizaciones gráficas para facilitar la comprensión.

El proceso de due diligence tecnológica suele extenderse durante unas pocas semanas. Este tiempo permite realizar un análisis en profundidad sin interrumpir significativamente las operaciones diarias de la empresa.

Los ingenieros de software pueden prepararse para un TechDD asegurándose de que siguen buenas prácticas de desarrollo, manteniendo la documentación actualizada y asegurando que su código y dependencias estén bien gestionados y actualizados. La preparación incluye también entender y gestionar correctamente las licencias de software y optimizar la automatización y la infraestructura de código.

El uso incorrecto de licencias open-source puede llevar a riesgos legales significativos durante un TechDD. Es importante entender las restricciones de cada licencia y mantener un seguimiento riguroso de sus actualizaciones para evitar complicaciones que puedan afectar las operaciones y el cumplimiento legal de la empresa.

Las 'señales de alerta' en un TechDD son problemas o hallazgos que indican preocupaciones serias con la estrategia tecnológica de una empresa o su implementación. Estas señales se evalúan en función de su gravedad, el esfuerzo necesario para resolverlas y el tiempo estimado para su solución, y pueden influir significativamente en las operaciones tecnológicas y el éxito empresarial.

Armin Ayatollahi
Armin Ayatollahi
32 min
08 Dec, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La diligencia técnica es un examen exhaustivo que puede influir en el futuro de un producto o empresa, e implica analizar la arquitectura técnica, la base de código, la cultura del equipo y más. Los ingenieros de frontend juegan un papel crucial en el puente entre el diseño y la funcionalidad. La automatización, la infraestructura y la documentación son áreas clave en la diligencia técnica. Las mejores prácticas, el código limpio y las conexiones de mercado son importantes para la venta. La diligencia técnica requiere acceso a datos y medidas de seguridad, y las empresas pueden ser reacias a cooperar plenamente.

1. Introducción a la Due Diligencia Tecnológica

Short description:

Antes de sumergirnos en el mundo de la due diligence tecnológica, permíteme compartir un poco sobre quién soy y mi experiencia en ingeniería frontend. Nuestro papel en Tech Miners es guiar y elevar a las empresas a través de la due diligence tecnológica basada en datos. Nos familiarizaremos con los aspectos esenciales de la due diligence tecnológica y proporcionaremos ideas prácticas sobre cómo prepararse para el proceso.

Muy bien. Antes de sumergirnos en el mundo de la due diligence tecnológica, permíteme compartir un poco sobre quién soy y mi experiencia en el ámbito de la ingeniería frontend. Y no te preocupes, planeo mantener las cosas ligeras. Un agradable cambio de ritmo de las charlas más técnicas a las que podrías estar acostumbrado durante el Día de React en Berlín. Así que empecemos. Mi nombre es Armin. A lo largo de los años, he trabajado en varios proyectos, utilizando React extensivamente, y he visto de primera mano cómo las decisiones que tomamos como ingenieros frontend pueden dar forma a la trayectoria de un producto, equipo, o incluso de toda la empresa. Así que pasemos a la imagen más grande aquí. ¿Qué nos impulsa en Tech Miners y cómo sienta las bases para nuestra charla de hoy? En Tech Miners, nuestro papel no es solo evaluar, sino guiar y elevar. Nuestro enfoque único de la due diligence tecnológica es data-driven, profundizando en procesos, personas y tecnología. Hemos ayudado a innumerables empresas a prepararse para hitos significativos, desde rondas de inversión hasta salidas. Pero toda esta charla sobre la due diligence tecnológica podría hacerte preguntarte, ¿qué es realmente? Así que vamos a desmitificar eso. Nuestra presentación de hoy está estructurada en dos segmentos principales. Primero, nos familiarizaremos con los aspectos esenciales de la due diligence tecnológica, qué es y por qué es tan importante en nuestro papel, en nuestro campo. Después de eso, profundizaremos en algunas ideas prácticas sobre cómo podemos prepararnos de manera efectiva

2. Resumen de la Due Diligence Tecnológica

Short description:

Al final de nuestra charla, espero que comprendas mejor la due diligence tecnológica y tengas ideas para mejorar tu trabajo. La due diligence tecnológica es un examen exhaustivo que puede influir en el futuro de un producto o empresa. Es fundamental para los inversores entender la robustez y escalabilidad de la tecnología. El proceso implica analizar la arquitectura técnica, la base de código, la cultura del equipo, la escalabilidad del producto, la pila tecnológica, los activos tecnológicos, la gestión del producto, la hoja de ruta de desarrollo y la sección legal/PI. El resultado es un informe detallado que identifica fortalezas, debilidades, oportunidades y riesgos. Las señales de alerta indican problemas graves que pueden afectar las operaciones tecnológicas de una empresa y el éxito empresarial.

para tal proceso. Así que al final de nuestra charla, espero que no solo comprendas mejor la due diligence tecnológica, sino que también tengas algunas ideas sobre cómo mejorar tu trabajo, ya sea tu equipo o tu producto. Así que antes de empezar, quiero hacerte una pregunta aquí. Levanta la mano si ya estás familiarizado con lo que es la due diligence tecnológica. Bien, ¿cinco, seis quizás? Eso está bastante bien. Para eso estoy aquí. Así que no te preocupes. Lo esperaba. La verdad es que, en el acelerado mundo del desarrollo de software, ya seas parte de una startup ágil, ansiosa por su primera ronda de financiación, o un jugador clave en una empresa tecnológica bien establecida, considerándola una adquisición estratégica, el concepto de due diligence tecnológica es uno que es muy probable que encuentres en algún momento de tu career. Tenemos varias forms de due diligence, pero hoy nuestro foco está en TechDD, que nos involucra directamente como ingenieros de software.

Así que la due diligence tecnológica no es solo una casilla para marcar. Es un examen exhaustivo que puede influir en la dirección futura de un producto o de toda la empresa. Por supuesto, por otro lado, también es bastante crítico para los inversores, los stakeholders y los posibles compradores entender la robustez técnica, la scalability, y la prueba de futuro de la tecnología que sustenta la empresa que realmente les interesa. Un robusto, digamos, TechDD implica varios pasos clave, desde comenzar con una sesión de inicio para definir los alcances y objetivos, hasta el análisis exhaustivo de la architecture técnica y la base de código. El proceso se suele extender durante unas pocas semanas para asegurar un análisis en profundidad sin interrumpir significativamente las operaciones diarias de la empresa. Las áreas que se explorarán durante un TechDD son el equipo técnico, la cultura del equipo, de los cuales estamos aquí, la scalability del producto, la pila tecnológica, por supuesto, qué frameworks están usando, lenguajes, elección de herramientas. Los activos tecnológicos, que es básicamente donde obtenemos acceso a los data, obtenemos la mayor cantidad de data posible que podemos, y procesamos para extraer algunos insights. Gestión del producto, hoja de ruta de desarrollo del producto, quizás también incluso un análisis competitivo. Y por último, la sección legal y de PI, que podría ser bastante crítica para empresas quizás en el sector de la ciberseguridad o del seguro, digamos.

El resultado de un TechDD es un informe detallado que proporciona insights sobre la salud técnica de una empresa. Identifica fortalezas, debilidades, oportunidades de mejora, y riesgos potenciales. Los hallazgos son casi el elemento más importante de cualquier informe de TechDD. En este contexto, un hallazgo se refiere a una pieza de información significativa que se ha descubierto durante el proceso de TechDD. Cada hallazgo es impulsado por data y a menudo está respaldado por ayudas visuales como gráficos para una mejor comprensión. Miran diferentes cosas, como cuán serio es un problema, o si podría resolverse fácilmente. Este enfoque, por supuesto, nos ayuda a clasificar qué problemas son importantes y cuáles no, y a detectar cualquier preocupación importante o señales de alerta. Las señales de alerta en la due diligence tecnológica son esencialmente una combinación de problemas o hallazgos que señalan problemas potencialmente graves con la estrategia tecnológica de una empresa o su implementación. Las señales de alerta no son solo algunas alertas simples. Se evalúan en función de cuán fácilmente se pueden solucionar, la cantidad de esfuerzo y recursos necesarios para abordar el problema, y la duración estimada para resolver el problema. Aunque no es, diría yo, aunque no es relativamente frecuente que cualquier empresa que se someta a un TechDD tenga una señal de alerta, tener una señal de alerta es algo de lo que definitivamente hay que preocuparse, porque podrían afectar significativamente las operaciones tecnológicas de una empresa, y por extensión, su éxito empresarial. Ahora que hemos entendido el concepto de TechDD, te preguntarás, ¿dónde encajo yo, como ingeniero de software, en esta imagen?

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.