Effective One-on-Ones for Engineering Managers
How to run one-on-ones that build trust and accelerate growth: question frameworks, career conversations, hard feedback and tracking action items.

The one-on-one is the most important meeting on an engineering manager's calendar. Not standups, not sprint planning, not architecture reviews. One-on-ones are where trust is built, problems surface early, career growth happens, and people decide whether to stay or leave. A 30-minute weekly conversation has more impact on retention than any perk or policy.
Most one-on-ones are wasted. They become status updates disguised as conversations. "What are you working on?" "The feature is on track." "Great, see you next week." This tells you nothing about whether the person is struggling, bored, growing, or planning to leave.
An effective one-on-one is their meeting, not yours. Status updates belong in standups. One-on-ones are for the things that do not surface in group settings.
The Question Framework
Good questions open conversations. Bad questions close them. "Is everything going well?" gets you a yes. "What's the hardest part of what you're working on right now?" gets you a real answer.
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",
},
];Structuring the Meeting
A loose structure prevents the meeting from being purely reactive while leaving enough room for organic conversation.
# 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// ❌ 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",
},
];Delivering Difficult Feedback
Feedback in one-on-ones should be specific, timely, and focused on behavior — not personality. The SBI framework (Situation, Behavior, Impact) removes ambiguity.
// ❌ 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",
},
];// 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",
};Career Development Conversations
Career conversations should happen monthly, not annually. They help you understand what motivates people and align their growth with team needs.
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",
},
];Tracking Across Sessions
Without notes, one-on-ones become isolated conversations with no continuity. Simple tracking makes follow-through automatic.
# 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)// 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)Key Takeaways
- One-on-ones are their meeting, not yours — status updates belong in standups; one-on-ones surface problems, build trust, and accelerate growth
- Ask specific, open-ended questions — "what's on your mind?" opens doors; "is everything going well?" closes them; tolerate silence while they think
- Use SBI for difficult feedback — Situation, Behavior, Impact removes ambiguity and focuses on observable actions, not personality judgments
- Career conversations should happen monthly — understand their aspirations, identify skill gaps, and create specific development opportunities; do not wait for annual reviews
- Track action items and follow through — write down commitments, review them at the start of the next session; nothing destroys trust faster than a manager who forgets their promises


