Saltar al contenido

One-on-ones efectivos para engineering managers

Cómo llevar reuniones individuales que generen confianza y aceleren el crecimiento: preguntas, carrera, feedback difícil y seguimiento de acciones.

6 min de lectura
Dos personas en un ambiente de reunión relajado teniendo una conversación enfocada con notas y una laptop

La reunión uno a uno es la reunión más importante en el calendario de un engineering manager. Ni los standups, ni la planificación de sprints, ni las revisiones de arquitectura. Las reuniones uno a uno son donde se construye la confianza, los problemas salen a la superficie temprano, ocurre el crecimiento profesional y la gente decide si se queda o se va. Una conversación semanal de 30 minutos tiene más impacto en la retención que cualquier beneficio o política.

La mayoría de las reuniones uno a uno se desperdician. Se convierten en actualizaciones de estado disfrazadas de conversación. "¿En qué estás trabajando?" "La feature va bien." "Genial, nos vemos la próxima semana." Eso no te dice nada sobre si la persona está pasándola mal, está aburrida, está creciendo o planea irse.

Una reunión uno a uno efectiva es su reunión, no la tuya. Las actualizaciones de estado van en los standups. Las reuniones uno a uno son para las cosas que no salen a la luz en entornos grupales.

El marco de preguntas

Las buenas preguntas abren conversaciones. Las malas las cierran. "¿Todo va bien?" te da un sí. "¿Cuál es la parte más difícil de lo que estás trabajando ahora?" te da una respuesta real.

tstypescript
interface OneOnOneQuestion {
  category: string;
  questions: string[];
  when: string;
}
 
const questionFramework: OneOnOneQuestion[] = [
  {
    category: "Opening — set the tone",
    questions: [
      "What's on your mind this week?",
      "Is there anything you'd like to talk about that's not on the agenda?",
      "How are you feeling about your work right now?",
    ],
    when: "Start of every 1:1 — let them set the agenda first",
  },
  {
    category: "Work and blockers",
    questions: [
      "What's the hardest thing you're dealing with right now?",
      "Is there anything slowing you down that I can help remove?",
      "What decision are you stuck on?",
      "What would you do differently if you had more time?",
    ],
    when: "When you sense frustration or slow progress",
  },
  {
    category: "Team and relationships",
    questions: [
      "How is the collaboration with [teammate] going?",
      "Is there anyone on the team you'd like to work with more?",
      "Do you feel like your ideas are heard in team discussions?",
      "Is there a team dynamic that's bothering you?",
    ],
    when: "Monthly, or after team changes / conflicts",
  },
  {
    category: "Growth and career",
    questions: [
      "What skills do you want to develop in the next 6 months?",
      "What kind of work energizes you most?",
      "Where do you see yourself in 2 years?",
      "Is there a project or responsibility you wish you had?",
      "What feedback have you gotten recently that stuck with you?",
    ],
    when: "At least monthly for career conversations",
  },
  {
    category: "Feedback and management",
    questions: [
      "What could I do differently to support you better?",
      "Is there something I'm doing that's not helpful?",
      "Do you feel like you have enough context on why decisions are made?",
      "Is there anything about our team's process that frustrates you?",
    ],
    when: "Quarterly — give them space to critique you",
  },
];

Estructurando la reunión

Una estructura flexible evita que la reunión sea puramente reactiva y deja suficiente espacio para la conversación orgánica.

markdownmarkdown
# 1:1 Template (30 minutes)
 
## Their Agenda (10-15 min)
- What they want to discuss (ask at the start)
- Follow up on items from last session
 
## Your Observations (5-10 min)
- Specific feedback on recent work
- Things you noticed (positive or concerning)
- Context on upcoming changes that affect them
 
## Growth Check-in (5-10 min)
- Progress on development goals
- Opportunities coming up (projects, talks, training)
- Career conversation (at least once per month)
 
## Action Items (2 min)
- What each of you will do before next session
- Write these down and review next time
tstypescript
// ❌ One-on-one anti-patterns
const antiPatterns = [
  {
    pattern: "Status update meeting",
    symptom: "You ask 'what are you working on?' and they list tickets",
    fix: "Get status from standups/tools. Use 1:1 for what's not visible",
  },
  {
    pattern: "Monologue",
    symptom: "You talk for 25 of the 30 minutes",
    fix: "Aim for 70% them, 30% you. Ask questions, then listen",
  },
  {
    pattern: "Skipping / rescheduling constantly",
    symptom: "1:1s are the first meeting to get cancelled when busy",
    fix: "Never cancel. If truly impossible, reschedule same week",
  },
  {
    pattern: "No follow-through",
    symptom: "You commit to actions and forget by next session",
    fix: "Write action items, review them first thing next 1:1",
  },
  {
    pattern: "Surface-level only",
    symptom: "'How's it going?' 'Fine.' Every week.",
    fix: "Ask specific, open-ended questions. Tolerate silence",
  },
  {
    pattern: "Surprise feedback in reviews",
    symptom: "Performance review contains feedback they never heard before",
    fix: "Deliver feedback in 1:1s. Reviews should contain zero surprises",
  },
];

Dar retroalimentación difícil

La retroalimentación en las reuniones uno a uno debe ser específica, oportuna y enfocada en el comportamiento — no en la personalidad. El marco SBI (Situación, Comportamiento, Impacto) elimina la ambigüedad.

tstypescript
// ❌ Vague feedback that doesn't change behavior
const vagueExamples = [
  "You need to communicate better",
  "Your code quality needs improvement",
  "You should be more proactive",
  "You seem disengaged lately",
];
 
// ✅ SBI Framework: Situation → Behavior → Impact
interface SBIFeedback {
  situation: string;
  behavior: string;
  impact: string;
}
 
const specificExamples: SBIFeedback[] = [
  {
    situation: "In yesterday's design review meeting",
    behavior:
      "you interrupted Alex twice while they were explaining " +
      "their approach to the caching layer",
    impact:
      "Alex lost their train of thought and didn't finish presenting " +
      "their idea. The team missed potentially valuable input",
  },
  {
    situation: "On the last three PRs you reviewed",
    behavior:
      "your review comments focused only on style preferences " +
      "(naming, formatting) and didn't address the logic or architecture",
    impact:
      "the PR authors feel the reviews aren't helpful, and two bugs " +
      "in error handling paths made it to production",
  },
  {
    situation: "This sprint",
    behavior:
      "you picked up three additional tasks beyond your sprint " +
      "commitment without flagging that your committed work would slip",
    impact:
      "the team didn't know the auth feature was behind schedule " +
      "until the last day, and we couldn't adjust the release plan",
  },
];
tstypescript
// After delivering feedback, shift to collaborative problem-solving
const feedbackConversation = {
  step1_deliver: "Share the SBI feedback clearly and pause",
  step2_listen: "Ask 'What's your perspective on this?' and listen fully",
  step3_explore: "Understand their context — there may be reasons you don't see",
  step4_agree: "Agree on what 'better' looks like specifically",
  step5_support: "Ask 'What support do you need from me to make this change?'",
  step6_followUp: "Check in on progress in the next 1:1",
};

Conversaciones de desarrollo profesional

Las conversaciones de carrera deberían ocurrir mensualmente, no anualmente. Te ayudan a entender qué motiva a la gente y a alinear su crecimiento con las necesidades del equipo.

tstypescript
interface CareerConversation {
  topic: string;
  questions: string[];
  managerAction: string;
}
 
const careerTopics: CareerConversation[] = [
  {
    topic: "Aspirations",
    questions: [
      "What does your ideal role look like in 2-3 years?",
      "Do you see yourself going deeper technically or moving into management?",
      "What kind of problems do you want to be solving?",
    ],
    managerAction:
      "Map their aspirations to concrete opportunities on the team. " +
      "If their goals don't align with what's available, be honest about it",
  },
  {
    topic: "Skill gaps",
    questions: [
      "What's the biggest gap between where you are and where you want to be?",
      "What skill would have the biggest impact on your effectiveness?",
      "Is there something you avoid because you're not confident in it?",
    ],
    managerAction:
      "Create specific development opportunities: pairing, projects, " +
      "training, stretch assignments. Write them down and track progress",
  },
  {
    topic: "Energy and motivation",
    questions: [
      "What type of work gives you energy?",
      "What type of work drains you?",
      "What's the ratio of energizing to draining work right now?",
    ],
    managerAction:
      "Adjust task allocation to increase energizing work. " +
      "If draining work is necessary, acknowledge it and rotate it fairly",
  },
];

Seguimiento entre sesiones

Sin notas, las reuniones uno a uno se convierten en conversaciones aisladas sin continuidad. Un seguimiento simple hace que el cumplimiento sea automático.

markdownmarkdown
# 1:1 Notes: [Name] — 2022-11-26
 
## Discussion
- Frustrated with the deployment process — takes 45 min to get
  a fix to production. Wants us to invest in faster CI/CD
- Interested in the upcoming observability project
- Wants to improve system design skills
 
## Action Items
- [ ] @me: Talk to infra about CI/CD pipeline optimization
- [ ] @me: Assign them to the observability project starting next sprint
- [ ] @them: Read "Designing Data-Intensive Applications" chapters 1-3
- [ ] @them: Present system design for the cache invalidation RFC
 
## Follow-up from 2022-11-19
- [x] @me: Connected them with Sarah for pairing on Kubernetes ✓
- [x] @them: Completed the load testing spike ✓
- [ ] @me: Still pending — get budget approval for conference (carry forward)
tstypescript
// Simple tracking structure
interface OneOnOneEntry {
  date: string;
  attendee: string;
  topics: string[];
  actionItems: Array<{
    owner: "manager" | "report";
    description: string;
    status: "open" | "done" | "carried";
    dueDate?: string;
  }>;
  careerNotes?: string;
  flaggedConcerns?: string[];
}
 
// Review cadence:
// - Action items: every session (first 2 minutes)
// - Career goals: monthly
// - Performance patterns: quarterly prep for reviews
// - Retention signals: always watching (energy, engagement, complaints)

Conclusiones clave

  1. Las reuniones uno a uno son su reunión, no la tuya — las actualizaciones de estado van en los standups; las reuniones uno a uno sacan a la luz problemas, construyen confianza y aceleran el crecimiento
  2. Haz preguntas específicas y abiertas — "¿qué tienes en mente?" abre puertas; "¿todo va bien?" las cierra; tolera el silencio mientras piensan
  3. Usa SBI para la retroalimentación difícil — Situación, Comportamiento, Impacto elimina la ambigüedad y se enfoca en acciones observables, no en juicios de personalidad
  4. Las conversaciones de carrera deberían ocurrir mensualmente — entiende sus aspiraciones, identifica brechas de habilidades y crea oportunidades de desarrollo específicas; no esperes a las revisiones anuales
  5. Registra los elementos de acción y haz seguimiento — anota los compromisos, revísalos al inicio de la siguiente sesión; nada destruye la confianza más rápido que un manager que olvida sus promesas
Wilfredo Rujel

Wilfredo Rujel

Ingeniero de Software Full Stack

Compartir esta publicaciónX