Portfolio Projects for Software Engineer
Tienes tres certificados, un par de tutoriales terminados y cero respuestas a tus postulaciones. El problema no es tu esfuerzo. El problema es que un certificado dice que estudiaste, y un proyecto bien hecho demuestra que sabes construir.
Los reclutadores técnicos y los ingenieros que revisan candidatos miran primero el repositorio. No por curiosidad: buscan señales de que puedes tomar un problema difuso y convertirlo en algo que funcione. Un certificado no les da esa señal.
Por qué un proyecto pesa más que un certificado#
Un certificado es igual para todos los que lo obtienen. No muestra decisiones, ni límites, ni qué hiciste cuando algo se rompió. Un proyecto tuyo, en cambio, deja rastro de tu criterio.
Cuando un reviewer abre tu repo, hace preguntas concretas. ¿Este código está organizado o es un solo archivo gigante? ¿Hay tests? ¿El README explica qué resuelve la aplicación o solo cómo instalarla? ¿Las decisiones técnicas tienen una razón o se eligieron al azar?
Tres proyectos con profundidad rinden más que doce clones de tutoriales. La profundidad se nota en los detalles: manejo de errores, límites claros, documentación honesta sobre lo que falta.
Recibe la próxima guía por email
Guías nuevas y empleos recientes en un email corto. Gratis.
Los tres proyectos que abren puertas#
No necesitas inventar algo revolucionario. Necesitas proyectos que simulen trabajo real, con restricciones, usuarios y fallos.
1. Una herramienta interna para un problema real
Elige un problema que alguien tenga de verdad. Un sistema para gestionar el inventario de una tienda pequeña. Una app para agendar turnos en una barbería. Un tablero para que un equipo de soporte siga tickets.
Este proyecto demuestra que entiendes el ciclo completo: base de datos, API, interfaz, autenticación, despliegue. La clave es que resuelva algo concreto para alguien concreto. Si puedes mostrarle la herramienta a un usuario real y recoger sus comentarios, mejor aún.
2. Un clon con restricciones, no un clon de tutorial
Clonar una app conocida funciona si le pones límites propios. En vez de copiar Twitter línea por línea, construye un feed con paginación por cursor, caché en Redis y una búsqueda que aguante miles de registros. Después mide el rendimiento y explica los resultados.
Lo que el reviewer busca aquí es profundidad técnica. Optimizaciones, índices de base de datos, manejo de concurrencia, pruebas de carga. Un clon con restricciones explícitas muestra que sabes negociar entre velocidad, costo y complejidad.
3. Una librería o herramienta open source que alguien pueda usar
Escribe un paquete pequeño que resuelva una molestia concreta. Un parser para un formato de datos. Un cliente ligero para una API. Una CLI que automatice algo que haces a mano cada semana.
Este tipo de proyecto demuestra otra habilidad: pensar en otras personas usando tu código. Documentación de la API, ejemplos, manejo de versiones, tests en CI. Si alguien lo instala con un comando y funciona sin leer tu mente, lo hiciste bien.
Qué miran los reviewers de verdad#
Después de hablar con muchos procesos de selección técnica, el patrón se repite. Los revisores buscan lo mismo, sin importar el stack.
- El README explica el problema antes que la tecnología.
- Hay instrucciones de instalación que funcionan sin adivinar pasos.
- El código tiene estructura: carpetas, módulos, responsabilidades separadas.
- Existen tests, aunque sean pocos, para la lógica importante.
- Los commits cuentan una historia, no son cien cambios con el mensaje "update".
- Hay manejo de errores y validación de entradas.
- El proyecto tiene un límite claro: qué hace y qué no hace.
- La documentación admite lo que falta por hacer.
Un detalle que casi nadie cuida: los datos de ejemplo. Si tu proyecto necesita datos para probarse y no incluyes un seed o un dataset pequeño, el reviewer no puede ejecutarlo. Y si no lo ejecuta, no lo valora.
Cómo presentar los proyectos en tu CV#
En el CV, cada proyecto necesita el mismo formato que un trabajo: contexto, acción, resultado. Sin resultado, es solo una lista de tecnologías.
Así no:
- Desarrollé una app de tareas con React, Node y PostgreSQL.
Así sí:
- App de gestión de tareas para equipos de hasta 10 personas: API REST en Node con PostgreSQL, autenticación por JWT y tests con Jest. Reduje el tiempo de creación de tareas a menos de 200 ms y documenté la API para uso interno.
La diferencia está en el alcance y el resultado. La primera versión solo dice qué usaste. La segunda dice qué construiste, para quién y con qué rendimiento.
Si quieres comprobar que tu CV pasa los filtros automáticos antes de enviarlo, usa el comprobador de CV compatible con ATS. Y si una oferta de empleo te deja confundido sobre lo que piden, el decodificador de ofertas de trabajo te ayuda a leer entre líneas.
Cómo organizar el repositorio en GitHub#
Tu perfil de GitHub es tu vidriera. Un pin fijado con buen README vale más que veinte repos de ejercicios sueltos.
- Fija los tres proyectos principales en tu perfil.
- Escribe un README con secciones claras: problema, solución, decisiones técnicas, cómo ejecutarlo, qué falta.
- Incluye capturas o un GIF si el proyecto tiene interfaz.
- Añade un archivo LICENSE si quieres que otros lo usen.
- Limpia los repositorios viejos o márcalos como archivados.
- Usa etiquetas y una descripción corta en cada repo.
Un buen README de proyecto tiene, en este orden: qué problema resuelve, cómo se ejecuta en local en tres comandos o menos, una lista de decisiones técnicas con su motivo, y una sección honesta de mejoras pendientes. Esa última sección demuestra que sabes lo que no hiciste, y eso genera confianza.
Errores que hacen que un proyecto parezca un tutorial#
Hay patrones que delatan un proyecto copiado. Conviene revisarlos antes de mostrar tu trabajo.
- El README es solo la lista de tecnologías usadas.
- Todo el código vive en dos o tres archivos sin estructura.
- No hay manejo de errores ni validación de datos.
- Los commits dicen "fix", "update" y "changes" sin contexto.
- El proyecto se detiene en la parte fácil y no llega al despliegue.
- No hay forma de probarlo sin leer el código.
- Las variables y funciones tienen nombres genéricos del tutorial original.
Un proyecto que parece tutorial no pierde puntos por ser simple. Pierde puntos por no mostrar decisiones. Un CRUD básico con buen manejo de errores, tests y documentación gana contra una red social a medio terminar.
Cómo hablar de los proyectos en la entrevista#
Cuando te pregunten por un proyecto, no recites la lista de tecnologías. Cuenta una historia con problema, decisión y resultado. El entrevistador quiere saber cómo piensas, no cuántos frameworks conoces.
Así suena una respuesta floja:
"Usé React y Node porque son populares, y conecté la base de datos con un ORM."
Así suena una respuesta que suma:
"El equipo de soporte perdía tickets porque nadie sabía quién los tenía asignados. Diseñé un sistema de asignación con estados explícitos y notificaciones por correo. Al principio usaba consultas N+1 sin darme cuenta, y al medir con más de 5.000 tickets la app se volvía lenta. Añadí índices y cargué las asignaciones en una sola consulta, y el tiempo de carga bajó de 4 segundos a menos de 300 ms."
Esa respuesta muestra tres cosas: entiendes el negocio, mediste, y corregiste con criterio. Prepara dos o tres historias así para cada proyecto, incluyendo algo que salió mal.
Un ejercicio útil antes de la entrevista: escribe las tres decisiones más difíciles de cada proyecto y por qué elegiste esa opción sobre la alternativa. Si no puedes nombrar una alternativa descartada, probablemente no elegiste nada, solo seguiste el camino que viste en algún tutorial.
Cuánto tiempo dedicar y en qué orden#
Si estás empezando, tres proyectos en tres meses es un ritmo razonable. Un mes por proyecto, con la última semana reservada para pulir el README y grabar una demo corta. No lances los tres a la vez: termina uno antes de empezar el siguiente.
El orden importa. Empieza por la herramienta interna, porque te da material para hablar en entrevistas con contexto de usuario. Sigue con el clon con restricciones, que demuestra profundidad técnica. Cierra con la librería, que enseña a pensar en otras personas.
Cuando los tengas listos, busca vacantes que encajen con tu perfil en el buscador de empleos técnicos. Y si quieres seguir aprendiendo sobre cómo presentar tu trabajo, en el blog de jobrise hay más guías sobre CV y entrevistas.
Herramientas gratis#
- jobrise.io/es/free-ats-checker/
- jobrise.io/es/free-jd-decoder/
- jobrise.io/es/jobs/
- jobrise.io/es/blog/
Preguntas frecuentes#
¿Cuántos proyectos necesito en mi portafolio?
Tres bien hechos bastan para la mayoría de procesos junior y de nivel medio. Prefiero tres repos con README, tests y despliegue antes que diez ejercicios sueltos sin documentación.
¿Sirven los proyectos de cursos online?
Sirven como punto de partida, pero no como producto final. Si hiciste un proyecto en un curso, cambia el problema, añade funcionalidad propia y reescribe el README con tus decisiones, no con las del instructor.
¿Necesito que mis proyectos tengan usuarios reales?
No es obligatorio, pero ayuda mucho. Si puedes mostrar que una persona usó tu herramienta y te dio feedback, esa anécdota vale más que cualquier certificado en una entrevista.
¿Debo poner proyectos personales si ya tengo experiencia laboral?
Sí, sobre todo si tu trabajo actual no deja ver tu código. Los proyectos personales completan lo que tu empleador no puede mostrar por confidencialidad y siguen siendo útiles aunque tengas varios años de experiencia.
¿Qué hago si mi proyecto quedó a medias?
Termina una parte pequeña y déjala funcionando, aunque el alcance sea mínimo. Un proyecto corto que funciona y está documentado gana siempre contra uno ambicioso que no arranca.
Envíaselo a quien tenga la entrevista esta semana.