Acelera tu carrera contribuyendo a proyectos open source: Experiencia de un Desarrollador Senior
Marcos Liljedahi, Senior Developer, comparte cómo su participación en proyectos open source y su transición a startups han impulsado su carrera en Silicon Valley.
En este artículo de blog exploraremos:
- Inicios en Open Source: Cómo comenzó, qué lo motivó, y las habilidades que adquirió.
- Transición a Startups: Los desafíos y lecciones aprendidas en su paso a una startup.
- Experiencias en Silicon Valley: Diferencias clave y la dinámica de trabajo acelerada.
- Cultura y Colaboración: Comparación entre la colaboración en open source y en startups.
- Consejos para Aspirantes: Recomendaciones para empezar en open source y construir una red en startups.
Esta charla es perfecta para desarrolladores que buscan acelerar su carrera y explorar nuevas oportunidades en tecnología.
📌 Mira cómo Marcos Liljedahi, Senior Developer, comparte cómo su participación en proyectos Open Source y su transición a startups han impulsado su carrera en Silicon Valley. Si quieres empezar a estudiar, aplica a la Carrera de Desarrollo Web Full Stack
¿Qué son los proyectos Open Source?
Los proyectos Open Source son aquellos cuyos códigos fuente están disponibles públicamente para que cualquiera pueda ver, modificar y distribuir. A diferencia del software propietario, donde solo los creadores originales tienen acceso al código, los proyectos Open Source permiten que la comunidad global de desarrolladores colabore activamente en su mejora y evolución.
Algunos ejemplos populares de software Open Source son sistemas operativos como Linux o navegadores web como Mozilla Firefox.
Los proyectos Open Source son fundamentales para la innovación tecnológica, ya que no solo permiten que los desarrolladores aprendan de otros, sino que también proporcionan soluciones tecnológicas accesibles y de alta calidad que pueden ser adaptadas y mejoradas continuamente.
¿Cómo participar en un proyecto Open Source?
Participar en un proyecto open source es una excelente manera de mejorar tus habilidades como desarrollador y contribuir al crecimiento de la comunidad tecnológica.
Proyectos
Para comenzar, lo primero es encontrar un proyecto que se alinee con tus intereses y nivel de experiencia.
Las plataformas más populares para descubrir proyectos de código abierto son GitHub y GitLab, donde millones de repositorios están disponibles para que cualquier persona colabore.
Además, iniciativas como Open Source Friday o sitios como First Timers Only están diseñados para ayudar a nuevos colaboradores a integrarse en proyectos más accesibles.
Organizaciones como Mozilla, Apache y Linux Foundation también alojan una gran variedad de proyectos que permiten contribuciones.
Documentación
Una vez que encuentres un proyecto que te interese, es crucial familiarizarte con el repositorio y la documentación.
El archivo README.md suele ser el punto de partida, ya que detalla el propósito del proyecto, cómo configurarlo localmente y cómo puedes contribuir.
También es importante revisar el archivo CONTRIBUTING.md donde se especifican las reglas y guías para hacer aportes de manera efectiva.
👉 Una práctica común es buscar issues o tareas marcadas como “good first issue” o “beginner-friendly”, diseñadas para quienes recién se inician en el proyecto.
Dinámica de trabajo
Los proyectos Open Source son gestionados por líderes del proyecto, quienes supervisan el desarrollo, revisan las contribuciones y aseguran que el código mantenga su calidad y alineación con los objetivos del proyecto.
Aunque no recibirás una guía paso a paso, los mantenedores ofrecen retroalimentación sobre los cambios que sugieres y te orientan en el proceso de integración.
El trabajo colaborativo se organiza mediante sistemas de control de versiones como Git, que permiten a varias personas trabajar en paralelo sin sobrescribir el trabajo de otros.
De esta forma, cuando realizas un cambio o mejoras una parte del código, lo haces en una rama separada antes de proponer que tu trabajo sea fusionado con el proyecto principal a través de un pull request.
Ejemplo paso a paso
El flujo de trabajo generalmente sigue los siguientes pasos:
- Seleccionas un issue en el que quieras trabajar.
- Lo comunicas a los mantenedores para evitar duplicación de esfuerzos.
- Creas una rama de trabajo en tu entorno local o un fork del repositorio.
- Una vez que hayas completado los cambios, envías un pull request para que sea revisado.
- Aquí es donde los revisores o mantenedores evaluarán tu código, te brindarán sugerencias o correcciones, y si todo está en orden, aceptarán tu contribución e integrarán tus cambios al proyecto principal.
Este proceso asegura que el código de todos se mantenga organizado y que no se sobreescriba el trabajo de otros colaboradores.
Consejos para empezar en Open Source
Te compartimos tips clave para comenzar en Open Source y acelerar tu carrera en tecnología:
👉 Explora ‘Trending’ en GitHub
GitHub ofrece la sección Trending que muestra los proyectos más populares del momento. Puedes utilizar esta herramienta para generar un reporte semanal o mensual de los proyectos con más estrellas o mayor actividad. Esto te ayudará a identificar proyectos que estén en crecimiento y que podrían ser de tu interés.
Con el tiempo, verás qué tecnologías o enfoques están ganando popularidad y podrás unirte a proyectos que se alineen con tus intereses y objetivos de aprendizaje.
👉 Encuentra proyectos relacionados con tu trabajo o intereses futuros
Si ya tienes un empleo, una estrategia efectiva es buscar proyectos de código abierto relacionados con las tecnologías o áreas en las que trabajas o te gustaría perfeccionarte. Participar en estos proyectos no solo te ayudará a mejorar tus habilidades técnicas, sino que también te permitirá aplicar lo que aprendes directamente en tu trabajo.
Esto te brinda la posibilidad de negociar con tu empleador para dedicar tiempo a contribuir en estos proyectos, ya que el conocimiento que adquieras puede traducirse en un valor adicional para tu empresa.
👉 Busca issues etiquetadas para principiantes
Si estás comenzando en tecnología o no tienes mucha experiencia en proyectos de código abierto, es recomendable empezar por los issues etiquetados para principiantes.
En la mayoría de los repositorios open source, los mantenedores marcan ciertos issues como “good first issue” o “beginner-friendly”, lo que indica que son tareas adecuadas para quienes están dando sus primeros pasos.
Estos problemas suelen estar bien definidos y no requieren un conocimiento profundo del código base, lo que te permitirá familiarizarte con el proyecto y entender cómo compilar y contribuir al código de manera efectiva.
Beneficios de contribuir en proyectos Open Source
Participar en proyectos Open Source puede implicar distintas actividades, como la corrección de bugs, la implementación de nuevas funcionalidades, la mejora de la documentación, o la revisión del código enviado por otros.
Cualquiera que sea la tarea, el impacto de tu trabajo es tangible y te permite mejorar tus habilidades mientras colaboras con una comunidad global.
Contribuir a estos proyectos es una de las formas más efectivas de acelerar tu crecimiento, aumentar tu seniority, demostrar tus habilidades y ganar visibilidad en la industria🚀
✅ Exposición a entornos de desarrollo complejos y reales
En proyectos de código abierto, trabajas con código que, generalmente, es utilizado por miles o millones de personas, lo que te enfrenta a retos de escalabilidad, seguridad y optimización que pueden no surgir en proyectos pequeños o cerrados.
Al resolver problemas complejos en este tipo de proyectos, no solo mejoras tus habilidades técnicas, sino que demuestras tu capacidad para trabajar en situaciones de alta exigencia.
✅ Colaboración con desarrolladores de diferentes niveles de experiencia
Los proyectos Open Source son una verdadera comunidad global, donde tienes la oportunidad de trabajar junto a expertos que ya tienen años de experiencia en la industria.
Al participar, puedes recibir feedback de estos profesionales, lo que acelera tu curva de aprendizaje.
Además, aprenderás a revisar y dar feedback a otros, una habilidad fundamental para roles senior, donde se espera que puedas guiar y mentorizar a equipos más jóvenes.
✅ Expandir tu conocimiento en tecnologías
Los proyectos populares suelen estar en la vanguardia tecnológica, utilizando frameworks, herramientas y metodologías de última generación.
Al participar en estos proyectos, tienes la oportunidad de trabajar con tecnologías que demandan un profundo conocimiento y una aplicación avanzada de patrones de diseño, pruebas unitarias, CI/CD y otras prácticas que son esenciales para un desarrollador senior.
✅ Tener visibilidad
Ser parte de un proyecto open source te proporciona una plataforma visible para demostrar tu capacidad y experiencia.
Tus contribuciones están disponibles públicamente, lo que te permite construir un portafolio de trabajo sólido que puede ser evaluado por empresas y reclutadores.
Tener un historial comprobado de contribuciones a proyectos importantes es una señal clara de que has alcanzado un nivel de seniority que va más allá del trabajo rutinario, mostrando tu compromiso con el aprendizaje continuo y tu capacidad para manejar retos de gran escala.
¿Cómo elegir una librería para trabajar en proyectos Open Source?
Aquí algunos factores clave que te ayudarán a elegir una librería adecuada:
- Mantenimiento activo: Revisa la frecuencia de los commits y las actualizaciones. Un proyecto con una actividad reciente y constante suele indicar que tiene un equipo de mantenedores comprometido. Si ves muchos commits y una participación activa de la comunidad, es una señal de que la librería sigue siendo relevante y está mejorando constantemente. En plataformas como GitHub, puedes ver fácilmente el historial de commits y la actividad reciente del proyecto.
- Respaldo por empresas grandes: Los proyectos Open Source mantenidos por desarrolladores que trabajan en grandes compañías o que tienen respaldo de estas, suelen ser más confiables. Las empresas de renombre invierten recursos en estos proyectos para asegurarse de que sean estables, seguros y sostenibles. Esto también garantiza que las tecnologías utilizadas están alineadas con las mejores prácticas del sector.
- Popularidad en proyectos: Es esencial verificar cuántos proyectos utilizan la librería. Esto no solo te da una idea de su popularidad, sino también de su estabilidad y flexibilidad. Cuantos más proyectos confíen en esa librería, mayores serán las posibilidades de que esté bien documentada y testeada. Además, las librerías populares suelen tener más recursos y una comunidad más activa dispuesta a ayudarte.
Qué más tengo que saber sobre los proyectos Open Source
Contribuir a proyectos open source es una experiencia muy enriquecedora pero, como todo en el mundo tech, tiene sus desafíos.
Feedback
Puede que al principio recibas comentarios o sugerencias de mejora sobre tu código, lo cual es totalmente normal. ¡No te preocupes! Es parte del proceso, y es una de las mejores maneras de crecer. El feedback que recibas te ayudará no solo a mejorar tus habilidades, sino también a entender cómo hacer que tus aportes sean cada vez más valiosos para el proyecto.
A veces, puede parecer que hay muchas correcciones, pero eso solo significa que los equipos valoran lo que haces y quieren ayudarte a mejorar. En lugar de verlo como algo negativo, es importante mantener una actitud abierta, ya que cada comentario te acerca un paso más a ser un mejor desarrollador. Además, estar en un ambiente colaborativo, donde otros revisan tu trabajo y tú puedes aprender de sus ideas, es una oportunidad única de crecimiento.
Tiempo
Otro desafío que a veces se presenta es el tiempo. Los proyectos Open Source suelen tener muchos colaboradores, por lo que las revisiones pueden tardar un poco. ¡Paciencia!
Este contexto enseña a gestionar las expectativas y a seguir adelante sin perder la motivación.
Al final, todo esto forma parte de la experiencia y te prepara para enfrentar de manera positiva cualquier reto que te encuentres en tu carrera.
Comunicación efectiva
También, es importante estar preparado para colaborar con personas de diferentes niveles de experiencia y con estilos de trabajo diversos.
Esto demanda habilidades de comunicación efectiva y colaboración, ya que en un entorno Open Source, los debates y discusiones sobre decisiones técnicas son comunes y necesarias para avanzar.
En resumen, participar en proyectos Open Source es un ejercicio de apertura al feedback y colaboración.
Estos desafíos no solo mejoran tus habilidades técnicas, sino que también te entrenan para ser un profesional más resiliente y adaptable, listo para enfrentar las exigencias del mercado tecnológico.
Aplica a la Carrera de Desarrollo Web Full Stack hoy mismo ¡y empieza tu camino hacia el éxito!🚀