Ser junior no depende de los años

Ser junior no depende de los años

Tiempo estimado de lectura: 15 min

  • La seniority no depende de los años, sino de la capacidad y decisión.
  • Los juniors suelen tener limitaciones en la toma de decisiones mientras que los seniors optimizan por el sistema.
  • Las señales técnicas pueden ayudar a identificar realmente cada nivel de seniority.
  • Evitar confusiones en las entrevistas es crucial para una correcta evaluación.
  • Construir un sistema que promueva el crecimiento de la seniority es esencial para los líderes.

Introducción

Ser junior no depende de los años. Depende de tu criterio, tu autonomía y tu impacto real en un sistema. La industria ha convertido “junior / mid / senior” en etiquetas de mercado (años de experiencia, “stack”, salario), pero cuando estás construyendo producto o liderando un equipo, esa clasificación se vuelve peligrosa: contratas mal, promocionas tarde o pronto, y diseñas procesos que castigan a quien mejor piensa.

Este artículo pone orden: qué significa ser junior en términos técnicos, cómo distinguir “años” de “capacidad”, qué señales observar en código y en colaboración, y cómo construir una matriz de seniority que no sea humo.

Ser junior no depende de los años: depende del tipo de decisiones que puedes tomar

La diferencia real entre junior y senior rara vez está en “saber más APIs”. Está en la calidad y el alcance de las decisiones que puedes tomar sin romper el sistema, sin bloquear a otros y sin aumentar el coste futuro.

Una forma útil de verlo:

  • Junior: ejecuta tareas con ayuda. Necesita validación frecuente. Su “zona segura” está en lo local (un componente, una función, un endpoint).
  • Mid: resuelve problemas con autonomía en un área. Empieza a anticipar impacto. Puede proponer soluciones viables con trade-offs razonables.
  • Senior: toma decisiones que afectan a varios módulos/equipos. Optimiza por mantenibilidad, operabilidad y velocidad sostenible. Reduce incertidumbre.
  • Staff/Principal: cambia el sistema de forma estructural: arquitectura, estándares, herramientas, roadmap técnico y salud organizativa.

Los años ayudan, claro. Pero no determinan nada por sí solos. Hay gente con 8 años que sigue trabajando como junior (dependencia total, enfoque local, baja reflexión) y gente con 2–3 años que opera como mid sólido porque ha tenido exposición real a producción, incidentes y decisiones con consecuencias.

Por qué “años de experiencia” es un mal proxy (y cuándo sí aporta información)

Años de experiencia tienden a correlacionar con seniority solo cuando se cumplen dos condiciones:

  1. La persona ha estado expuesta a problemas reales: producción, usuarios, errores, escalado, mantenimiento.
  2. Ha tenido espacio para tomar decisiones y equivocarse con feedback (no solo “tickets cerrados”).

Si tu experiencia es repetición (mismo CRUD en 5 empresas) sin responsabilidad sobre impacto, puedes acumular años sin crecer.

Esto se observa mucho en organizaciones con:

  • Capas excesivas de aprobación,
  • Falta de ownership,
  • Cultura de “hacer lo que dice el ticket”,
  • Ausencia de métricas y observabilidad (nadie ve el coste real de las decisiones).

Señales técnicas para identificar seniority (sin sesgos)

1) Manejo del alcance: local vs sistémico

Un perfil junior suele optimizar por “que funcione” en su cambio. Un perfil senior optimiza por:

  • Compatibilidad con el sistema existente,
  • Evitar deuda accidental,
  • Seguridad y observabilidad,
  • Impacto en performance y coste.

Ejemplo:
Junior: añade una query nueva sin índices ni límites claros.
Senior: revisa cardinalidad, límites, índices, timeouts, y añade métricas.

2) Calidad de trade-offs: no existe “la mejor solución”

El seniority se nota cuando alguien puede explicar:

  • Qué opciones consideró,
  • Qué sacrifica cada una,
  • Por qué eligió esa,
  • Qué riesgo acepta y cómo lo mitigará.

No es “arquitectura astronauta”; es pensamiento explícito.

3) Debugging: intuición + método

Junior: prueba cosas hasta que “funciona”.
Senior: reduce el espacio de búsqueda con hipótesis, logs, métricas, reproducción y aislamiento.

En sistemas modernos esto implica saber moverse por:

  • Trazas distribuidas,
  • Métricas,
  • Logs estructurados,
  • Herramientas de profiling,
  • Análisis de latencias y colas.

Documentación útil sobre observabilidad (para equipos que quieren medir impacto, no solo “loggear”): OpenTelemetry.

4) Testing: de “cubrir líneas” a controlar riesgo

Junior: tests como requisito; testea “lo que hace”.
Senior: tests como herramienta de diseño; testea “lo que puede romperse”.

Buenas referencias para aterrizar estrategia:
Test Pyramid (Martin Fowler).

Señales de madurez:

  • Usa tests unitarios donde aportan velocidad,
  • Integra donde hay contratos,
  • Evita mocks frágiles,
  • Añade pruebas de regresión después de un bug real.

5) Cambios reversibles: deployability y rollback

Seniority es entender que todo cambio en producción necesita:

  • Feature flags o mecanismos de rollback,
  • Migraciones seguras,
  • Compatibilidad hacia atrás,
  • Despliegues incrementales.

Esto no depende del lenguaje, depende del criterio.

“Ser junior no depende de los años” en el trabajo diario: ejemplos concretos

Caso A: Refactor en frontend (React/Angular)

  • Junior: refactoriza por estética, rompe contratos implícitos, no mide bundle, no respeta accesibilidad.
  • Senior: refactoriza con objetivo (reducir complejidad, mejorar performance), añade tests de regresión visual si aplica, revisa accesibilidad, mide.

Fuentes útiles:
Web Vitals (Google)
Lighthouse.

Caso B: Integración con un tercero (pagos, CRM, etc.)

  • Junior: integra “happy path”, maneja pocos errores, reintenta sin estrategia.
  • Senior: implementa idempotencia, retries con backoff, timeouts, circuit breaker si aplica, y logging estructurado.

Puntos clave de resiliencia (base conceptual):
Circuit Breaker pattern (Martin Fowler).

Caso C: Automatización / workflows (n8n, colas, agentes)

Aquí el juniorismo aparece cuando:

  • Se automatiza sin contratos,
  • Se omite observabilidad,
  • No se define quién opera el flujo cuando falla,
  • Se crea una “automatización frágil” que nadie entiende.

Un enfoque senior en automatización:

  • Define entradas/salidas (contratos),
  • Versiona el workflow,
  • Instrumenta fallos (alertas),
  • Establece reintentos con límites,
  • Diseña para re-procesamiento seguro.

Documentación de n8n (para patrones reales, no demos):
n8n Documentation.

Si tu equipo está construyendo automatizaciones de negocio o flujos con IA aplicada (clasificación, extracción, routing, agentes) y quieres hacerlo con estándares de producción —observabilidad, reintentos, idempotencia, seguridad— tiene sentido apoyarse en Dominicode Labs. Dominicode Labs es la unidad práctica donde diseñamos y montamos workflows productivos, automatizaciones con n8n y IA aplicada con criterio técnico, para que no se conviertan en “scripts críticos” sin dueño. La idea no es meter IA por meter, sino reducir coste operativo y aumentar fiabilidad.

Cómo evaluar seniority en entrevistas sin caer en “trivia” de preguntas

Las entrevistas tradicionales fallan porque:

  • Evalúan memoria (“¿qué es un closure?”),
  • Premian confianza,
  • No simulan decisiones reales.

Mejor: entrevistas basadas en situaciones y trade-offs.

1) Code review guiado

Dale a la persona un PR real (con fallos razonables):

  • Naming confuso,
  • Ausencia de tests,
  • Edge cases,
  • Performance,
  • Seguridad.

Evalúa:

  • Qué detecta,
  • Cómo prioriza,
  • Cómo comunica.

2) Diseño incremental (no “diseña Netflix”)

Plantea un problema acotado, tipo:

  • “Tenemos un job que procesa eventos. ¿Cómo evitas duplicados?”
  • “¿Cómo versionas un endpoint sin romper clientes?”
  • “¿Qué métricas pondrías para saber si esto va bien?”

Ahí aparece seniority.

3) Postmortem de incidente (real o simulado)

Un senior no solo arregla. Previene y mejora el sistema:

  • Identifica causa raíz,
  • Propone cambios en alertas,
  • Reduce MTTR,
  • Mejora runbooks.

Marco clásico:
Postmortem culture (Google SRE).

Matriz práctica de seniority (para equipos): autonomía, impacto y operabilidad

Una matriz útil evita “años” y se centra en tres ejes:

Eje 1: Autonomía

  • Junior: necesita guía para descomponer tareas.
  • Mid: descompone y ejecuta; pide ayuda en decisiones clave.
  • Senior: define plan, riesgos y validaciones; desbloquea a otros.

Eje 2: Impacto técnico

  • Junior: aporta en una parte del sistema.
  • Mid: mejora un módulo o flujo completo.
  • Senior: mejora varios módulos y reduce deuda/operación.
  • Staff: cambia cómo se construye (plataforma, estándares, arquitectura).

Eje 3: Operabilidad (lo que pasa después del merge)

  • Junior: “ya funciona en mi máquina”.
  • Mid: piensa en despliegue básico y logs.
  • Senior: observabilidad, alertas, runbooks, rollback, costes.

Este último eje es el más ignorado y el que más dinero ahorra.

Errores comunes al clasificar perfiles (y cómo evitarlos)

Error 1: Confundir “velocidad” con seniority

Alguien puede entregar rápido y aun así:

  • Introducir deuda masiva,
  • Romper consistencia,
  • Aumentar carga operativa.

Un senior optimiza por throughput del equipo, no por su velocidad individual.

Error 2: Confundir “sabe hablar” con saber hacer

La gente con buen discurso puede sonar senior sin tener hábitos:

  • Escribir tests útiles,
  • Instrumentar,
  • Documentar,
  • Manejar incidentes,
  • Estimar con margen y riesgos.

Error 3: Penalizar a quien hace buenas preguntas

Preguntar no te hace junior. Preguntar mal sí.
La diferencia:

  • Junior: pregunta para que le digan qué hacer.
  • Senior: pregunta para reducir incertidumbre, alinear objetivos y validar supuestos.

Error 4: No diferenciar seniority técnica de seniority organizativa

Alguien puede ser senior técnicamente pero no estar listo para liderar personas. No mezcles:

  • IC senior (individual contributor) vs
  • engineering manager / lead.

Qué hacer si tienes “años” pero te sientes junior (plan sin humo)

Si tu objetivo es dejar de operar como junior, no es “aprender más frameworks”. Es exponerte a responsabilidades que fuerzan criterio:

  1. Toma ownership de algo en producción
    Un servicio, un flujo, un módulo. Lo que sea, pero con métricas y usuarios.
  2. Aprende a instrumentar
    Logs estructurados, métricas y alertas. Sin eso, tus decisiones no se pueden validar.
  3. Haz postmortems aunque nadie te los pida
    Documenta incidentes pequeños. Propón acciones concretas.
  4. Practica diseño incremental
    Evita “big rewrites”. Aprende a evolucionar sistemas sin parar el negocio.
  5. Mejora tu escritura técnica
    PRs con contexto,
    ADRs (Architecture Decision Records) cuando toca,
    Documentación que aguanta el tiempo.

Referencia sobre ADR:
ADR Reference.

Qué hacer como Tech Lead/CTO: construir un sistema que haga crecer seniority

Si quieres que tu equipo deje de “juniorear”, el sistema tiene que empujar hacia:

  • Ownership real,
  • Feedback rápido,
  • Responsabilidad por operabilidad,
  • Revisiones con intención (no burocracia).

Acciones concretas:

  • Define estándares mínimos de producción: logs, métricas, manejo de errores, timeouts, retries.
  • Establece un “Definition of Done” real: deploy + observabilidad + pruebas mínimas.
  • Haz code reviews enseñando trade-offs: no solo estilo.
  • Rota guardias/soporte (con cuidado): la producción enseña más que cualquier curso.
  • Mide deuda operativa: tickets de soporte, incidentes, tiempo de recuperación.

Cierre: seniority es criterio bajo restricciones, no tiempo en el calendario

Ser junior no depende de los años. Depende de si puedes tomar decisiones correctas bajo restricciones reales: tiempo, incertidumbre, sistemas existentes, producción, colaboración y coste futuro.

Si estás evaluando perfiles, diseñando carrera o intentando crecer: deja de mirar el CV como marcador principal y mira lo único que importa en ingeniería: autonomía + trade-offs + operabilidad + impacto sostenible. Eso es seniority. Lo demás es ruido.

FAQ

¿Qué es seniority en desarrollo?

La seniority se refiere a la capacidad de un desarrollador para tomar decisiones de impacto, su autonomía en el trabajo y la calidad de su colaboración en equipos.

¿Cómo mido mi seniority?

Puedes medir tu seniority evaluando cuánto contribuyes a la toma de decisiones, tu capacidad de resolver problemas complejos y tu habilidad para mejorar la operabilidad del sistema.

¿Qué señales buscar para identificar seniority técnico?

Señales como la calidad de las decisiones, el manejo efectivo del debugging, un enfoque riguroso en las pruebas, y la capacidad para realizar trade-offs son claves para identificar seniority técnico.

¿Cómo evaluar seniority en entrevistas?

Evalúa a los candidatos a través de preguntas situacionales y revisión de código guiada, en lugar de preguntas triviales que no reflejan su capacidad real.

¿Cómo puedo aumentar mi seniority?

El crecimiento de seniority puede lograrse tomando ownership de proyectos, mejorando la instrumentación y practicando el diseño incremental en tus desarrollos.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *