Mentoría y Niveles
La mentoría convierte a los especialistas en Python en multiplicadores de fuerza: los juniors aprenden seguridad asíncrona y arquitectura de pytest; los intermedios se convierten en líderes técnicos. Criterios de nivel claros y emparejamiento deliberado superan la vaga retroalimentación de "sé más senior".
Receta
Tarjeta de receta de referencia rápida, lista para copiar y pegar.
## Plan de 30 días (ruta junior → intermedio)
Semana 1: Observar guardia (on-call) + corregir PR de error tipográfico en documentación
Semana 2: Gestionar un bug con pruebas + revisión de un compañero
Semana 3: Pequeña funcionalidad detrás de un flag + desplegar con un compañero
Semana 4: Presentar aprendizaje en el gremio (15 min)
## Señal de nivel (ingeniero intermedio)
- Entrega funcionalidades con pruebas y observabilidad
- Revisa PRs de otros de forma constructiva
- Depura producción con runbook, mínima escaladaCuándo usar esto:
- Incorporación de nuevos empleados a la flota de Python
- Las discusiones de promoción carecen de evidencia
- Los seniors acaparan tareas críticas
- La velocidad del equipo está bloqueada por un cuello de botella en las revisiones
Ejemplo de Trabajo
"""pairing_exercise.py - refactorización guiada por mentor con pruebas."""
from __future__ import annotations
# ANTES (aprendiz): valor por defecto mutable
def add_item_cart(cart: list | None = None, item: str = "") -> list:
if cart is None:
cart = []
cart.append(item)
return cart
# DESPUÉS (sesión de emparejamiento): tipos explícitos + prueba
def add_item_cart(cart: list[str], item: str) -> list[str]:
return [*cart, item]
def test_add_item_cart_does_not_mutate_input():
original = ["a"]
result = add_item_cart(original, "b")
assert result == ["a", "b"]
assert original == ["a"]Guion del mentor:
- El aprendiz explica el riesgo del bug en el valor por defecto mutable.
- El par escribe primero una prueba que falle.
- El aprendiz abre un PR; el mentor revisa solo con niveles 🟡/🔴.
- El aprendiz despliega en staging con un compañero en puente.
Lo que esto demuestra:
- Ejercicio concreto ligado a una dificultad real de Python
- Las pruebas demuestran el resultado de la mentoría, no solo la asistencia
- Propiedad graduada que termina en un despliegue supervisado
- La señal de nivel escrita define las expectativas de "intermedio"
Profundización
Cómo Funciona
- Sistema de compañeros (Buddy system) - Primeros 90 días; no es lo mismo que el gestor.
- Programación en grupo (Mob programming) - 2-4 ingenieros, un conductor; para migraciones y bugs difíciles.
- Rúbrica de niveles - Alcance, impacto, autonomía, influencia documentados por nivel.
- Planes de crecimiento - 2-3 resultados por trimestre (ej., "gestionar la guardia del módulo de facturación").
- Calibración - Los gestores alinean los niveles entre escuadrones trimestralmente.
Formatos de Mentoría
| Formato | Mejor para |
|---|---|
| Programación en pareja (Pair programming) | Patrones de código nuevos |
| Mentoría asíncrona de PR | Transferencia diaria de habilidades |
| Horas de oficina (Office hours) | Desbloquear a muchos juniors |
| Charlas de gremio (Guild talks) | Difundir profundizaciones (asíncrono, tipado) |
Notas de Python
## Ruta de aprendizaje sugerida (Experto en Python)
1. Fundamentos + pytest
2. Slice vertical de FastAPI o Django
3. Observabilidad + sombra de guardia (on-call)
4. Asistencia a revisiones de diseño
5. Liderar RFC pequeñoTrampas
- Solo asignar tickets - No hay transferencia de habilidades. Solución: Debatir después de cada tarea con "¿qué harías en solitario?".
- Feedback vago de promoción - "No es lo suficientemente senior". Solución: Mapear las brechas a los comportamientos de la rúbrica con ejemplos.
- Mentor como cuello de botella - Todas las revisiones pasan por una persona. Solución: Rotar compañeros; el aprendiz también revisa a otros.
- Saltarse la sombra de guardia - La primera página en solitario es aterradora. Solución: Observar mínimo dos turnos.
- Ignorar el crecimiento no relacionado con el código - La comunicación y las especificaciones importan. Solución: Incluir objetivos de colaboración con el producto.
Alternativas
| Alternativa | Usar cuando | No usar cuando |
|---|---|---|
| Formación externa | Dominio nuevo (ML, seguridad) | Idioms diarios de Python |
| Cursos auto-dirigidos | Refresco básico del lenguaje | Propiedad de producción |
| Programa de aprendizaje (Apprenticeship) | Muchos juniors a la vez | Crisis de entrega urgente |
| Rotación entre escuadrones | Amplitud para la ruta de staff | Crisis de entrega urgente |
Preguntas Frecuentes
¿Con qué frecuencia deben reunirse los mentores?
30 min de 1:1 semanal más emparejamiento ad hoc en tareas difíciles.
¿Junior en guardia (on-call)?
Primero observar (shadow); en solitario con respaldo senior para turnos de bajo riesgo.
¿Cómo documentar los niveles?
Documento de escalera de ingeniería con ejemplos específicos de Python por nivel.
¿Frecuencia de programación en grupo (mob programming)?
Semanal para refactorizaciones difíciles; no por defecto diario (costoso).
¿Mentoría remota?
Emparejamiento con pantalla compartida, charlas de gremio grabadas, mentoría asíncrona de PR.
¿Cuándo alguien es de nivel intermedio?
Entrega consistentemente funcionalidades probadas con guía ligera; ayuda a otros a depurar.
¿Cómo manejar el bajo rendimiento?
Plan claro con el gestor; el mentor apoya las habilidades, el gestor es responsable de los resultados.
¿Asignación de tiempo del mentor?
Objetivo del 10-20% para líderes técnicos; proteger en la planificación del sprint.
¿Mentoría inter-equipos?
Fomentar para patrones de plataforma (observabilidad, empaquetado).
¿Niveles y títulos?
Los títulos siguen el nivel calibrado; la rúbrica es la fuente de verdad.
Relacionado
- Cultura de Revisión de Código - enseñanza diaria
- Delegación y Difusión de Contexto - crecimiento de la propiedad
- Crecimiento Profesional: De Senior a Lead - camino largo
- Incorporación al Equipo - primeros 30 días
- Salud de la Guardia (On-Call Health) - observación sostenible
Versiones de Stack: Esta página fue escrita para Python 3.14.0 (estable 3.14, mantenimiento 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, y uv 0.6+.