<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Marian Kamenistak]]></title><description><![CDATA[Marian Kamenistak]]></description><link>https://mariankamenistak.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sun, 08 Nov 2026 13:14:57 GMT</lastBuildDate><atom:link href="https://mariankamenistak.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to Talk to Executives: Price It Before You Argue]]></title><description><![CDATA[Engineers lose arguments with executives by being right in the wrong currency. Price both options and bring an 80% number you can defend.]]></description><link>https://mariankamenistak.hashnode.dev/how-to-talk-to-executives</link><guid isPermaLink="true">https://mariankamenistak.hashnode.dev/how-to-talk-to-executives</guid><category><![CDATA[engineering-management]]></category><category><![CDATA[leadership]]></category><category><![CDATA[communication]]></category><category><![CDATA[career advice]]></category><category><![CDATA[management]]></category><dc:creator><![CDATA[Marian Kamenistak]]></dc:creator><pubDate>Wed, 04 Nov 2026 09:18:16 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae7b82a7e53f9c370e0a4bf/8e6c7382-bf30-4501-96cf-faa35ea7e7d7.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A customer wants a custom path in an SDK every other customer shares, and you can already see the extra tests and the backward compatibility you'll carry for years. This post is how I'd put a price on that for management, with made-up numbers, as opposed to arguing about the code.</p>
<p>0.15 versus 0.47. Those two numbers were my whole answer to Daniel.</p>
<p>Daniel is an engineering manager I mentor. He owns an SDK at a B2B company in a regulated market, and this autumn he asked me how to tell top management that a custom deal for one customer will cost them for years, without saying no to the deal.</p>
<p>Daniel was right about the SDK. He was right in the wrong currency. Talking to executives as an engineer means putting each technical argument in money: the value you earn or the risk you avoid, as an approximation you can defend.</p>
<p>I've run <a href="https://www.marian.coach/engineering-leadership-statistics/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-to-talk-to-executives-202611">3,662 one-on-one leadership sessions</a>, and Daniel's question comes from engineers with the better technical case who still lose the room.</p>
<p>My position, and the one Daniel pushed back on: an 80% number you can defend beats a 100% model you can't explain.</p>
<h2>"Great engineer, not there yet" is a label you hand them</h2>
<p>Daniel described his problem like this. He sits in meetings with higher management where he holds context the others don't. Things that are obvious to him aren't obvious to them, and the discussion turns into a confrontation. Part of his job is risk management, he's analytical, and he sees long-term issues the others at the table miss.</p>
<p>So I played a CTO for a minute, any CTO. What a CTO hears from an engineer in that kind of meeting is that he's using excuses why things cannot go this way.</p>
<p>And then comes the label. A really great person, but not there yet, doesn't understand how business works. It isn't true, but it's how top management tends to perceive engineers who argue this way, and I told Daniel straight that if it happens, it's his fault, 100%.</p>
<p>Look at it from the other side of the table. Your yearly bonus comes from the same revenue you're arguing against when you ask for clean code instead of the deal. Basically, you demote yourself.</p>
<h2>The calmer you are, the more power you have in the room</h2>
<p>Before the money, the temperature. It took me years to learn this one and I still have to remind myself of it.</p>
<p>I used to think being very vocal about everything I saw was passion. I was shooting for the right thing, loudly. Then I imagined having that person in my own team, and I could see him as toxic.</p>
<p>Every argument I won by raising my voice, I lost, because other people would stop or be more reluctant at communicating with me. The dog who's afraid the most barks all the time.</p>
<img src="https://www.marian.coach/_astro/talk-31.nNUWnVqZ_Z1CrVwR.webp" alt="Marian Kamenistak in a grey polo shirt with a headset microphone, smiling and explaining a point with open hands, a presentation clicker in his right hand." style="display:block;margin:0 auto" />

<p><em>On stage at an engineering leadership event. Photo: ELC.</em></p>
<p>Daniel is further along than he gives himself credit for. He hasn't raised his voice in 2 to 3 years. When a meeting heats up, he lets it cool, sleeps on it, and picks it up in a one-on-one the next day. That habit has saved me too.</p>
<p>His worry is the other side of it. If he doesn't stop an argument in front of his own team, he feels undermined. One sentence does stop it, without dropping the point: "Let me come back tomorrow with the numbers." More on that move at the end.</p>
<h2>Before you argue, check the difference is worth a meeting</h2>
<p>When I disagree with someone, I turn it into a talk about value. Two options on the table and one question: which one brings more?</p>
<p>When engineers and managers fight, I see two root causes. The first is emotional, two people who don't like each other. The second is two options of nearly the same value, defended as if the company depended on the outcome.</p>
<p>It's a technical detail, or one week of difference in a sprint. We spend half an hour of discussion and confrontation about shit, because the difference isn't big enough to talk about. Sometimes you find out neither option brings value and it's just egos flying.</p>
<p>So ask it out loud: "What's the difference in value between these two?" If the honest answer is small, pick one and move on. If it's big, you've found something worth pricing.</p>
<h2>Executives buy two things: value and less risk</h2>
<p>A manager's job is to reduce risk. The risk of building the wrong product, of being fined, of delivering too late, of missing the skills or the budget. So every time I speak with someone on the executive level, I turn the talk into money, in one of two directions.</p>
<h3>Value</h3>
<p>"If we build this, it costs us one sprint and it can open a market worth $2 million in ARR." That's the right conversation to have.</p>
<h3>Risk</h3>
<p>"If we don't build this, we're not compliant, and here's the level of the fine. If we go ahead partly compliant, I need your approval for that." The risk gets a number, and the decision goes to the person who owns it.</p>
<p>Now the counter-example, from my own kitchen. When one of my engineering managers starts talking to me about Kubernetes, the new version, how great the new tool is, it doesn't stick, and I'm technical. My questions are simple: has it raised our availability, what does the customer feel, does it earn money or save costs? Without those answers I have no reason to care.</p>
<p>Will Larson's <a href="https://staffeng.com/guides/present-to-executives/">Present to executives</a> is the best guide I know on structure: "give the summarizing idea before you give the individual ideas being summarized." It doesn't put a price on the decision, and a well-structured summary without a price is still an opinion.</p>
<p>If you're one level lower and trying to get your own manager to listen, I wrote that ladder up separately, from naming the problem to ROI, in <a href="https://www.marian.coach/blog/how-to-influence-my-manager/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-to-talk-to-executives-202611">six levels of influence</a>.</p>
<h2>Two lines on a chart: Daniel's custom SDK, priced</h2>
<p>Back to Daniel. A customer wants to use the SDK in a different way, which means opening functionality in an SDK every customer shares, then testing and maintaining a custom path for as long as that customer stays. He didn't want to say no. He wanted the key stakeholders to know what they were buying.</p>
<p>So I drew him two lines, with illustrative numbers, because Daniel's real ones don't exist yet. In my made-up version, sales wants three custom SDKs a year, and the deal on the table is worth €300,000.</p>
<p>One line is the upkeep of a standard SDK: say each one costs 0.15 of a full-time engineer to keep healthy. The other line is the upkeep of a custom one: 0.47 FTE each, because each custom path adds tests, backward compatibility and code you can't change without checking the custom cases first.</p>
<table>
<thead>
<tr>
<th></th>
<th>Standard SDK</th>
<th>Custom SDK</th>
</tr>
</thead>
<tbody><tr>
<td>Upkeep per SDK</td>
<td>0.15 FTE each</td>
<td>0.47 FTE each</td>
</tr>
<tr>
<td>3 new SDKs this year</td>
<td>0.45 FTE</td>
<td>1.41 FTE</td>
</tr>
<tr>
<td>Extra people needed</td>
<td>none</td>
<td>about 1 hire</td>
</tr>
<tr>
<td>Cost of that hire</td>
<td>€0</td>
<td>€6,000 a month, about €72,000 a year</td>
</tr>
<tr>
<td>Deal on the table</td>
<td>nothing extra</td>
<td>€300,000</td>
</tr>
</tbody></table>
<p>€6,000 a month is roughly what a mid-to-senior engineer costs a company in Prague: <a href="https://www.platy.cz/en/salaryinfo/information-technology/software-engineer">a gross salary inside the</a> <a href="http://Platy.cz">Platy.cz</a> <a href="https://www.platy.cz/en/salaryinfo/information-technology/software-engineer">band for software engineers</a> plus the employer's social and health insurance. Put in your own market's number.</p>
<h3>It's a very simple game</h3>
<p>€72,000 a year against €300,000. Take the deal, and say out loud that it comes with one more hire.</p>
<h3>Ask how long the contract runs</h3>
<p>If the €300,000 is paid once and the hire stays, the upkeep catches up with the deal in about 4 years: 4 × €72,000 = €288,000. The contract length belongs in the same conversation.</p>
<h3>Count the slowdown too</h3>
<p>Each custom SDK makes the next change to the standard SDK slower, because you have to check you didn't break the custom scenarios. Don Reinertsen's rule from <a href="http://lpd2.com/sample-page/the-principles-of-flow/">The Principles of Product Development Flow</a> fits here: "If you only quantify one thing, quantify the cost of delay."</p>
<h3>When the answer is no</h3>
<p>Change one input and the same chart gives the opposite answer. A small customer with no potential, a product manager and a sales guy asking for something highly custom that nobody believes in: you have the full privilege to say that's not a good deal.</p>
<p>If you've never built a money case before, the four-line formula in <a href="https://www.marian.coach/blog/how-to-convince-your-manager-to-pay-for-coaching/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-to-talk-to-executives-202611">how to convince your manager to pay for coaching</a> works for other spend too.</p>
<h2>An 80% number beats a 100% model</h2>
<p>Daniel's pushback was honest: "Always I have the challenge on how to create these magic numbers." Where does 0.15 come from, and how does he defend 0.47 in front of management?</p>
<p>Everybody on the top management level knows these numbers are approximations. It's your privilege and duty to come with them anyway.</p>
<h3>Where the number comes from</h3>
<p>Go through the last 2 or 3 years of your history: cycle time, incidents, hours spent on custom paths. Or write a best case and a worst case for each option and use the value in between. That's your educated guess, based on data.</p>
<p>For Daniel, that means pulling five changes from the last year that touched a custom path and noting the hours each one took. Douglas Hubbard's <a href="https://hubbardresearch.com/two-ways-you-can-use-small-sample-sizes-to-measure-anything/">Rule of Five</a> gives a 93.75% chance that the real median sits between the smallest and the largest of those five. Five tickets, and 0.47 has a source.</p>
<h3>How good it has to be</h3>
<p>If your approximation is 80 to 85% correct, that's great. You need to keep the messaging very simple.</p>
<blockquote>
<p>Never shoot for 95 or 100%, because you end up with a formula nobody will understand, including yourself. And then nobody trusts you.</p>
</blockquote>
<h3>What happens when someone challenges it</h3>
<p>I guarantee you that once per quarter somebody will jump on you: why the hell is it 0.15? Your answer is one sentence. "It's my educated guess from 2 years of our SDK history, here's the sheet."</p>
<p>Nobody will open that sheet. It's some sort of pre-agreed magic that works on top management.</p>
<p>When I challenge my own managers on a number, all I want to understand is that they put some thought behind it.</p>
<p>Engineers resist this because a guess feels dishonest. It's honest as long as you call it a guess.</p>
<h2>Don't win it in the room. Come back tomorrow with a recommendation.</h2>
<img src="https://www.marian.coach/_astro/talk-29.58Ma_cB3_Z1LeJpU.webp" alt="Marian Kamenistak in a denim shirt speaking into a handheld microphone and pointing at someone in the audience, a projector screen behind him." style="display:block;margin:0 auto" />

<p><em>Speaking at an engineering leadership event. Photo: ELC.</em></p>
<h3>In the room</h3>
<p>When the discussion goes sideways, the move is one sentence: "Let me come back with the analysis on what's the impact on value, cost or risk."</p>
<p>That's where Daniel landed by the end of our session, in his own words: "I should say, okay, I will look at the proposal, at the estimation, and then come back." He walked in asking how to warn management. He walked out with a sentence for the room and a sheet to build.</p>
<p>The alternative is what I see when an engineer stays and fights: but I think, and I think, and I think. It doesn't help anyone. As the CTO in that room I'm lost after 15 minutes, and what I hear is excuses.</p>
<h3>The next morning</h3>
<p>Two options, a number for each, with the best and the worst case. Then your recommendation, said plainly, as opposed to hidden in the last slide: "My recommendation is the custom SDK, plus one hire. What do you think?" Ask, because the decision is theirs and the analysis is yours.</p>
<h3>What it buys you</h3>
<p>Technology is a means to something. For me it's the means to run the company, build the business and make profit. If you get this right, it invites you into the world of top managers. Without approximations, without talking value and risk, they won't invite you in.</p>
<p>Daniel's homework is the five tickets and the two lines with his real numbers, plus one conversation from his week he'd like to replay. We'll rework it in money at our next session, and I'll add here what happened next. If you have a story like that yourself, that's what a <a href="https://www.marian.coach/engineering-manager-mentor/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-to-talk-to-executives-202611">mentoring session</a> is for.</p>
<h2>Frequently asked</h2>
<h3>How should an engineering manager communicate with executives?</h3>
<p>Price the decision before you present it. Bring two options, each costed in money as value earned or risk avoided, with a best and a worst case, and finish with a recommendation. Keep the technical detail for when someone asks for it.</p>
<h3>How do I explain technical risk to my CEO in business terms?</h3>
<p>Turn the risk into what it costs if it happens: a regulatory fine, customers lost to churn, hours of downtime, a launch that slips a quarter, or people you will need to hire. Then hand over the decision: fix it now, or accept the risk with the CEO's sign-off.</p>
<h3>How accurate does an estimate need to be for executives?</h3>
<p>Roughly 80 to 85% right is enough. Executives know the figure is an approximation. What they check is whether there is reasoning and data behind it, such as two or three years of delivery history or a best and worst case for each option.</p>
<h3>What should I say when an executive challenges me in a meeting?</h3>
<p>Skip defending the detail on the spot. Say you will come back with the impact on value, cost or risk, then return the next day with the options, a number for each, and your recommendation.</p>
<h3>Why don't executives listen to engineers?</h3>
<p>The argument usually reaches them in technical terms, so it sounds like a preference or an excuse. The same point stated as money earned, money saved or a risk with a price on it gets a decision instead of a debate.</p>
<hr />
<p><em>Originally published at</em> <a href="http://marian.coach"><em>marian.coach</em></a><em>. I mentor engineering leaders from Staff Engineer to CTO: 3,662 sessions.</em></p>
]]></content:encoded></item><item><title><![CDATA[How Many Direct Reports Is Too Many? Manage 16+ With AI]]></title><description><![CDATA[The 5 to 8 span of control was a routing limit. One EM I mentor leads 26 direct reports on the same hours with written rules, a script and AI.]]></description><link>https://mariankamenistak.hashnode.dev/how-many-direct-reports-too-many</link><guid isPermaLink="true">https://mariankamenistak.hashnode.dev/how-many-direct-reports-too-many</guid><category><![CDATA[management]]></category><category><![CDATA[leadership]]></category><category><![CDATA[AI]]></category><category><![CDATA[engineering-management]]></category><dc:creator><![CDATA[Marian Kamenistak]]></dc:creator><pubDate>Sun, 01 Nov 2026 22:15:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae7b82a7e53f9c370e0a4bf/4a122742-c356-4b6f-90d3-f9558d6c20c2.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Originally published at</em> <a href="https://www.marian.coach/blog/how-many-direct-reports-too-many/"><em>marian.coach</em></a><em>.</em></p>
<p>Five to eight direct reports is the usual answer, and it holds while a manager routes everything by hand. Here is what one engineering manager I mentor changed to lead 26 on the same hours.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/infographic.webp" alt="Before AI, the engineering manager sits in a tangle of arrows with the team and peers; after AI, a layer of AI, scripts and data sits between the manager and the team" style="display:block;margin:0 auto" />

<blockquote>
<p><strong>With the Engineering Manager's AI Dashboard, we moved from chaos to AI-assisted management of 16+ direct reports.</strong></p>
</blockquote>
<p>Here is a day of an AI-native engineering manager with 26 direct reports, on the EM Dashboard we built together. It's an example put together from our rules and screens, not a diary entry.</p>
<ul>
<li><strong>9:00.</strong> One ranked list instead of seven inboxes. The US teams worked overnight, and a Claude paragraph plus the top five tell the EM what needs attention first.</li>
<li><strong>9:15.</strong> Two status updates are late. The dashboard has drafted a friendly nudge for each, and they go out with one click.</li>
<li><strong>9:30 to 12:00.</strong> Focus time. Our calendar rules keep the mornings free of 1:1s.</li>
<li><strong>13:00 to 17:00.</strong> 1:1s, one after another, in the same meeting room. Before each one, the EM reads a brief built from that person's notes, messages and feature channel, so the hour goes to the person.</li>
<li><strong>Once a day.</strong> A calendar check looks two weeks ahead for clashes in the 1:1s and proposes fixes. Nothing moves until the EM says OK.</li>
<li><strong>Fridays.</strong> No 1:1s. The dashboard drafts the status updates from Jira and Slack, the EM edits them and clicks "Yes, post".</li>
</ul>
<p><a href="https://www.gallup.com/workplace/700718/span-control-optimal-team-size.aspx">Span of control</a> is the number of people one manager leads directly. The usual answer for an engineering manager is five to eight. In <a href="https://www.gallup.com/workplace/700718/span-control-optimal-team-size.aspx">Gallup's data, the median manager had five to six direct reports in 2025</a>. The average was 12.1, pulled up by a minority of very wide spans.</p>
<p>I think five to eight was a routing limit from the start. A manager at eight spends the week moving information around: who owes an update, which project slips, what happened in a thread they weren't in, what to ask in the next 1:1. Take the routing off the manager and the people part goes past 16.</p>
<p>With one of my mentees, I'll call him Adam, we built an EM Dashboard that takes the routing off his week. In 2025 the org was 8 people in one team. Today it's 26 people in three teams, all reporting to Adam. The dashboard is how Adam kept the same working hours: "I have a family and I want to have a happy wife."</p>
<p>Two team leads help run the teams. Every one of the 26 has a recurring 1:1 with Adam, bi-weekly, and weekly for new joiners in their first two months. That's about 13 1:1s a week, a few more while someone is new, and the calendar is where span of control costs you.</p>
<h2>What 26 people look like at 8 a.m.</h2>
<p>Before the why, here is what the EM Dashboard looks like. Three screens below, the ranked list, the status draft and the 1:1 brief, are redrawn from Adam's app. The rest are mock-ups we sketched for inspiration. Every name and ticket is invented.</p>
<h3>One ranked list instead of seven inboxes</h3>
<p>The US teams work while Adam sleeps, so the mornings used to start with surprises. Now the first screen pulls Jira, Slack, email, calendar, tasks, CI and status updates into one list: a Claude paragraph, the top five, then everything else in falling priority.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/ranked-list.webp" alt="Redrawn app screen: Today's Priorities with a Claude summary and a ranked top five built from seven sources; demo data" style="display:block;margin:0 auto" />

<p><em>The top five follow written rules about what only Adam can unblock. Redrawn from Adam's app, demo data.</em></p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/team-goals-mock.webp" alt="Team goals screen: Q4 goals for three teams with progress bars, status pills and the rules that flagged two of them; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>Nine goals across three teams, each with a status pill and the rule that set it. Illustrative mock-up, demo data.</em></p>
<p>Any item becomes a Google Task with a slot on Adam's calendar. The list remembers what's been cleared, so an item only comes back when it changes. "Theoretically it is improving every day," Adam says.</p>
<h3>Status updates Adam only approves</h3>
<p>Adam says it plainly: "I don't like writing the status updates." Every Friday the dashboard drafts them from the Jira changes and the Slack discussion. Next to the draft it lists what it used and which rules it applied, format, dependencies and voice, so Adam can check the work instead of trusting it.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/status-draft.webp" alt="Redrawn app screen: a draft status update with Scope, Quality and Schedule markers, its sources and rules, and a Yes, post button; demo data" style="display:block;margin:0 auto" />

<p><em>A Friday draft with its Scope, Quality and Schedule markers and the sources Claude used. Redrawn from Adam's app, demo data.</em></p>
<p>Adam edits in the box, clicks "Yes, post", and the dashboard posts it to Jira and the other places the process asks for, "because unfortunately our processes are very complex." The dashboard doesn't fix the process. It stops the process from eating Adam's Friday.</p>
<blockquote>
<p><strong>Reporting to Adam's manager arrives as a ready draft. Adam edits it and clicks yes.</strong></p>
</blockquote>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/manager-report-mock.webp" alt="Reports screen: a one-page weekly report for Adam's manager with every claim tagged to its source and a send button; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>A one-page weekly report for Adam's manager, each claim tagged with its source. Illustrative mock-up, demo data.</em></p>
<h3>A brief before every 1:1</h3>
<p>Adam calls this one "the most controversial", and it's the one Adam is happiest about. Before each 1:1 the dashboard reads the previous 1:1 notes, the person's emails, Slack messages and DMs, and the channel of the feature they work on. It writes a brief: what the two discussed last time, open items and who owns them, what is worth raising, each linked to its source, and a suggested agenda.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/one-on-one-brief.webp" alt="Redrawn app screen: a 1:1 brief with Last time, Open items, Worth raising with linked Slack sources, and a Suggested agenda; demo data" style="display:block;margin:0 auto" />

<p><em>What Adam reads five minutes before a 1:1. Redrawn from Adam's app, demo data.</em></p>
<p>That's personal data, so three things hold. The team knows what the dashboard reads, the Anthropic API runs on a company-approved account, and nothing that touches a person goes out without Adam's yes.</p>
<p>Adam is in about 150 Slack channels and doesn't monitor them. "But I would know that this person has a problem," because the brief surfaces it, and it can be escalated before the 1:1 even starts.</p>
<blockquote>
<p><strong>Adam knows what is happening across 26 people without spending extra time searching for it.</strong></p>
</blockquote>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/whats-happening-mock.webp" alt="What's happening screen: a Claude summary of the night, a feed grouped by team with source chips, and a box of what it doesn't read; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>One feed instead of 150 channels, and a list of what it skips. Illustrative mock-up, demo data.</em></p>
<h3>The routing jobs on screen</h3>
<p>Three more routing jobs, with the full split in the table further down. The calendar screen comes later, with the story of how it broke.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/chasing-status-mock.webp" alt="Status screen: seven projects with owner, the rule that makes the update due and late state, next to a Claude-drafted Slack nudge; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>Seven projects, the rule that makes each update due, and a drafted nudge for the late one. Illustrative mock-up, demo data.</em></p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/collecting-context-mock.webp" alt="Sources screen: five source cards with items pulled and 0 AI tokens, above a 64-message Slack thread summarised by Claude; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>64 messages read, one decision left for Adam. Illustrative mock-up, demo data.</em></p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/spotting-risk-mock.webp" alt="Risk radar screen: seven projects flagged by RK and SU rules, an eight-week chart of at-risk items, and a Claude-ranked top five; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>Rules flag the risk, Claude ranks it, Adam decides what's first. Illustrative mock-up, demo data.</em></p>
<h2>Five to eight measures the routing</h2>
<p>Ask four sources how many direct reports is too many and you get four numbers.</p>
<table>
<thead>
<tr>
<th>Source</th>
<th>The number</th>
<th>What the number measures</th>
</tr>
</thead>
<tbody><tr>
<td><a href="https://www.gallup.com/workplace/700718/span-control-optimal-team-size.aspx">Gallup, 2025 data</a></td>
<td>average 12.1, median 5 to 6</td>
<td>engagement; no single right span, manager talent and their own IC work decide</td>
</tr>
<tr>
<td><a href="https://jellyfish.co/blog/manager-to-engineer-ratio/">Jellyfish</a></td>
<td>around 1:6 to 1:9 in high-performing orgs like Google, Microsoft and Amazon</td>
<td>manager-to-engineer ratio</td>
</tr>
<tr>
<td><a href="https://www.rubick.com/span-of-control/">Jade Rubick</a></td>
<td>4 to 8 early, 8 to 10 as the org matures, 12 "pretty hard", 20 rarely done well</td>
<td>org maturity</td>
</tr>
<tr>
<td><a href="https://www.mckinsey.com/capabilities/people-and-organizational-performance/our-insights/how-to-identify-the-right-spans-of-control-for-your-organization">McKinsey manager archetypes</a></td>
<td>player-coach 3 to 5, coordinator 15+</td>
<td>how much of the job is coordination</td>
</tr>
</tbody></table>
<p>The numbers disagree because they measure different weeks. In the McKinsey row, the role that coaches least carries the most people. The span moves with what the manager does all day, so the useful question is what fills the week, not how many names sit on the org chart.</p>
<p>Gallup has one more number that matters here. <a href="https://www.gallup.com/workplace/700718/span-control-optimal-team-size.aspx">97% of managers also do individual work</a>, a median of about 40% of their time. So a typical manager runs their people with about three days a week. Something has to give.</p>
<h3>The strongest case against wider spans</h3>
<p><a href="https://johnfarrier.com/engineering-manager-span-of-control-in-the-age-of-ai/">John Farrier makes the opposite case</a>: AI raises the volume of change in a team but not anyone's capacity to review it or coach people. In his words, "When AI increases code volume, do not assume you can widen management span." He is right about review. Adam's teams spend more time reviewing code than before, because they still gate every merge on a human.</p>
<p>Reviewing the work, performance conversations, hiring and pay need judgment, and no rule file removes them. A rule can still shrink how much of it lands on the manager. Review needs a policy: what gets a deep read, what gets sampled, who looks first. <a href="https://www.marian.coach/blog/ai-agents-first-line-engineering-manager/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">Deciding that policy is a management call</a>, and once it's written, the manager stops sitting in every review thread.</p>
<p>So review capacity is real. I just don't think it caps the span at eight, because status, context, risk and 1:1 prep are the part a script can take.</p>
<h2>The teams got faster. Adam's week got worse.</h2>
<p>Here is what Adam measured on the three teams, from Jira and Adam's own calendar.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/teams-faster-week-worse.webp" alt="Slide: engineering teams up to about 30% faster, about 35% less time from started to done, more code waiting for review; the engineering leader got more dependencies, more meetings and 2.5x more double-booked hours" style="display:block;margin:0 auto" />

<p><em>The three teams, April to September, 2025 vs 2026. Jira and Adam's calendar, averages, rounded.</em></p>
<p>The teams got up to about 30% faster, and the time from started to done dropped by about 35%. Adam's side went the other way: more dependencies to track, more meetings, and 2.5 times more double-booked hours.</p>
<p>In Adam's words: "I had to start attending more meetings, the dependency sync-ups, some escalations, some tracking meetings, and my calendar started to be fully booked. Sometimes I was double-booked, triple-booked, and nobody knew which one I would attend."</p>
<p>Adam is honest about the caveats: Claude crunched Adam's own data, it's hard to quantify, and AI was not the only cause. It accelerated a problem that was already there.</p>
<p>The 2.5 times measures the growth itself: April to September 2026 against the same months of 2025, while the org went from 8 to 26. Roadmap delivery gives a cleaner before and after. Adam started on the dashboard in April 2026, so Q2 was partly a build quarter and Q3 the first full quarter on it. That quarter the teams delivered 81% of the quarterly roadmap, up from 55% in 2026 Q2.</p>
<p>Adam also counts 60% less context switching, and reports better sleep, more time for focus work, and less time lost on ops issues and on finding out where the truth lives. These are Adam's own numbers from one org, not a controlled study. The org and the AI tools changed over the same months, so I don't credit the dashboard alone. The people side, like engagement or how the 26 rate their 1:1s, isn't measured yet.</p>
<blockquote>
<p><strong>The teams delivered 81% of the quarterly roadmap in 2026 Q3, up from 55% in 2026 Q2. Adam sees which goals are on track without chasing anyone.</strong></p>
</blockquote>
<p>This is one case of a measured pattern. In <a href="https://www.faros.ai/blog/ai-software-engineering">Faros AI's data</a>, teams with high AI adoption merged 98% more PRs and spent 91% more time on PR review. Faros sells measurement tools and the numbers are correlations, so treat them as directional. In <a href="https://www.atlassian.com/blog/developer/developer-experience-report-2025">Atlassian's 2025 developer experience survey</a>, 68% of developers saved more than 10 hours a week with AI, while 50% lost 10+ hours a week, largely to organizational inefficiencies.</p>
<p><a href="https://research.google/pubs/dora-2025-state-of-ai-assisted-software-development-report/">DORA's 2025 report</a> puts it in one line: AI "magnifies the strengths of high-performing organizations and the dysfunctions of struggling ones."</p>
<p>Adam sees the same thing one level up. "The supporting roles, either the managers or the PMs, may not be scaling that fast." Some PMs Adam knows can't write PRDs as fast as their teams now consume them.</p>
<p>Faster teams don't automatically deliver more. They move the queue to the people who route the work, and on most teams that person is the engineering manager.</p>
<h2>The engineers now manage agents</h2>
<p>In the 1:1s, Adam hears the same story. A developer hands a task to an agent, the agent runs for hours, and one engineer now brings his own grips to the office foosball table, "because his agent is working for him." <a href="https://addyo.substack.com/p/the-80-problem-in-agentic-coding">A Hacker News commenter, quoted by Addy Osmani</a>, said it shortest: "You're not coding anymore, you're supervising."</p>
<p>"Developers are becoming managers of the agents... That's basically what I was doing as a manager, and I was hoping for the best," Adam says. Some engineers decided "this tool is not for me," others need parallel agents explained "like a branching mechanism," and for Adam "it is really about the mindset of the people." Those conversations take the manager's time, and at 26 people that time has to come from the routing.</p>
<h2>Write the routing down before you automate any of it</h2>
<p>We started with a list of what Adam repeats every week.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/weekly-routines.webp" alt="Slide: what do I repeat every week? Chasing status updates, collecting context, spotting risk, preparing 1:1s" style="display:block;margin:0 auto" />

<p><em>For each routine we asked one question: which part can AI do, and which part needs Adam?</em></p>
<p>Spotting risk, for example, means catching a project that should end next quarter while the work is "still 10% in." None of the four is leadership. All of it is routing, and it lands on the manager because the how lives only in the manager's head.</p>
<p>So we wrote it down. Adam talked it through with Claude first: "I started talking to Claude and I explained what I do, and we started writing some rules." Each rule got an id like SU-5. Here is the weekly status rule:</p>
<pre><code class="language-markdown"># weekly-status.md
# Expect a weekly update when the project
- is in progress, has a dev-complete date,
  or has 2+ issues in the current sprint
# Flag it as at risk when
- the latest update is Yellow or Red
- dev-complete date passed, work still open
# When an update is overdue
- draft a short, friendly nudge
- send it only after I confirm
</code></pre>
<p>The ids are there for the hard conversations. When a project gets flagged and someone disagrees, they point at SU-5. As Adam says, "we argue about the rule, not about feelings."</p>
<p>Writing the rule is the hard part, and Adam admits it: "It is the hard part at the beginning." A manager knows in seconds that a project is at risk. Naming the conditions that made them think so is slower, and that naming is the delegation.</p>
<blockquote>
<p>The better you can explain your judgment, the more reliably you can delegate it.</p>
</blockquote>
<h2>A script runs the rules. AI only gets the judgment calls.</h2>
<p>This is the part we built together. For years I've built dashboards on dev team efficiency, and they are how I was able to lead 80+ teams. With Adam, we extended that idea with AI into an EM Dashboard, so a tech manager spends less time on operational issues and doesn't burn out.</p>
<p>Adam's first version, two years ago, was a static page that only showed data. Together we spent 4 months building the EM Dashboard on Adam's real use cases, with Augment Code and then Claude Code. It has 9 screens and costs about $170 a month, for the automated data pumps and the LLM calls that help draft replies.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/rules-as-code.webp" alt="Diagram slide: five sources feed about 100 rules run as code every 4 hours with no AI tokens, and the Anthropic API handles only summaries, drafts and the top five" style="display:block;margin:0 auto" />

<p><em>"My agent doesn't run all day. A script does, and it calls AI only when it needs judgment."</em></p>
<p>Under the screens it's plain plumbing. Data pumps pull Jira, Slack, email, the calendar and CI every 4 hours with read-only access, and store the raw pulls and a cleaned-up database of people, projects and updates. A plain script then checks about 100 rules, kept in 5 plain-English files, over that database. It spends zero AI tokens and gives the same answer twice.</p>
<p>Adam explains why that matters: "once you have algorithms you are not consuming the tokens, and I can refresh the database quite often without spending a single token."</p>
<p>Only when the work needs understanding does the script call Claude through the Anthropic API, with just the records the rule selected: summarising a long Slack thread, drafting an update, picking the top five. The result comes back into the app as a draft, with the sources and rules it used. That keeps it cheap, predictable and easy to check, because the rules are code we can read.</p>
<p>The diagram follows the design we built.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/architecture-diagram.webp" alt="Architecture diagram: five sources, data pumps every 4 hours, storage on AWS, a rules engine, Claude for judgment, the app, and an approval gate before any write; illustrative architecture" style="display:block;margin:0 auto" />

<p><em>Five sources, data pumps, storage on AWS as one option, the rules engine, Claude for judgment, and an approval gate in front of the tools. Illustrative architecture.</em></p>
<p>The second design choice is the line between reading and acting. Everything that only reads runs on its own; everything that touches a person waits for Adam's yes. In practice that's a Jira comment, a Slack nudge, a moved meeting or a report to Adam's manager, each held in the app until then.</p>
<table>
<thead>
<tr>
<th>Routing job</th>
<th>Script, by rule, no tokens</th>
<th>Claude</th>
<th>Waits for Adam's yes</th>
<th>Stays with Adam</th>
</tr>
</thead>
<tbody><tr>
<td>Chasing status</td>
<td>who owes an update, what is late</td>
<td>drafts a friendly nudge</td>
<td>sending the nudge</td>
<td>the talk when it keeps slipping</td>
</tr>
<tr>
<td>Collecting context</td>
<td>pulls Jira, Slack, email, calendar and CI every 4 hours</td>
<td>summarises long threads</td>
<td>nothing, it only reads</td>
<td>the decision</td>
</tr>
<tr>
<td>Spotting risk</td>
<td>flags Yellow and Red updates, passed dev-complete dates</td>
<td>ranks the top five</td>
<td>nothing, it only reads</td>
<td>what to unblock first</td>
</tr>
<tr>
<td>Status reporting</td>
<td>lists the Jira changes and Slack threads</td>
<td>drafts the update, shows the rules it applied</td>
<td>posting it anywhere</td>
<td>the edits</td>
</tr>
<tr>
<td>1:1 prep</td>
<td>collects the shared notes doc, Slack, the feature channel</td>
<td>writes the brief and a suggested agenda</td>
<td>nothing, it only reads</td>
<td>the conversation</td>
</tr>
<tr>
<td>Calendar (added after the scar)</td>
<td>checks the next two weeks of 1:1s every day</td>
<td>proposes fixes</td>
<td>every change</td>
<td>who Adam meets, how often</td>
</tr>
</tbody></table>
<p>The last column is what's left for Adam: the decisions and the conversations. The volume moved to the script.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/pipeline-run-mock.webp" alt="Runs screen: 4-hourly runs with records pulled, rules fired, Claude calls, tokens and cost, and a monthly cost of about $170; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>Every run on one table, a few Claude calls each. Illustrative mock-up, demo data.</em></p>
<p>Next, we plan to bring the monthly cost for models and automations down to about $120, and early in 2027 Q1 to roll the dashboard out to other teams and their EMs.</p>
<h2>We automated the prep and kept the hour</h2>
<p>Here is why the 1:1 brief matters most to Adam: "I want the meeting to be fully owned by the person. I don't want to spend half of the 1:1 on what are you working on and where it is."</p>
<p>The easy way to survive 16+ people is to stretch 1:1s to monthly and keep the status talk inside the ones that survive. Adam kept them bi-weekly and moved the status part to the brief, so the hour went back to the person.</p>
<p>Gallup gives the reason not to cut the hour. <a href="https://www.gallup.com/workplace/700718/span-control-optimal-team-size.aspx">Of employees who strongly agree they got meaningful feedback in the past week, about 7 in 10 are engaged</a>. Of those who didn't, about 1 in 4.</p>
<p>The feedback is the part only the manager can give. I wrote about <a href="https://www.marian.coach/blog/one-on-ones/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">what a good 1:1 is for</a> and about <a href="https://www.marian.coach/blog/manager-as-coach/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">asking questions instead of collecting status</a>. A brief is what makes that possible at 26.</p>
<p>Adam is strict about the line. "It helps me prepare, but I'm still leading the conversation. It is a supporting tool, not the tool which will tell me what I should tell the person or what I should do with the person."</p>
<h2>"His agent was complaining to my agent"</h2>
<p>I trust this part of the case most, because I watched it break.</p>
<p>In August a new direct report joined Adam's team, and Adam wanted a weekly 45-minute 1:1 with her. There was no free slot. Adam asked Claude, and Claude could not find one either. It looked at August, September and October and came back with: there is no room if I follow all the rules you gave me.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/rebuild-26-one-on-ones.webp" alt="Slide: rebuild 26 recurring 1:1s with Claude from a sheet of rules: afternoons only, no Friday 1:1s, respect gym, commute and fixed meetings, a room for every 1:1" style="display:block;margin:0 auto" />

<p><em>The sheet Adam gave Claude at the end of August.</em></p>
<p>The calendar was a map of how fast the org had grown. Every new person got a 1:1 wherever it fit at the time. "I had to do the defragmentation of my calendar."</p>
<p>So Adam wrote the sheet above, with one row per person and the calendar rules on top. Fitting 26 people around those rules by hand would have been "a nightmare", so Claude would cancel all 26 recurring 1:1s and create them again.</p>
<p>Before Claude touched a single invite, Adam told the team in Slack: "Heads-up that Claude is making these changes on my behalf."</p>
<p>What could go wrong? Time zones are the obvious guess. Private 1:1 notes shared with the wrong people is a worse one, and Adam admits to not thinking about that at all.</p>
<p>Three days later one of the engineers replied in the thread. The new slot collided with the engineer's existing 1:1 with a colleague. Under the message, in small grey letters: "Sent using @Claude."</p>
<p>Adam summed it up: "His agent was complaining to my agent."</p>
<p>Adam went back to Claude: I told you to check everyone's calendar before moving the 1:1s.</p>
<p>"You're absolutely right," said Claude. Adam's answer was less polite: fix the slot, go and apologise, and make sure people understood whose mistake it was.</p>
<p>So Claude wrote in the thread, in its own name: "This is a little embarrassing. Entirely my mistake. The good news is it's already fixed." The whole team laughed, because two agents were now sorting out a calendar between themselves.</p>
<p>It took a second, corrected run, and it was the only mistake in 26 moved meetings. Since then, on a 1:1 afternoon Adam sits in the same meeting room for hours and the people simply change.</p>
<p>Then we added the guardrail the first run was missing. A daily agent now checks the 1:1s for the next two weeks: Adam's calendar, the other person's calendar and the room. It proposes fixes.</p>
<blockquote>
<p><strong>Claude rebuilt 26 recurring 1:1s from one sheet of rules. One went wrong, and it taught us what to verify.</strong></p>
</blockquote>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/calendar-rebuild-mock.webp" alt="Calendar screen: a rebuild of 26 recurring 1:1s checked against six rules, with one clash flagged and a Claude fix; illustrative mock-up, demo data" style="display:block;margin:0 auto" />

<p><em>26 1:1s checked against six calendar rules, with one new joiner's clash flagged. Illustrative mock-up, demo data.</em></p>
<p>We took one lesson from it. Delegating to AI doesn't remove accountability. It changes what you need to verify.</p>
<p>Reading the sheet of rules, a human would have checked the other person's calendar without being told. Claude did what the sheet said and nothing more.</p>
<h2>Delegate the work. Keep the responsibility.</h2>
<p>That scar shapes the rules Adam runs the team by. They come from Adam's three principles for 2027.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/three-principles.webp" alt="Slide: three principles for 2027: 1 people first, 2 scale yourself with AI, 3 delegate the work, keep the responsibility" style="display:block;margin:0 auto" />

<p><em>Adam's three principles for 2027.</em></p>
<h3>Lead by example</h3>
<p>Adam shares openly how AI gets used, including what fails. When an experiment breaks, Adam and the team laugh at it together. Adam expects the engineers to use AI but doesn't mandate the tools.</p>
<h3>Talk to me through your agent, if it makes sense</h3>
<p>"It is fully okay if somebody decides to communicate with me through their agents, as long as it makes sense. It is okay if they write a whole document through the agent, as long as it is not AI slop of 60, 70 pages, and they are still able to sign off on it."</p>
<h3>More output isn't more productivity</h3>
<p>You can generate a 20-page PRD in minutes. If it costs everyone hours to review, the team didn't get faster. Engineers own what their agents produce, and managers and leaders own the results too.</p>
<h3>"My agent did it" isn't an excuse</h3>
<p>"It will be very easy to say: it is not my fault, my agent did it. It's always the person who ran the agent who is responsible. Otherwise, this will be a real nightmare."</p>
<p>That applies to Adam too. The calendar mistake was Adam's to own, and the apology went out because Adam asked for it. Adam also writes the Slack messages to the team personally, because they should sound like Adam.</p>
<h3>Claude asks once. The best people keep arguing.</h3>
<p>People first ranks first of the three principles.</p>
<p>"AI rarely keeps arguing with me. It can argue with me once, but once I tell it 'no, go ahead', it will do it. Your best people will argue with you. If something is fishy, they will go and try to prove to you that they are right."</p>
<blockquote>
<p>AI rarely keeps arguing. Your best people do.</p>
</blockquote>
<p>That's the part of the job the system protects. A manager who spends the week routing has no time left to hear the engineer who disagrees. A manager whose routing runs on rules has.</p>
<p>It's also why Adam didn't do it alone. Asked how to keep the same mental capacity at 26 people, Adam named people before tools: "Having the right people and the right team is, I would say, the key."</p>
<p>Asked what to look for in a third lead, Adam listed people first, communication, the ability to work with AI and to set priorities. And one more test: when their team grows, "by amount of people or amount of agents", they keep the pace, so "I would not have to be figuring out how to scale this person."</p>
<h2>Your first AI management workflow, this week</h2>
<p>You don't need nine screens or your own app to start. We started with one rule.</p>
<img src="https://www.marian.coach/images/blog/how-many-direct-reports-too-many/first-ai-workflow.webp" alt="Slide: your first AI management workflow in four steps: pick one task, write 3 to 5 rules, let AI apply them and fix the rules, rerun with every new model" style="display:block;margin:0 auto" />

<p><em>Four steps. The first one fits in an afternoon.</em></p>
<h3>1. Pick one repetitive management task</h3>
<p>The one you dread on Friday is a good candidate. For us it was the weekly status check.</p>
<h3>2. Write down how you decide it, as 3 to 5 rules</h3>
<p>If writing feels hard, let the agent interview you. Open Claude or ChatGPT and say: I want to automate this, ask me questions, and at the end write me an MD file with the rules.</p>
<p>Adam's example for a Friday status check: "Every Friday I check whether my projects are on track. Here are the five things I look for. Help me evaluate this week's updates."</p>
<h3>3. Let AI apply them, and fix the rules where it's wrong</h3>
<p>"Don't care about the tokens," at the start. Run everything through AI and look at the output. When it's wrong, don't correct the result by hand.</p>
<p>"Go and fix the rules so that you can repeat it next time." Turn the rules into a script later, once they stop changing.</p>
<h3>4. With every new model, run the same rules again</h3>
<p>Some of Adam's attempts failed because AI could not reach a company portal or the process was too complex. Adam tries again with every new model, because the capabilities keep moving. The same approach covers the vacation catch-up, the quarterly engineering-health slide and the yearly R&amp;D documentation from a year of Jira history.</p>
<p>If you'd rather have a room of your managers write their first rule file together, I run this case as a <a href="https://www.marian.coach/speaker/ai-engineering-manager/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">keynote and hands-on workshop for engineering managers</a>.</p>
<h2>Before you take 16</h2>
<p>Big spans usually happen to managers instead of being chosen. A backfill gets frozen "because the team has Copilot now", a reorg merges two teams, and a year later the manager has 14 people and the same week. I wrote about that drift in <a href="https://www.marian.coach/blog/ai-agents-first-line-engineering-manager/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">what AI agents change for the first-line manager</a>. Sixteen people that happened to you and sixteen people you built a system for are two different jobs.</p>
<p>So before you say yes to 16, check three things.</p>
<h3>Can you write your routing down?</h3>
<p>If you can't list the five things you do every week to keep the team informed, you can't hand them to a script. Start there, before the reorg.</p>
<h3>Who owns your calendar?</h3>
<p>The turning point for Adam was one sentence: "Complaining to my boss that I have too much work or too many meetings is not the solution. Nobody will solve it for me. I need to be the advocate of my calendar, my time and my priorities."</p>
<h3>Who helps you carry the 16?</h3>
<p>Adam has two strong team leads alongside. In my <a href="https://www.marian.coach/blog/ai-engineering-manager-2027/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">2027 career fork post</a> I wrote that a team stays at about eight humans. That holds for a manager who still routes everything by hand. This case is what the other side of the fork looks like when the routing runs on rules.</p>
<p>Which of your weekly routines could you write down as five rules by Friday? If you want help building this for a group of your managers, that's what <a href="https://www.marian.coach/mentor-in-residence/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">Mentor in Residence</a> is for. If it is just you and your calendar, start with <a href="https://www.marian.coach/ai-engineering-manager-mentor/?utm_source=hashnode&amp;utm_medium=referral&amp;utm_campaign=how-many-direct-reports-too-many-202611">AI engineering manager mentoring</a>.</p>
<hr />
<p><em>Marian Kamenistak mentors engineering managers, directors and CTOs. This post first appeared on</em> <a href="https://www.marian.coach/blog/how-many-direct-reports-too-many/"><em>marian.coach</em></a><em>.</em></p>
]]></content:encoded></item></channel></rss>