1. Onboarding de Nuevos Desarrolladores
Proceso estructurado para incorporar nuevos miembros del equipo de forma rápida y efectiva.
1.1 🎯 Onboarding Efectivo
Qué: Proceso para que nuevo desarrollador sea productivo rápidamente y se sienta parte del equipo.
Por qué: Mal onboarding = 6 meses para ser productivo. Buen onboarding = 2-4 semanas.
Quién: Nuevo dev + buddy/mentor + tech lead.
Cuándo: Desde día 1, primeras 4-6 semanas.
Cuánto: Inversión de 30 horas del equipo, reduce turnover y acelera productividad.
1.2 📅 Timeline Sugerido
1.2.1 Día 1: Setup y Bienvenida
Mañana (9-12h):
- Welcome meeting con equipo
- Setup laptop, accesos (email, Slack, GitHub, JIRA)
- Tour de oficina (si presencial)
- Lunch con equipo
Tarde (18h):
- Leer README principal del proyecto
- Clonar repositorios
- Setup ambiente de desarrollo local
- Primer build exitoso ✅
Objetivo: Sentirse bienvenido + ambiente funcionando.
1.2.2 Semana 1: Contexto y Primeros Pasos
Lunes-Miércoles:
- Onboarding general empresa (HR, benefits, cultura)
- Meeting 1-on-1 con manager
- Leer docs de arquitectura
- Explorar codebase (grep, code reading)
- Shadowing: observar daily standup, planning
Jueves-Viernes:
- Primer ticket: bug fix pequeño o mejora de docs
- Pair programming con buddy
- Primera PR (con mucha ayuda)
- Code review de PRs del equipo (observar)
Objetivo: Entender contexto + primera contribución pequeña.
1.2.3 Semana 2-3: Ramp Up
- Tickets de complejidad creciente
- Pair programming 2-3 veces/semana
- Participar activamente en dailies
- Hacer preguntas (crear cultura de curiosidad)
- Primera feature pequeña end-to-end
Objetivo: Autonomía creciente, confianza.
1.2.4 Semana 4-6: Autonomía
- Features medianas independientes
- Menos pair programming, más async support
- Participar en design discussions
- Onboarding de siguiente nuevo dev (enseñar = aprender)
Objetivo: Contribuidor full, integrado al equipo.
1.3 📚 Onboarding Docs Esenciales
1.3.1 1. GETTING_STARTED.md
Contenido:
Estructura Esperada:
- Prerrequisitos: Versiones exactas de lenguajes, DBs y herramientas (Docker).
- Instalación: Comandos paso a paso para levantar el entorno desde cero.
- Configuración: Explicación de variables de entorno (
.env) y secrets. - Ejecución: Cómo correr la app, tests y linters.
- Troubleshooting: Solución a errores comunes de setup.
- Verificación: Cómo confirmar que todo está funcionando ("It works!").
Ejemplo:
# Getting Started
## Prerequisites
- Node.js 18+
- Docker Desktop
- PostgreSQL 14+
## Setup (5 minutos)
1. Clone repo: `git clone ...`
2. Install deps: `npm install`
3. Copy env: `cp .env.example .env`
4. Start services: `docker-compose up -d`
5. Run migrations: `npm run migrate`
6. Start dev server: `npm run dev`
7. Open http://localhost:3000 (verificar puerto en .env/README)
## Verify Setup
- [ ] App loads sin errores
- [ ] Tests pasan: `npm test`
- [ ] Linter pasa: `npm run lint`
## Troubleshooting
**Error: "Port 3000 already in use"**
- Run: `lsof -ti:3000 | xargs kill -9`
**Need help?** Ask in #engineering-help Slack channel
1.3.2 2. ARCHITECTURE.md
Secciones:
- Overview diagram (C4 Context)
- Tech stack con versiones
- Estructura de carpetas
- Flujo request típico
- Decisiones arquitecturales (ADRs)
- Enlaces a docs detalladas
1.3.3 3. CONTRIBUTING.md
Contenido:
- Branch naming
- Commit messages (Conventional Commits)
- PR template y checklist
- Code review guidelines
- Testing requirements
1.3.4 4. ONBOARDING_TASKS.md
Estructura Esperada:
- Por Tiempo: Dividir tareas por Día 1, Semana 1, Mes 1.
- Accionables: Tareas concretas (leer X, instalar Y, deployar Z).
- Social: Incluir interacciones con el equipo (café, pair programming).
- Checkboxes: Formato interactivo para dar sensación de progreso.
Checklist interactivo (Ejemplo):
## Week 1
- [ ] Setup ambiente local
- [ ] Leer ARCHITECTURE.md
- [ ] Explorar codebase
- [ ] Completar ticket: #123 (docs update)
- [ ] Primera PR merged
- [ ] Conocer al equipo (lunch/coffee)
## Week 2-3
- [ ] Pair programming con 3 personas diferentes
- [ ] Fix bug: #456
- [ ] Implementar feature pequeña: #789
- [ ] Participar en retro
- [ ] Dar feedback sobre onboarding
## Week 4+
- [ ] Feature mediana end-to-end
- [ ] Presentar trabajo en team meeting
- [ ] Revisar PRs de otros
1.4 👥 Buddy System
What: Asignar mentor/buddy al nuevo dev.
Responsabilidades del Buddy:
- Responder preguntas (no juzgar ninguna pregunta)
- Pair programming primeras 2 semanas
- Code review de primeras PRs
- Introducir a equipo, cultura, unwritten rules
- Check-in diario primera semana, 2x/semana después
Perfil ideal:
- Mid-senior level (no junior, no staff)
- Paciente, buen comunicador
- Conoce bien el codebase
- Voluntario (no forzado)
Rotación: Rotar buddies cada 2-3 nuevos devs para evitar burnout.
1.5 🎓 Learning Path
1.5.1 Recursos Internos
| Tipo | Contenido | Cuándo |
|---|---|---|
| Video walkthroughs | Tour de codebase, demos | Semana 1 |
| Tech talks grabados | Decisiones arquitecturales, postmortems | Asíncrono |
| Wiki interno | Runbooks, FAQs, How-tos | Referencia continua |
| Slack channels | #engineering-help, #engineering-random | Desde día 1 |
1.5.2 Primeros Tickets
Características:
- Bien definidos (acceptance criteria claros)
- Scope pequeño (< 1 día)
- No críticos (ok si toma más tiempo)
- Varias opciones para elegir según interés
Ejemplos:
- Actualizar README con screenshots
- Agregar tests a función existente
- Fix typo en error messages
- Mejorar logging de endpoint específico
- Agregar validación faltante
1.6 🔍 Explorar Codebase
Técnicas:
1.6.1 1. Code Reading Sessions
- 30 min diarios leyendo código
- Seguir un flujo completo (HTTP request → DB → response)
- Anotar preguntas
1.6.2 2. Grep/Search Patterns
# Encontrar todos los endpoints
rg "@app.route\|@app.get" --type py
# Encontrar uso de función
rg "sendEmail" --type ts
# Encontrar TODOs
rg "TODO|FIXME"
1.6.3 3. Git Blame/History
# Ver quién escribió línea X
git blame archivo.py
# Ver commits recientes de archivo
git log --oneline archivo.py
# Ver cambios en función específica
git log -L :functionName:archivo.py
1.6.4 4. IDE Features
- "Find all references"
- "Go to definition"
- "Show call hierarchy"
1.7 📊 Metrics de Onboarding
| Métrica | Target | Cómo medir |
|---|---|---|
| Time to first commit | < 3 días | Git history |
| Time to first merged PR | < 1 semana | GitHub/GitLab |
| Time to independence | < 4 semanas | Manager assessment |
| Onboarding satisfaction | > 4/5 | Survey post-onboarding |
| Retention 90 días | > 95% | HR metrics |
1.8 💬 Check-ins Regulares
1.8.1 1-on-1 con Manager
Semana 1:
- ¿Cómo se siente en el equipo?
- ¿Algo no quedó claro?
- ¿Se necesita acceso a algo?
Semana 2:
- ¿Estás bloqueado en algo?
- ¿El buddy está siendo útil?
- ¿Qué podemos mejorar del onboarding?
Semana 4:
- ¿Te sentís integrado al equipo?
- ¿Qué te gustaría aprender next?
- Feedback del onboarding para mejorarlo
1.9 🎉 Celebrar Hitos
| Hito | Celebración |
|---|---|
| Primera PR merged | Shoutout en Slack, emoji reaction 🎉 |
| Primera feature deployed | Demo en team meeting |
| Fin de onboarding (4-6 semanas) | Team lunch, pequeño regalo (swag) |
Cultura: Todos celebran, no solo manager. Hace sentir bienvenido.
1.10 🚫 Anti-patrones
| Anti-patrón | Problema | Solución |
|---|---|---|
| "Figure it out yourself" | Frustración, lentitud | Buddy activo, docs claras |
| Setup toma 3 días | Mal primera impresión | Scripts automáticos, Docker |
| Sin primera tarea clara | No saber qué hacer | Backlog de "good first issues" |
| Overwhelm con info | Parálisis | Progressive disclosure, solo lo necesario |
| Sin feedback | No saber si va bien | Check-ins semanales |
| Buddy ausente | Nuevo dev abandondado | Backup buddy, manager interviene |
1.11 📋 Onboarding Checklist (Manager/TL)
1.11.1 Antes del día 1
- [ ] Laptop y accesos configurados
- [ ] Buddy asignado (y aceptó)
- [ ] Primera tarea preparada
- [ ] Team notificado de llegada
- [ ] Calendario con meetings key
- [ ] Slack channels relevantes identificados
1.11.2 Día 1
- [ ] Welcome message en Slack
- [ ] Intro con equipo completo
- [ ] Tour de oficina/intro a herramientas
- [ ] Setup completado exitosamente
1.11.3 Semana 1
- [ ] 1-on-1 inicial (30 min)
- [ ] Primera PR revisada por buddy
- [ ] Invitado a todos los meetings de equipo
1.11.4 Mes 1
- [ ] Check-in semanal
- [ ] Primera feature merged
- [ ] Participando activamente en discusiones
- [ ] Survey de feedback de onboarding
1.12 📝 Template: Feedback Survey
Enviar después de 4-6 semanas:
Onboarding Feedback
1. En escala 1-5, ¿qué tan preparado te sentiste el día 1?
2. ¿Qué parte del onboarding fue más útil?
3. ¿Qué mejorarías del proceso?
4. ¿Tu buddy fue efectivo? ¿Por qué sí/no?
5. ¿Cuánto tiempo te tomó sentirte productivo?
6. ¿Algo faltó que hubieras necesitado?
7. Comentarios adicionales
Usar feedback para iterar proceso.
1.13 🌟 Onboarding Remoto
Desafíos extra:
- Menos interacciones casuales
- Difícil leer ambiente/cultura
- Setup puede ser más complejo
Soluciones:
| Desafío | Solución |
|---|---|
| Aislamiento | Daily video check-in, coffee chats virtuales |
| Setup | Video call screen-share para troubleshoot |
| Cultura | Enviar care package, virtual team building |
| Comunicación | Sobre-comunicar, usar video no solo texto |
| Onboarding doc | Aún más crítico, debe ser exhaustivo |