{
    "archive_path": "archive/1761144735.198001",
    "base_url": "justoffbyone.com/posts/how-to-run-11s",
    "basename": "",
    "bookmarked_date": "2025-10-22 14:52",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/justoffbyone.com/posts/how-to-run-11s",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=justoffbyone.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "justoffbyone.com",
    "downloaded_at": "2025-10-22T14:52:17.430476+00:00",
    "downloaded_datestr": "2025-10-22 14:52",
    "extension": "",
    "hash": "1N2F5MWBAW9TQ0AFJV5W",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-10-22T14:53:06.456606+00:00",
                "index_texts": null,
                "output": "https://web.archive.org/web/20251022130724/https://justoffbyone.com/posts/how-to-run-11s/",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:56.134578+00:00",
                "status": "succeeded"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2025-10-22T14:52:34.772078+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:26.760507+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=justoffbyone.com"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-10-22T14:52:21.723433+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:18.133711+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-10-22T14:52:21.918741+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:21.786530+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2025-10-22T14:52:50.282501+00:00",
                "index_texts": [
                    "How to Run 1:1s as an Engineering Manager - Off By One (/favicon-32x32.png) (https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@1,500&display=swap) (https://fonts.googleapis.com/css2?family=Fira+Sans&display=swap) (https://fonts.googleapis.com/css?family=Roboto+Mono) (https://justoffbyone.com/css/main.7a5c05040394322612a2d98397e9932aa81d9d7acc70199463e79f8180c8e0c0.css) (https://justoffbyone.com/css/dark.478e7f2b9cf8d87be42edfd9fe1810beab1331847df94b1b430478b309f28282.css) (https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css) (https://justoffbyone.com/css/first.6d68222c48ebf6643d56da5f5ab1d737c387803e7a2e91317431364ff539d6f3.css)  (https://justoffbyone.com/) Off By One  (/posts) All Posts (/about) About              How to Run 1:1s as an Engineering Manager Posted on Oct 21, 2025  Goals  Setup Scheduling  Tooling    The Intro  People, Product, Process People  Product  Process    Other Notes \u201cThe Career Conversation\u201d  Following Up  Treat it With Respect    Routines are Good    How to Run Engineering 1:1s: A Practical Script Most engineering managers know they\u2019re (https://rework.withgoogle.com/intl/en/guides/managers-research-behind-great-managers) supposed to run 1:1s. Yet, many wing the format. I\u2019ve seen too many 1:1s that meander, skip weeks, or devolve into status updates that could\u2019ve been a Slack message. Here\u2019s what works for me: a simple, repeatable structure that I use every single week. It\u2019s based on the popular People, Product, Process format (which I also use for (/posts/measuring-engineering-productivity) measuring engineering productivity ). I\u2019m going to give you the exact script I use, the Notion setup, and some ideas for how to handle each section. Goals Before we get into the mechanics, let\u2019s talk about what these meetings are actually for. Coaching : You want to always give feedback to people. I use the format of a) what they\u2019re doing that they should keep doing, and b) what they\u2019re doing that they need to stop or change. You don\u2019t want to wait for perf sessions or annual reviews for most of this. Holding regular time : This is important for both accountability and making sure we have time to catch things before they fester into larger issues (more on this later). Most problems don\u2019t just pop up, but they grow quietly. Regular, predictable meetings give you space to catch them early. Alignment : You want to make sure you can steer people in the right direction for their own career growth and also with the company\u2019s goals. Are they working on things that matter? Are they developing the skills they want to build? Are they aligned with where the team is headed? Do they have a place to talk about their goals and see if they match what you can offer? These three goals inform everything else about how I structure my 1:1s. Setup Scheduling Hold these meetings weekly, at the same time, on the same day. Pay special attention to this. Frequency and stability matter more than you think. I want my reports to know I care about their 1:1s. It\u2019s on my calendar, it\u2019s on theirs, and it stays there. I resist the temptation to move 1:1s. They should be treated as one of the highest priority items on your calendar, if not the highest. In almost no circumstances should they be moved or missed. The same goes for reports: if someone wants to reschedule their 1:1, I tell them I\u2019d rather keep it where it is and ask if there\u2019s a specific reason to move them. You don\u2019t need to turn it into an argument; often just mentioning that you want to keep it at the same time is enough. Just be aware that you can only demand the respect you show to others. Tooling I use a shared (https://notion.so) Notion document with each direct report. The format is simple: H2 : The date of the 1:1 (e.g., \u201cOctober 21, 2025\u201d). You can use the @today shortcut in Notion for this. H3 : The three sections: People, Product, Process New entries go at the top (reverse chronological)  (Notion Screenshot of a 1:1 Document)  This format gives you a running history. You can scroll down to see what you discussed last week, check if that thing got resolved, or verify that someone\u2019s actually making progress on what they said they\u2019d work on. It also creates accountability for me: if I said I\u2019d handle something, it\u2019s written down. Another thing this format allows is automated reminders. As you\u2019re wrapping up this week\u2019s 1:1, create the H2 header for next week (again, Notion makes this easy) and drop in any forward-looking notes. For example: \u201cMake sure the travel plans are ready for next week.\u201d Now you both have a reminder, and you can check it off together when you meet. The Intro I always start with some version of \u201cWhat\u2019s life been?\u201d or casual small talk. This varies week to week depending on what\u2019s going on with the person. A home remodel? The Warriors game? Their boyfriend? Don\u2019t make it weird, but be personable. Keep it natural and genuine. This isn\u2019t part of the formal structure, but it sets the tone. Then I transition into the framework. People, Product, Process Section Opening Line What You\u2019re Looking For Red Flags   People \u201cHow are things going with the team?\u201d Team dynamics, collaboration issues, interpersonal relationships Repeatedly mentioning the same person negatively, vague complaints about \u201csome people,\u201d avoiding specific names  Product \u201cWhat have you been working on last week?\u201d High-level work focus, progress on initiatives, blockers Consistently nothing concrete, can\u2019t articulate what they worked on, same blocker week after week  Process \u201cAnything we can do to make you more productive or happier?\u201d Tool needs, process improvements, work-life balance, \u201ccompany stuff\u201d Recurring complaints without follow-through, consistently \u201ceverything\u2019s fine\u201d (might indicate lack of trust)    People My opening line : \u201cHow are things going with the team?\u201d  This is intentionally neutral and open-ended. I want to know about team dynamics, interpersonal stuff, collaboration or communication issues. Anything related to people, really. Sometimes this leads to great conversations about who\u2019s doing well, who they\u2019re learning from, or who might need support. Sometimes there\u2019s nothing, and that\u2019s fine too. I pay special attention to how people talk about their teammates. If someone keeps mentioning the same person\u2014positively or negatively\u2014that\u2019s worth noting. If they use vague language like \u201csome people\u201d or \u201cthe team,\u201d I\u2019ll dig gently to get into the specifics. Sometimes I\u2019ll flip the question: \u201cWho\u2019s been great to work with lately?\u201d or \u201cAnyone you wish you were working with more?\u201d If something needs action\u2014like mediating a conflict or switching up team pairings\u2014I follow up async after the meeting. If I have a reason to believe there\u2019s something specific to discuss, I\u2019ll name names: \u201cHow are things going with John Doe?\u201d Again, the wording is neutral. I\u2019m not implying good or bad. I\u2019m just making it clear that I know there\u2019s something there worth talking about. Often, invoking the name is enough to get the juices flowing. Product My opening line : \u201cWhat have you been working on last week?\u201d  First time managers obsess over task management. Don\u2019t make the same mistake. The 1:1 is not a status meeting. I\u2019m not here to micromanage their Linear tickets. But I do want a high-level sense of what they\u2019re focused on, and I want it documented. Write it down. Visibly. In the shared doc. Right there, as they\u2019re talking. The visceral, visual act of typing \u201cFinished the API refactor\u201d or \u201cDebugged the CI pipeline issue\u201d into a shared document creates a sense of accountability that you just don\u2019t get from checking Linear. They see you taking their work seriously. They see it\u2019s on the record, as it\u2019s getting recorded. Again, resist the temptation to just open a tab and go to Linear or Jira. Actually write stuff down, or at least copy it from the source of truth. Don\u2019t AI slop this. I aim to make this section generally the smallest part of the 1:1. If they\u2019re stuck or blocked on something, I\u2019ll note it and ask if I can help\u2014but I don\u2019t solve it in the 1:1 unless it\u2019s quick, on the order of 1-2 minutes. I also scroll down to last week\u2019s entry and sanity-check: \u201cLast week you mentioned X, how\u2019d that go?\u201d If someone consistently has nothing concrete here, that\u2019s a yellow flag worth exploring separately. Process My opening line : \u201cAnything we can do to make you more productive or happier?\u201d  This is the grab bag, or the meta section. The catch-all for everything that doesn\u2019t fit neatly into People or Product . With some people, there\u2019s always something here. They want to try a new tool and need approval. They\u2019re going on vacation and want to give you a heads-up. They\u2019re frustrated with the deploy process and have ideas. Common topics include tooling, process complaints, meeting overload, work-life balance, and career development. With other people, there\u2019s never anything. And that\u2019s okay too. I don\u2019t force it, but occasionally I\u2019ll prompt differently: \u201cAnything slowing you down this week?\u201d or \u201cHow\u2019s the balance feeling?\u201d If there\u2019s a recurring theme\u2014like \u201cour deploy notifications are painful\u201d\u2014I escalate it (later). This is where you learn about systemic issues. I also use this section to plant seeds: \u201cBy the way, we\u2019re thinking about changing X\u2014how would that land with you?\u201d Lastly, this section is useful to give people updates on company stuff. Things like an offsite coming up, new hires they should be aware of, or changes to team structure. It\u2019s a natural place for that kind of context-setting that doesn\u2019t fit elsewhere. Other Notes \u201cThe Career Conversation\u201d The enlightened (or conventional) wisdom says that 1:1 meetings should be mostly about career coaching. I don\u2019t disagree, but you can\u2019t always talk to your reports about their career. A career is an artifact of the work as much as an aspiration. You don\u2019t become an astronaut without becoming a Navy pilot or doctor first. And you don\u2019t become a doctor without doing years of residency, nor a Navy pilot without flying a Cessna. The good thing with having a routine like this is that it makes special conversations feel special. Ideally, every few months, you\u2019ll want to have a career oriented conversation with your reports. The ideal frequency is hard to pin down; it depends on people\u2019s roles (junior and very senior folks need it more often) and the company\u2019s trajectory. That conversation should feel different, and when you have to deviate from this routine, it will. Following Up As I mentioned, most things should be handled async. If you\u2019re constantly finding yourself needing to take immediate action in 1:1s, that\u2019s a sign you\u2019re letting things fester. This is not advice specific to remote or async companies. If you are always operating in interrupt-driven mode and running from fire to fire, you have other problems to fix first.  The shared Notion doc helps here. If something needs follow-up, I\u2019ll either drop a note in next week\u2019s H2 header so we both remember to check on it, ping them async after the meeting with context, or escalate immediately if it\u2019s urgent (rare). Again, if you\u2019re always firefighting in 1:1s, something\u2019s broken upstream. Treat it With Respect I mentioned this above but worth saying again: treat these meetings with respect. It\u2019s not just the right thing to do but the more respect you show for your reports, the more they will have your back. Done regularly, these meetings will become your most important touch-points with your reports. They will judge you based on these meetings more than you think. They will go the extra mile for that deadline, or even thank you when you tell them it\u2019s not working out and have to let them go. Do not reschedule them willy-nilly. Do not share your notes at any point with anyone; they should be private between you and your report. Do not gossip; just because someone said something juicy doesn\u2019t mean you should repeat it to anyone, even if it\u2019s fully true. Don\u2019t mention things you\u2019ve heard from one 1:1 meeting to anyone else. Seems trivial, but it\u2019s human to want to connect with others using \u201cgossip\u201d. Resist it. Routines are Good I believe in routines. Not because they\u2019re rigid, but because they create space for the important stuff. When you have a script, you don\u2019t waste mental energy figuring out what to talk about. You can focus on listening, reading between the lines, and actually supporting your people. The People/Product/Process framework isn\u2019t magic, nor unique. But it\u2019s consistent, it\u2019s comprehensive, and it works. It is something . Try it for a month. Use the exact same lines I use. Adjust as you learn what lands with your team. And most importantly: write it down. Keep the history. Show them you\u2019re paying attention. \ud83d\udca1 Off by One is written by Can Duruk. He is the former CTO and co-founder of (https://felt.com) Felt and an early Uber engineer. Reach him on Twitter (https://x.com/can) @can or (mailto:can@duruk.net) can@duruk.net .        (https://twitter.com/can/) (Twitter) (/svg/feather-sprite.51cf5647cb1987f769b616558f2620fd9423d72058490231b391bf6aa3744b55.svg#twitter)      2025 \u00a9 Can Duruk | (https://github.com/athul/archie) Archie Theme | Built with (https://gohugo.io) Hugo      "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:50.262327+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2025-10-22T14:52:56.078290+00:00",
                "index_texts": [],
                "output": "media/",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:51.945345+00:00",
                "status": "succeeded"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2025-10-22T14:52:50.235681+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:47.100580+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmpqlh64v3l",
                    "https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2025-10-22T14:52:37.924097+00:00",
                "index_texts": [
                    "GoalsSetupSchedulingToolingThe IntroPeople, Product, ProcessPeopleProductProcessOther Notes\u201cThe Career Conversation\u201dFollowing UpTreat it With RespectRoutines are GoodHow to Run Engineering 1:1s: A Practical ScriptMost engineering managers know they\u2019re supposed to run 1:1s. Yet, many wing the format. I\u2019ve seen too many 1:1s that meander, skip weeks, or devolve into status updates that could\u2019ve been a Slack message.Here\u2019s what works for me: a simple, repeatable structure that I use every single week. It\u2019s based on the popular People, Product, Process format (which I also use for measuring engineering productivity). I\u2019m going to give you the exact script I use, the Notion setup, and some ideas for how to handle each section.GoalsBefore we get into the mechanics, let\u2019s talk about what these meetings are actually for.Coaching: You want to always give feedback to people. I use the format of a) what they\u2019re doing that they should keep doing, and b) what they\u2019re doing that they need to stop or change. You don\u2019t want to wait for perf sessions or annual reviews for most of this.Holding regular time: This is important for both accountability and making sure we have time to catch things before they fester into larger issues (more on this later). Most problems don\u2019t just pop up, but they grow quietly. Regular, predictable meetings give you space to catch them early.Alignment: You want to make sure you can steer people in the right direction for their own career growth and also with the company\u2019s goals. Are they working on things that matter? Are they developing the skills they want to build? Are they aligned with where the team is headed? Do they have a place to talk about their goals and see if they match what you can offer?These three goals inform everything else about how I structure my 1:1s.SetupSchedulingHold these meetings weekly, at the same time, on the same day. Pay special attention to this. Frequency and stability matter more than you think. I want my reports to know I care about their 1:1s. It\u2019s on my calendar, it\u2019s on theirs, and it stays there. I resist the temptation to move 1:1s. They should be treated as one of the highest priority items on your calendar, if not the highest. In almost no circumstances should they be moved or missed.The same goes for reports: if someone wants to reschedule their 1:1, I tell them I\u2019d rather keep it where it is and ask if there\u2019s a specific reason to move them. You don\u2019t need to turn it into an argument; often just mentioning that you want to keep it at the same time is enough. Just be aware that you can only demand the respect you show to others.ToolingI use a shared Notion document with each direct report. The format is simple:H2: The date of the 1:1 (e.g., \u201cOctober 21, 2025\u201d). You can use the @today shortcut in Notion for this.H3: The three sections: People, Product, ProcessNew entries go at the top (reverse chronological)This format gives you a running history. You can scroll down to see what you discussed last week, check if that thing got resolved, or verify that someone\u2019s actually making progress on what they said they\u2019d work on. It also creates accountability for me: if I said I\u2019d handle something, it\u2019s written down.Another thing this format allows is automated reminders. As you\u2019re wrapping up this week\u2019s 1:1, create the H2 header for next week (again, Notion makes this easy) and drop in any forward-looking notes. For example: \u201cMake sure the travel plans are ready for next week.\u201d Now you both have a reminder, and you can check it off together when you meet.The IntroI always start with some version of \u201cWhat\u2019s life been?\u201d or casual small talk. This varies week to week depending on what\u2019s going on with the person. A home remodel? The Warriors game? Their boyfriend? Don\u2019t make it weird, but be personable. Keep it natural and genuine. This isn\u2019t part of the formal structure, but it sets the tone.Then I transition into the framework.People, Product, ProcessSectionOpening LineWhat You\u2019re Looking ForRed FlagsPeople\u201cHow are things going with the team?\u201dTeam dynamics, collaboration issues, interpersonal relationshipsRepeatedly mentioning the same person negatively, vague complaints about \u201csome people,\u201d avoiding specific namesProduct\u201cWhat have you been working on last week?\u201dHigh-level work focus, progress on initiatives, blockersConsistently nothing concrete, can\u2019t articulate what they worked on, same blocker week after weekProcess\u201cAnything we can do to make you more productive or happier?\u201dTool needs, process improvements, work-life balance, \u201ccompany stuff\u201dRecurring complaints without follow-through, consistently \u201ceverything\u2019s fine\u201d (might indicate lack of trust)PeopleMy opening line: \u201cHow are things going with the team?\u201dThis is intentionally neutral and open-ended. I want to know about team dynamics, interpersonal stuff, collaboration or communication issues. Anything related to people, really. Sometimes this leads to great conversations about who\u2019s doing well, who they\u2019re learning from, or who might need support. Sometimes there\u2019s nothing, and that\u2019s fine too.I pay special attention to how people talk about their teammates. If someone keeps mentioning the same person\u2014positively or negatively\u2014that\u2019s worth noting. If they use vague language like \u201csome people\u201d or \u201cthe team,\u201d I\u2019ll dig gently to get into the specifics. Sometimes I\u2019ll flip the question: \u201cWho\u2019s been great to work with lately?\u201d or \u201cAnyone you wish you were working with more?\u201d If something needs action\u2014like mediating a conflict or switching up team pairings\u2014I follow up async after the meeting.If I have a reason to believe there\u2019s something specific to discuss, I\u2019ll name names: \u201cHow are things going with John Doe?\u201d Again, the wording is neutral. I\u2019m not implying good or bad. I\u2019m just making it clear that I know there\u2019s something there worth talking about. Often, invoking the name is enough to get the juices flowing.ProductMy opening line: \u201cWhat have you been working on last week?\u201dFirst time managers obsess over task management. Don\u2019t make the same mistake. The 1:1 is not a status meeting. I\u2019m not here to micromanage their Linear tickets. But I do want a high-level sense of what they\u2019re focused on, and I want it documented.Write it down. Visibly. In the shared doc. Right there, as they\u2019re talking. The visceral, visual act of typing \u201cFinished the API refactor\u201d or \u201cDebugged the CI pipeline issue\u201d into a shared document creates a sense of accountability that you just don\u2019t get from checking Linear. They see you taking their work seriously. They see it\u2019s on the record, as it\u2019s getting recorded. Again, resist the temptation to just open a tab and go to Linear or Jira. Actually write stuff down, or at least copy it from the source of truth. Don\u2019t AI slop this.I aim to make this section generally the smallest part of the 1:1. If they\u2019re stuck or blocked on something, I\u2019ll note it and ask if I can help\u2014but I don\u2019t solve it in the 1:1 unless it\u2019s quick, on the order of 1-2 minutes. I also scroll down to last week\u2019s entry and sanity-check: \u201cLast week you mentioned X, how\u2019d that go?\u201d If someone consistently has nothing concrete here, that\u2019s a yellow flag worth exploring separately.ProcessMy opening line: \u201cAnything we can do to make you more productive or happier?\u201dThis is the grab bag, or the meta section. The catch-all for everything that doesn\u2019t fit neatly into People or Product. With some people, there\u2019s always something here. They want to try a new tool and need approval. They\u2019re going on vacation and want to give you a heads-up. They\u2019re frustrated with the deploy process and have ideas. Common topics include tooling, process complaints, meeting overload, work-life balance, and career development.With other people, there\u2019s never anything. And that\u2019s okay too. I don\u2019t force it, but occasionally I\u2019ll prompt differently: \u201cAnything slowing you down this week?\u201d or \u201cHow\u2019s the balance feeling?\u201d If there\u2019s a recurring theme\u2014like \u201cour deploy notifications are painful\u201d\u2014I escalate it (later). This is where you learn about systemic issues. I also use this section to plant seeds: \u201cBy the way, we\u2019re thinking about changing X\u2014how would that land with you?\u201dLastly, this section is useful to give people updates on company stuff. Things like an offsite coming up, new hires they should be aware of, or changes to team structure. It\u2019s a natural place for that kind of context-setting that doesn\u2019t fit elsewhere.Other Notes\u201cThe Career Conversation\u201dThe enlightened (or conventional) wisdom says that 1:1 meetings should be mostly about career coaching. I don\u2019t disagree, but you can\u2019t always talk to your reports about their career. A career is an artifact of the work as much as an aspiration. You don\u2019t become an astronaut without becoming a Navy pilot or doctor first. And you don\u2019t become a doctor without doing years of residency, nor a Navy pilot without flying a Cessna.The good thing with having a routine like this is that it makes special conversations feel special. Ideally, every few months, you\u2019ll want to have a career oriented conversation with your reports. The ideal frequency is hard to pin down; it depends on people\u2019s roles (junior and very senior folks need it more often) and the company\u2019s trajectory. That conversation should feel different, and when you have to deviate from this routine, it will.Following UpAs I mentioned, most things should be handled async. If you\u2019re constantly finding yourself needing to take immediate action in 1:1s, that\u2019s a sign you\u2019re letting things fester. This is not advice specific to remote or async companies. If you are always operating in interrupt-driven mode and running from fire to fire, you have other problems to fix first.The shared Notion doc helps here. If something needs follow-up, I\u2019ll either drop a note in next week\u2019s H2 header so we both remember to check on it, ping them async after the meeting with context, or escalate immediately if it\u2019s urgent (rare). Again, if you\u2019re always firefighting in 1:1s, something\u2019s broken upstream.Treat it With RespectI mentioned this above but worth saying again: treat these meetings with respect. It\u2019s not just the right thing to do but the more respect you show for your reports, the more they will have your back.Done regularly, these meetings will become your most important touch-points with your reports. They will judge you based on these meetings more than you think. They will go the extra mile for that deadline, or even thank you when you tell them it\u2019s not working out and have to let them go.Do not reschedule them willy-nilly. Do not share your notes at any point with anyone; they should be private between you and your report. Do not gossip; just because someone said something juicy doesn\u2019t mean you should repeat it to anyone, even if it\u2019s fully true. Don\u2019t mention things you\u2019ve heard from one 1:1 meeting to anyone else. Seems trivial, but it\u2019s human to want to connect with others using \u201cgossip\u201d. Resist it.Routines are GoodI believe in routines. Not because they\u2019re rigid, but because they create space for the important stuff. When you have a script, you don\u2019t waste mental energy figuring out what to talk about. You can focus on listening, reading between the lines, and actually supporting your people.The People/Product/Process framework isn\u2019t magic, nor unique. But it\u2019s consistent, it\u2019s comprehensive, and it works. It is something. Try it for a month. Use the exact same lines I use. Adjust as you learn what lands with your team.And most importantly: write it down. Keep the history. Show them you\u2019re paying attention.\ud83d\udca1 Off by One is written by Can Duruk. He is the former CTO and co-founder of Felt and an early Uber engineer. Reach him on Twitter @can or can@duruk.net."
                ],
                "output": "readability/",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:35.535551+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://justoffbyone.com/posts/how-to-run-11s/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2025-10-22T14:52:34.847098+00:00",
                "index_texts": null,
                "output": "How to Run 1:1s as an Engineering Manager - Off By One",
                "pwd": "/data/archive/1761144735.198001",
                "schema": "ArchiveResult",
                "start_ts": "2025-10-22T14:52:34.825355+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "https://web.archive.org/web/20251022130724/https://justoffbyone.com/posts/how-to-run-11s/",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "media/",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "How to Run 1:1s as an Engineering Manager - Off By One",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1761144735.198001",
    "newest_archive_date": "2025-10-22T14:52:56.134578+00:00",
    "num_failures": 0,
    "num_outputs": 9,
    "oldest_archive_date": "2025-10-22T14:52:18.133711+00:00",
    "path": "/posts/how-to-run-11s/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01K866G1GA29FE3BD201AWAKK1",
    "snapshot_id": "36f86852-6bdc-4323-8fcf-f41b95c54e61",
    "sources": [
        "/data/sources/1761144734-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1761144735.198001",
    "title": "How to Run 1:1s as an Engineering Manager - Off By One",
    "url": "https://justoffbyone.com/posts/how-to-run-11s/"
}