Cómo preparar tu portfolio técnico cuando empiezas a programar

Qué proyectos construir, cómo documentarlos y qué errores evitar antes de que alguien externo vea tu código

Llevas meses aprendiendo a programar y en algún momento te preguntas qué tiene que tener tu código para que alguien externo lo tome en serio. No un recruiter — cualquier persona: un compañero, un profesor, alguien que revise tu GitHub.

Aquí está el problema real: la mayoría aprende a escribir código que funciona, pero no aprende a presentarlo. Y un proyecto que no se entiende desde fuera parece abandonado aunque funcione perfectamente.

Qué hace que un proyecto parezca serio

Dos repos en GitHub con el mismo código. Uno tiene un README de tres líneas. El otro explica qué hace el proyecto, cómo ejecutarlo y qué decisiones técnicas tomaste. Son el mismo código, pero no parecen lo mismo.

Lo que diferencia un portfolio que da confianza de uno que no:

Ninguno de estos puntos requiere saber más tecnología. Requieren dedicar tiempo a documentar lo que ya tienes.

Qué proyectos construir

El error más habitual es acumular proyectos de tutoriales: la calculadora, el todo-list, el clon de Netflix. No hay nada malo en hacerlos para aprender, pero no demuestran que puedes resolver un problema propio.

Un proyecto propio, aunque sea simple, demuestra algo diferente: que eres capaz de identificar un problema, diseñar una solución y llevarla a cabo sin que nadie te diga paso a paso qué hacer.

Tipos de proyectos que tienen más contexto:

  • Algo que usas tú mismo: una app para gestionar tus gastos, un tracker de hábitos, un organizador de recetas
  • Algo con datos reales: conectado a una API pública, con datos que cambian
  • Algo completo: no solo el frontend — con backend aunque sea básico, con base de datos aunque sea SQLite

No necesitas los tres a la vez. Un proyecto propio bien documentado vale más que seis proyectos de tutoriales sin README.

Cómo documentar un proyecto

El README es lo primero que ve cualquiera que llega a tu repositorio. Si no hay README, la impresión es que el proyecto está abandonado o que es un ejercicio privado.

Un README útil tiene estas partes:

Descripción en una frase

Qué hace el proyecto. Sin jerga técnica, sin mencionar las tecnologías todavía. Solo qué problema resuelve o qué hace.

# Gestor de gastos personales
# App web para registrar gastos por categoría y ver en qué
# se va el dinero cada mes.

Captura o demo

Una imagen del proyecto funcionando o un enlace a la versión desplegada. Si no hay ninguna de las dos, nadie sabe cómo se ve sin clonarlo y ejecutarlo ellos mismos — y casi nadie lo va a hacer.

Cómo ejecutarlo

Los comandos exactos para clonar, instalar dependencias y arrancar el proyecto. Incluye la versión de Node, PHP o lo que uses si es relevante. Pruébalo en una carpeta nueva antes de publicarlo.

# Clonar el repositorio
git clone https://github.com/tu-usuario/gastos-personales

# Instalar dependencias
npm install

# Arrancar en local
npm run dev

Decisiones técnicas

Por qué elegiste esas tecnologías. No hace falta que sea largo — dos o tres líneas explicando "usé SQLite porque no necesitaba un servidor de base de datos para este proyecto" dice mucho más que una lista de tecnologías.

Lo que no necesita el README:

  • Una lista de todo lo que aprendiste haciéndolo
  • Disculpas por el código ("sé que podría mejorar...")
  • La historia de por qué empezaste el proyecto

Desplegar los proyectos

Un proyecto que solo funciona en tu máquina no existe para nadie más. Desplegar no tiene que ser complicado ni caro.

Si ya tenemos un post sobre hosting gratuito, está todo explicado ahí: Hosting gratis 2025.

Organizar el código

No hay que seguir una arquitectura perfecta, pero sí hay cosas básicas que marcan la diferencia:

El último punto es importante. Subir el archivo .env con claves reales a GitHub es un error que pasa más de lo que parece y que puede tener consecuencias reales. Si no sabes cómo funciona, tenemos un post específico: Variables de entorno: la regla de oro.

GitHub: el historial importa

Un repositorio con un solo commit de "subir proyecto" no cuenta la historia de cómo lo construiste. Los commits frecuentes con mensajes descriptivos muestran que trabajas de forma ordenada.

No hace falta que los mensajes sean perfectos. Pero "añadir validación del formulario de contacto" es mejor que "cambios" o "fix".

Tampoco hace falta hacer commit de cada línea. Un commit por funcionalidad o por sesión de trabajo es suficiente para que el historial cuente algo.

Lo que sí vale la pena tener en GitHub:

  • Repositorios con README completo en todos los proyectos
  • Historial de commits que muestra progreso real
  • Proyectos desplegados con la URL en la descripción del repositorio
  • Un perfil README que explique en qué estás trabajando

El perfil README es el archivo especial que aparece en tu página de GitHub. Si creas un repositorio con tu mismo nombre de usuario y le añades un README, GitHub lo muestra en tu perfil. Es opcional, pero da una buena primera impresión.