<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Communication · Jared Lynskey</title>
    <link>https://jared.lynskey.co.nz/en/tags/communication/</link>
    <description>Short stories of value on software engineering and engineering leadership — performance reviews, hiring and scaling teams, CI/CD, DevOps monitoring and agentic AI. Written from Seoul.</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>© 2026 Jared Lynskey</copyright>
    <lastBuildDate>Sat, 07 Nov 2026 00:00:00 +1300</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/en/tags/communication/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Working as a Software Engineer in Korea: Half the Job Is Nunchi</title>
      <link>https://jared.lynskey.co.nz/en/posts/2026/2026-10-22-software-engineer-in-korea/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2026/2026-10-22-software-engineer-in-korea/</guid>
      <pubDate>Thu, 22 Oct 2026 00:00:00 +1300</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>korea</category>
      <category>Seoul</category>
      <category>career</category>
      <category>Nunchi</category>
      <category>communication</category>
      <category>culture</category>
      <category>Engineering Manager</category>
      <category>Hiring</category>
      <category>leadership</category>
      <category>startups</category>
      <category>Freelance</category>
      <category>new zealand</category>
      <description>Working as a software engineer in Korea, from a New Zealander in Seoul since 2019: the engineering travels, but half the job is 눈치 (nunchi), reading what the room wants without anyone saying it. What it is, why &#39;optics&#39; is the wrong word, where it shows up on a dev team, what changed when I became the manager being read, and what I&#39;d tell anyone considering the move.</description>
      <content:encoded><![CDATA[<p>I&rsquo;ve worked in software in Korea since 2019: a research company, two startups, twenty months as an engineering manager, and freelance since October 2025. The engineering travels; a web backend doesn&rsquo;t care which country it&rsquo;s deployed from. What nobody tells you is that the other half of the job is 눈치 (nunchi), the Korean word for reading what a room wants without anyone having to say it. Nobody tells you because saying it out loud would rather defeat the point.</p>
<p>I&rsquo;m a New Zealander based in Seoul. This is what it has looked like from the inside, from both sides of the hiring table, and what I&rsquo;d tell anyone thinking about the move.</p>

<h2 class="relative group">How I got here
    <div id="how-i-got-here" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-i-got-here" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>My route in was a master&rsquo;s in computer science at Kyung Hee University, from March 2017 to February 2019, after a BSc at Waikato and a year in network operations at a telco back home. Every semester our lab went to KSC and KCC, two domestic computing conferences. At KSC 2018 in PyeongChang the sponsors included several of Korea&rsquo;s biggest tech companies, and there were recruitment booths for anyone job hunting, which is worth knowing if you&rsquo;re a grad student here.</p>
<p>Since then:</p>
<table>
	<thead>
			<tr>
					<th style="text-align: left">When</th>
					<th style="text-align: left">Role</th>
					<th style="text-align: left">Where</th>
					<th style="text-align: left">The work</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td style="text-align: left">Jun 2019 – Jun 2020</td>
					<td style="text-align: left">Research Assistant Manager</td>
					<td style="text-align: left">A computer-vision research company</td>
					<td style="text-align: left">Training data generated inside game engines, and a UI for renewable energy monitoring</td>
			</tr>
			<tr>
					<td style="text-align: left">Jun 2020 – Sep 2022</td>
					<td style="text-align: left">Full-stack developer</td>
					<td style="text-align: left">A customer-support SaaS startup</td>
					<td style="text-align: left">The support platform itself, plus its cloud infrastructure and the CI/CD</td>
			</tr>
			<tr>
					<td style="text-align: left">Sep 2022 – Feb 2024</td>
					<td style="text-align: left">Full-stack developer, acting lead</td>
					<td style="text-align: left">A creator-platform startup</td>
					<td style="text-align: left">A platform for content creators and a community app, with backends in Python, Rust and Java</td>
			</tr>
			<tr>
					<td style="text-align: left">Feb 2024 – Oct 2025</td>
					<td style="text-align: left">Engineering manager</td>
					<td style="text-align: left">A Seoul software company</td>
					<td style="text-align: left">A team of engineers, and delivery from scoping through to release</td>
			</tr>
			<tr>
					<td style="text-align: left">Oct 2025 – now</td>
					<td style="text-align: left">DevOps / MLOps engineer</td>
					<td style="text-align: left">Freelance</td>
					<td style="text-align: left">On-premise infrastructure: high-availability PostgreSQL and LLM serving</td>
			</tr>
	</tbody>
</table>
<p>The engineering was the familiar half. The support startup is where I learned how much of shipping software is actually operations, and the creator platform&rsquo;s backend ran on more stacks than I&rsquo;d choose today. The local differences sit at the edges. Naver is a search engine you have to care about: when I launched a new website for Kiwi Alumni, I did its SEO for Google and Naver both. Korean platforms crawl under names you won&rsquo;t guess (Naver&rsquo;s crawler is Yeti, and Kakao&rsquo;s link previews come from one called kakaotalk-scrap). And Korean online banking still wants its own security software installed on your computer.</p>
<p>None of that is the hard part, though.</p>

<h2 class="relative group">What 눈치 is, and why &ldquo;optics&rdquo; isn&rsquo;t it
    <div id="what-눈치-is-and-why-optics-isnt-it" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-%eb%88%88%ec%b9%98-is-and-why-optics-isnt-it" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>눈치 is the sense for what other people think, want or expect, picked up from the situation rather than from anything they&rsquo;ve said. 눈 means &ldquo;eye&rdquo;, and Euny Hong, whose 2019 book <em>The Power of Nunchi</em> is the best-known English introduction, translates the whole word as &ldquo;eye-measure&rdquo;. It turns up in a few everyday phrases. Someone who is 눈치가 빠르다 is quick to read a room. Someone who is 눈치가 없다 can&rsquo;t read one at all, and it isn&rsquo;t a compliment. And 눈치를 보다 is keeping an eye on how others are reacting, usually someone senior, and adjusting to stay on the right side of it.</p>
<p>The English word people reach for is &ldquo;optics&rdquo;, and it&rsquo;s the wrong one. Optics is how something looks from outside, whatever it actually is: &ldquo;the optics of announcing bonuses in the same week as the layoffs&rdquo;. It&rsquo;s about appearances, and it&rsquo;s managed by whoever is being looked at. 눈치 mostly points the other way. It&rsquo;s about how well you see other people, not how you look to them. The two only meet in 눈치를 보다, where you watch everyone else in order to manage how you look to them, and that&rsquo;s the version that turns up in articles about Korean offices.</p>
<p>The examples in those articles are much the same each time: not leaving before your team lead does, the 눈치 people feel about actually taking their annual leave (연차), knowing when you&rsquo;re allowed to go home from a 회식 (a team dinner), and deciding whether to contradict a senior in the meeting or quietly afterwards. Whatever you make of them, they share a shape. Each is a rule that everyone follows and nobody states.</p>
<p>It&rsquo;s a separate problem from the language, too. Korean is in the words. 눈치 is in everything around them.</p>

<h2 class="relative group">Where it shows up on a dev team
    <div id="where-it-shows-up-on-a-dev-team" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-it-shows-up-on-a-dev-team" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>That shape is what dev teams run on. A few months into my first management job I wrote <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-05-05-team-norms/" >a post about team norms</a> that began with this: most of the friction I dealt with wasn&rsquo;t technical. It was people running on different unspoken assumptions about how fast a code review should come back, what &ldquo;done&rdquo; actually means, and whether it&rsquo;s rude to ping someone twice. I didn&rsquo;t use the word then, but that list is what 눈치 reads, every line of it. Each one is a rule a team agrees on without saying, and a newcomer can only pick it up by watching.</p>
<p>In the same post I grumbled about new hires learning the norms &ldquo;as folklore instead of hearing them explicitly during onboarding&rdquo;, and about global teams assuming their baseline is everyone&rsquo;s. Folklore is the best English word I&rsquo;ve found for what 눈치 runs on. When you&rsquo;re the foreigner on the team, yours is the baseline that&rsquo;s off, and the folklore isn&rsquo;t written down anywhere you could read it.</p>
<p>The standup is where it costs the most. In 2023 I wrote about <a href="https://jared.lynskey.co.nz/en/posts/2023/2023-09-23-reactive-vs-proactive-communication/" >a project I was leading that fell behind</a> while I waited for someone to ask about it. Someone finally did, three weeks later, and by then it was a disaster. Good 눈치 doesn&rsquo;t fix that. Reading the room tells you what nobody wants to hear; it doesn&rsquo;t tell you to say it anyway. The habit I took away is the opposite of waiting. Say it first, in writing, before anyone asks: &ldquo;This is taking longer than I thought. Now looking at 8–10 days instead of 5. Want me to cut scope or push the deadline?&rdquo;</p>

<h2 class="relative group">When you&rsquo;re the one being read
    <div id="when-youre-the-one-being-read" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#when-youre-the-one-being-read" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In February 2024 I started managing an engineering team at a Seoul software company, and 눈치 turned round. As a developer I&rsquo;d been the one reading the room. As the manager, I was the room. What I said in a meeting, what I didn&rsquo;t, how quickly I replied and what time I went home were all things other people could now read.</p>
<p>A lot of what I&rsquo;d written as a project lead applies with more force once you&rsquo;re the manager. If people don&rsquo;t feel safe telling you what&rsquo;s broken, <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-01-02-engineeringmanager/" >you&rsquo;ll be the last person to find out</a>. <a href="https://jared.lynskey.co.nz/en/posts/2023/2023-09-25-transperency/" >Sit on information too long</a> and people can sense it, and the rumour mill fills whatever silence you leave. <a href="https://jared.lynskey.co.nz/en/posts/2023/2023-10-13-i-dont-know/" >&ldquo;I don&rsquo;t know&rdquo; feels like failure</a> when five people in a meeting are waiting on your answer, which is exactly why it&rsquo;s worth saying. And the line I keep coming back to: people can&rsquo;t read your intent, only your words. In a team that runs on 눈치 they&rsquo;ll try anyway, from your face, from what you skip and from when you leave, which is a good reason to give them less to guess.</p>
<p>What I leaned on was unglamorous. One-on-ones with everyone, kept about the person rather than the sprint, with the plain question that does most of the work: &ldquo;Is there anything you need from me or the team to help with your tasks?&rdquo;</p>
<p>A short list of team norms, three to five of them, written where everyone could see them, including what happens when the manager breaks one. Going to ask the people who will never speak up in a room of eight, instead of waiting for them to. And an honest &ldquo;no, and here&rsquo;s why&rdquo; in place of a &ldquo;we&rsquo;ll see&rdquo; that never comes up again, because a vague answer is just one more thing to read the room for. A month in, <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-03-03-product-team-outing/" >the product team&rsquo;s outing</a> started at a café with a workshop on each other&rsquo;s values and team norms, which is about as direct an answer to 눈치 as a company can give: a morning spent saying out loud the things that usually go unsaid.</p>

<h2 class="relative group">Being hired as a foreigner
    <div id="being-hired-as-a-foreigner" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#being-hired-as-a-foreigner" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>I don&rsquo;t have a recruiting playbook for Korea. What I have is the hiring manager&rsquo;s side of it, and the advice that falls out of that is 눈치 pointed at the employer before you sign.</p>
<p>When I was hiring as a manager, the developers I most wanted were never on the job boards, and founders, <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-07-01-internships/" >as I&rsquo;ve written before</a>, would much rather hire someone they&rsquo;ve already worked with. So the best way in is anything that lets people see you work first. An internship at a small company has a habit of quietly turning into a job offer. A hackathon gives you a whole weekend of it: in 2023 I was on a team of four that won the Seoul Tech Impact Hackathon, hosted by Lunit Global, with an app for finding street food vendors, who in Korea don&rsquo;t have addresses.</p>
<p>Then there&rsquo;s the <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-07-12-coffee-chats/" >coffee chat</a>. I wrote that how someone behaves in a relaxed conversation tells you more about working with them than a rehearsed interview ever will, and that it runs both ways. For a candidate it&rsquo;s the one chance to read a team before you&rsquo;re inside it. The questions I&rsquo;d ask from the candidate&rsquo;s chair: what&rsquo;s the biggest challenge the team is facing right now, why did you join and what&rsquo;s kept you here, and what&rsquo;s something about working here that might surprise me. That last one is a polite way of asking for the 눈치 up front. Evasive answers about turnover or direction tell you plenty on their own.</p>

<h2 class="relative group">If you&rsquo;re hiring a foreign developer
    <div id="if-youre-hiring-a-foreign-developer" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#if-youre-hiring-a-foreign-developer" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>If you run a team in Korea and you&rsquo;re hiring a developer from somewhere else, the most useful thing you can do is the phrase from that norms post: make the implicit explicit. Don&rsquo;t leave them to learn your rules as folklore. Tell them in the first week how fast reviews are expected back, what &ldquo;done&rdquo; means, whether a second ping is rude, what time people actually go home, and whether taking leave involves anything beyond the form. The last two are the classic 눈치 questions, the ones nobody inside the team thinks to say.</p>
<p>After that it&rsquo;s the boring habits that leave less to read. Tell people before they ask; a Friday email to stakeholders with three bullets (what shipped, what&rsquo;s next, anything you&rsquo;re worried about) takes ten minutes. Ask the quiet ones directly rather than waiting for them in the meeting. Give real answers, &ldquo;no&rdquo; included, with the reason attached. And interview every candidate with the same questions against the same rubric. That one took me a while to learn, but it&rsquo;s the only fair way to compare people; otherwise you end up favouring whoever you spoke to most recently. It also means the candidate who doesn&rsquo;t know your team&rsquo;s unspoken rules gets asked exactly what the one who does gets asked.</p>

<h2 class="relative group">The New Zealand community here
    <div id="the-new-zealand-community-here" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-new-zealand-community-here" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>In 2018, while I was still a student, I took the photos at a Kiwi Chamber leadership breakfast, and wrote afterwards that I really enjoy volunteering for events that promote the relationship between the two countries. Since January 2020 I&rsquo;ve chaired Kiwi Alumni, a community for New Zealanders in Korea and for people who studied in New Zealand and now live and work here. It&rsquo;s a volunteer role, and mostly people work: organising events and building relationships with the New Zealand Embassy and education institutions, plus unglamorous jobs like a new logo and a website members can actually find things on. In 2023 we ran <a href="https://jared.lynskey.co.nz/en/posts/2023/2023-09-22-kiwi-alumni-my-role/" >Kiwi Alumni Night</a> with the Embassy, and it ended up on KTV.</p>
<p>What I wrote after that night is the nearest thing this post has to a thesis. People who&rsquo;ve lived in both Korea and New Zealand understand how to bridge the differences, because they&rsquo;ve experienced both cultures. If you&rsquo;re coming here to work, find those people, wherever you&rsquo;re from. They&rsquo;re the ones who&rsquo;ll tell you in plain words what the room was saying.</p>

<h2 class="relative group">Freelancing from Seoul
    <div id="freelancing-from-seoul" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#freelancing-from-seoul" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>I went freelance in October 2025, after leaving the manager&rsquo;s job. In practice that&rsquo;s contract DevOps and MLOps work, mostly on-premise: a high-availability PostgreSQL cluster, then serving infrastructure for LLMs on the same hardware. More of it has turned out to be quality control than plumbing, watching traces and multi-turn conversations to find where model output drifts. Since February 2026 I&rsquo;ve also been building a marketplace and community app of my own, on the side.</p>
<p>Freelancing doesn&rsquo;t get you out of 눈치; it changes what you read. The first thing I look at anywhere I land is the monitoring, because it tells you more about a team than the README does. That&rsquo;s 눈치 for systems: reading what a team actually does rather than what it says it does.</p>

<h2 class="relative group">What I&rsquo;d tell someone considering it
    <div id="what-id-tell-someone-considering-it" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-id-tell-someone-considering-it" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ol>
<li>Come in through a door where people see you work before they hire you. Mine was a master&rsquo;s. A hackathon, an internship at a small company or your own country&rsquo;s community here do the same job, and the community is where you&rsquo;ll find the people who&rsquo;ve lived on both sides.</li>
<li>Don&rsquo;t rule out small companies; most of my career has been at them. At a ten-person company there&rsquo;s nobody to hand the boring work to, and what you build actually goes live.</li>
<li>Read the team before you join. Use the coffee chat, ask what would surprise you about working there, and take evasive answers about turnover seriously.</li>
<li>Don&rsquo;t wait to be asked. A slipping estimate, a risky change, a decision someone else depends on: say it first, in writing.</li>
<li>Ask for the unwritten rules out loud: how fast reviews come back, what &ldquo;done&rdquo; means, whether a second ping is rude. If nobody has written them down, offer to.</li>
<li>Learn the stack around your stack. Naver and Kakao matter here in ways your Google habits won&rsquo;t cover.</li>
</ol>
<p>The engineering is the half you can prepare for before you arrive. 눈치 is the half you learn on the job, and the quickest way I know to learn it is to ask people to say the quiet part out loud, and to say yours first.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2026/2026-10-22-software-engineer-in-korea/featured.jpg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Why Good Managers Say &#34;I Don&#39;t Know&#34; (and How to Say It Well)</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-10-13-i-dont-know/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-10-13-i-dont-know/</guid>
      <pubDate>Fri, 13 Oct 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Engineering Manager</category>
      <category>Leadership</category>
      <category>Communication</category>
      <category>Management</category>
      <description>Why saying &#34;I don&#39;t know&#34; at work builds trust instead of costing it, how to say it without sounding unprepared, phrases you can actually use, and why it isn&#39;t rude when a next step follows.</description>
      <content:encoded><![CDATA[<p>The managers I&rsquo;ve rated most highly over the years all shared one habit: when they didn&rsquo;t know something, they just said so. No bluffing, no vague hand-waving. &ldquo;I don&rsquo;t know — let&rsquo;s find out.&rdquo;</p>
<p>I&rsquo;ve been thinking about this a lot lately because I&rsquo;ve been leading projects myself, and the temptation to bluff is real. When someone asks you a question in a meeting and five people are waiting on the answer, &ldquo;I don&rsquo;t know&rdquo; feels like failure. It isn&rsquo;t. Most of the time it&rsquo;s the strongest thing you can say, as long as you follow it with what happens next: who you&rsquo;ll ask, or when you&rsquo;ll come back with the answer.</p>

<h3 class="relative group">Bluffing gets found out
    <div id="bluffing-gets-found-out" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#bluffing-gets-found-out" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Software moves too fast for anyone to hold it all in their head, and engineers can smell a bluff from across the room. The first time your team catches you pretending to know something, they quietly downgrade everything else you say. Whereas a manager who admits a gap and then goes and closes it earns the opposite: people trust their actual answers, because they know a real answer when they hear one.</p>

<h3 class="relative group">It&rsquo;s a starting point, not an answer
    <div id="its-a-starting-point-not-an-answer" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#its-a-starting-point-not-an-answer" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The trick is what comes after. &ldquo;I don&rsquo;t know&rdquo; followed by nothing is just shrugging. What good managers do next is ask better questions — &ldquo;how does this compare to what we&rsquo;re using now?&rdquo;, &ldquo;what breaks if we&rsquo;re wrong about this?&rdquo; — and then point those questions at the right people. Every team has someone who practically lives in the database, someone who knows all the ugly frontend edge cases. You don&rsquo;t need to know everything; you need to know who does, and to actually ask them.</p>

<h3 class="relative group">How to say &ldquo;I don&rsquo;t know&rdquo; at work without sounding unprepared
    <div id="how-to-say-i-dont-know-at-work-without-sounding-unprepared" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-say-i-dont-know-at-work-without-sounding-unprepared" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The rule I try to follow: &ldquo;I don&rsquo;t know&rdquo; is never the end of the sentence. A few versions that work out loud:</p>
<ul>
<li>&ldquo;I don&rsquo;t know yet. I&rsquo;ll find out and get back to you by Thursday.&rdquo;</li>
<li>&ldquo;Not sure, but Sam built that service. Let&rsquo;s ask them.&rdquo;</li>
<li>&ldquo;My best guess is X, but I&rsquo;d want to check Y before we commit to it.&rdquo;</li>
<li>&ldquo;I don&rsquo;t have that number to hand. I&rsquo;ll post it in the channel after this meeting.&rdquo;</li>
<li>&ldquo;I haven&rsquo;t looked into that properly, so I&rsquo;d rather not guess. Give me until tomorrow.&rdquo;</li>
</ul>
<p>Is it rude? Not when there&rsquo;s a next step attached. What people find rude, or at least frustrating, is a shrug that leaves them no further along, or a confident answer that turns out to be made up. Job interviews work the same way: if you don&rsquo;t know, say so, then talk through how you&rsquo;d find out. That tells the interviewer more than a guess would.</p>

<h3 class="relative group">Decisions come out better
    <div id="decisions-come-out-better" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#decisions-come-out-better" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Decisions in software tend to stick around, so it&rsquo;s worth being honest about which parts you&rsquo;re sure of and which parts you&rsquo;re guessing. Admitting the gaps up front means you gather what&rsquo;s missing before deciding instead of after, and it gives people who disagree with you room to say so — which is exactly when you most need to hear it. Once you&rsquo;ve decided, explain the why. And if it turns out you were wrong, say that too. Nothing kills a team&rsquo;s honesty faster than a manager who can&rsquo;t admit a bad call.</p>
<p>None of this is complicated. Ask questions, listen to the people who know more than you (there are always people who know more than you), and be upfront when you&rsquo;re guessing. &ldquo;I don&rsquo;t know, but let&rsquo;s find out&rdquo; has done more for my credibility than any answer I&rsquo;ve ever bluffed my way through.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-10-13-i-dont-know/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Transparency in Leadership: When to Tell the Team, and When to Wait</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-09-25-transperency/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-09-25-transperency/</guid>
      <pubDate>Mon, 25 Sep 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Transparency</category>
      <category>Timing</category>
      <category>Effective Leadership</category>
      <category>communication</category>
      <category>management</category>
      <category>team building</category>
      <description>Transparency in leadership isn&#39;t telling the team everything the moment you hear it. My default is to be open, but I&#39;ve learned that context and timing decide whether transparency helps or hurts.</description>
      <content:encoded><![CDATA[<p>My default is to tell the team everything. It took a few misfires to work out that &ldquo;everything, immediately, unfiltered&rdquo; isn&rsquo;t really transparency. Half the time it&rsquo;s just offloading my own anxiety onto everyone else. The hard question was never whether to be open. It&rsquo;s how, and when.</p>

<h4 class="relative group">Why openness is still my default
    <div id="why-openness-is-still-my-default" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-openness-is-still-my-default" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>The standard arguments for transparency are all true, and I&rsquo;ve seen each of them play out. When people understand the reasoning behind a decision, they trust it, even when they don&rsquo;t love it. When they have the same information I do, they make good calls without waiting on me. And nobody enjoys discovering they were out of the loop on something that affected them.</p>

<h4 class="relative group">Where raw transparency goes wrong
    <div id="where-raw-transparency-goes-wrong" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#where-raw-transparency-goes-wrong" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Three ways, mostly.</p>
<p>Volume. Forwarding every half-formed update buries the things that actually matter, and people learn to tune out.</p>
<p>Context. Raw information without the surrounding story breeds confusion. &ldquo;We&rsquo;re reviewing the roadmap&rdquo; means one thing with an explanation attached, and something much scarier without one.</p>
<p>Timing. Share something before it&rsquo;s actually decided and the team spends a week speculating about outcomes that were never on the table. Half-decided news can eat more energy than the final decision ever does.</p>

<h4 class="relative group">Waiting isn&rsquo;t the same as hiding
    <div id="waiting-isnt-the-same-as-hiding" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#waiting-isnt-the-same-as-hiding" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Choosing the moment to share something sounds manipulative. Done honestly, it&rsquo;s the opposite: it&rsquo;s making sure news arrives with enough context to be understood. Bad news lands softer when it comes with a plan attached. Good news lands better when it isn&rsquo;t buried in a Friday afternoon dump.</p>
<p>But waiting has a cost, and it compounds. Sit on information too long and people can sense it. The rumour mill fills any vacuum you leave, and rumours are reliably worse than reality. And if someone is consistently the last to know, they read it as a statement about their worth. Fair enough, too — it usually is one.</p>

<h4 class="relative group">How I decide now
    <div id="how-i-decide-now" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-i-decide-now" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Before sharing (or holding back) something sensitive, I run through a few questions. Does the team need this to do their jobs, or do I just want it off my chest? Can I explain the context properly yet, or would I be handing over raw fragments? And how is this likely to land — do I have answers ready for the obvious follow-up questions?</p>
<p>Then, whichever way I go: deliver context along with the information, make it easy for people to ask questions afterwards, and pay attention to how it went so the next call is better calibrated. Different people want different amounts of detail, and you only learn that by watching and asking.</p>
<p>Default to openness, add context, and think for a minute about how it&rsquo;ll land before you hit send. That covers most situations I&rsquo;ve run into so far.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-09-25-transperency/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Empathy in Leadership: How Much Is Too Much? (With Examples)</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-09-24-empathy-in-management/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-09-24-empathy-in-management/</guid>
      <pubDate>Sun, 24 Sep 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Empathy</category>
      <category>Management</category>
      <category>Right Balance</category>
      <category>leadership</category>
      <category>team dynamics</category>
      <category>communication</category>
      <description>What empathy in leadership means in practice, examples of it done well and overdone, where too much empathy starts hurting the team, and the one check-in question that does most of the work.</description>
      <content:encoded><![CDATA[<p>Every piece of management advice I&rsquo;ve read this year says the same thing: be more empathetic. Fine. What none of it tells you is where the line is.</p>
<p>I&rsquo;ve been finding that line the hard way. I&rsquo;m a developer who ended up leading a project team, not someone who trained for this, so most of what follows was learned by getting it slightly wrong first.</p>

<h3 class="relative group">What empathy in leadership actually means
    <div id="what-empathy-in-leadership-actually-means" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-empathy-in-leadership-actually-means" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Empathy in leadership means understanding how the people on your team are actually doing, and letting that carry real weight when you make decisions, give feedback, or decide how the team works. It isn&rsquo;t agreeing with everyone, and it isn&rsquo;t being pleasant in meetings: you can understand someone&rsquo;s situation completely and still say no. When people can tell their situation gets factored in, they relax, they speak up earlier, and the work genuinely goes better. That part of the standard advice holds up.</p>

<h3 class="relative group">Too little hurts. So does too much.
    <div id="too-little-hurts-so-does-too-much" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#too-little-hurts-so-does-too-much" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The failure everyone warns you about is the cold manager who treats people as resource allocations. That one&rsquo;s real: ignore what&rsquo;s going on in someone&rsquo;s life and they go quiet, morale drops, and you find out about problems months late.</p>
<p>The failure nobody warns you about is the opposite. If you accommodate everything, boundaries blur. Deadlines turn into suggestions. And the people quietly holding the standard start to resent covering for the ones who aren&rsquo;t held to it. I&rsquo;ve caught myself over-accommodating because it felt kind in the moment — it wasn&rsquo;t kind to the rest of the team.</p>

<h3 class="relative group">Examples of empathy in leadership, done well and overdone
    <div id="examples-of-empathy-in-leadership-done-well-and-overdone" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#examples-of-empathy-in-leadership-done-well-and-overdone" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The difference is easier to see side by side. None of these are rules, just the shape I&rsquo;d aim for:</p>
<table>
	<thead>
			<tr>
					<th>Situation</th>
					<th>Done well</th>
					<th>Overdone</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>A 1:1 with someone who&rsquo;s struggling</td>
					<td>Ask &ldquo;what&rsquo;s making this hard right now?&rdquo; and agree one thing you&rsquo;ll change</td>
					<td>Spend the hour sympathising and agree nothing</td>
			</tr>
			<tr>
					<td>Someone&rsquo;s having a rough time outside work</td>
					<td>Lighten their load for a few weeks with a date to review it, and tell the team work is being rebalanced without saying why</td>
					<td>Quietly take work off them with no end date and let everyone else absorb it</td>
			</tr>
			<tr>
					<td>Deadlines keep slipping</td>
					<td>Ask what&rsquo;s getting in the way, while being clear the deadline still matters</td>
					<td>Keep moving the deadline so the conversation never has to happen</td>
			</tr>
			<tr>
					<td>Feedback on weak work</td>
					<td>Private, specific, about the work, with an example of what good looks like</td>
					<td>Softened so much they don&rsquo;t realise anything was wrong</td>
			</tr>
			<tr>
					<td>A request you can&rsquo;t grant</td>
					<td>&ldquo;Not right now. Here&rsquo;s why, here&rsquo;s what I can do, and I&rsquo;ll come back to it next month.&rdquo;</td>
					<td>&ldquo;We&rsquo;ll see,&rdquo; and it&rsquo;s never mentioned again</td>
			</tr>
	</tbody>
</table>
<p>Everything in the overdone column has one thing in common: it feels kind in the moment, and it pushes the cost onto later, or onto someone else.</p>

<h3 class="relative group">Check-ins do most of the work
    <div id="check-ins-do-most-of-the-work" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#check-ins-do-most-of-the-work" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>What keeps me somewhere near the right balance isn&rsquo;t a philosophy. It&rsquo;s a recurring calendar slot. Regular one-on-ones mean small problems surface while they&rsquo;re still small, instead of arriving all at once as a resignation letter.</p>
<p>Mine loosely cover the same ground each time: what&rsquo;s blocking you, what&rsquo;s gone well lately, how the team is working together, where you want to grow, and what I could be doing differently.</p>
<p>The most useful question I&rsquo;ve found is a plain one: &ldquo;Is there anything you need from me or the team to help with your tasks?&rdquo; It sounds mundane. It isn&rsquo;t. It signals that I expect to be part of the solution, and the answers are almost always concrete things I can actually fix — access to someone, a decision that&rsquo;s been floating, an hour of pairing.</p>

<h3 class="relative group">Being straight when the answer is no
    <div id="being-straight-when-the-answer-is-no" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#being-straight-when-the-answer-is-no" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Check-ins generate requests, and you can&rsquo;t grant them all. How you handle the ones you can&rsquo;t is where trust gets made or lost.</p>
<p>What works for me: take the request seriously and say so, explain why it can&rsquo;t happen right now, offer whatever partial alternative exists, say when you&rsquo;ll look at it again — and then actually come back to it, even if the answer hasn&rsquo;t changed.</p>
<p>None of that makes a &ldquo;no&rdquo; fun to deliver. But people handle an honest &ldquo;no, and here&rsquo;s why&rdquo; far better than a vague &ldquo;we&rsquo;ll see&rdquo; that&rsquo;s never mentioned again.</p>
<p>That&rsquo;s about as close to a formula as I&rsquo;ve got: care about how people are doing, be honest about what the work needs, and check in often enough to notice when you&rsquo;ve drifted too far in either direction.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-09-24-empathy-in-management/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Async Communication at Work: What It Means, and the Trust It Takes</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-09-20-async-and-auto-flow/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-09-20-async-and-auto-flow/</guid>
      <pubDate>Wed, 20 Sep 2023 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Async Communication</category>
      <category>Remote Work</category>
      <category>Autonomy</category>
      <category>Communication</category>
      <category>Management</category>
      <description>What async communication means at work and how it differs from synchronous, an example of a good async update, and why moving to autonomous teams is about trust more than tools.</description>
      <content:encoded><![CDATA[<p>Asynchronous (async) communication is any message people can read and answer in their own time: a written update, a doc, a comment on a ticket, a recorded video. Synchronous communication needs everyone there at once, like a meeting, a call, or a chat message that expects an answer right now. Most teams need both; the trouble starts when every decision has to wait for the synchronous kind.</p>
<p>The slowest part of most projects I&rsquo;ve worked on wasn&rsquo;t the code. It was the queue: decisions stacked up behind one manager&rsquo;s calendar, waiting for a nod that took three days to arrive. Async communication and autonomous teams are the standard fix, and I&rsquo;m a believer, but the shift is mostly a trust problem dressed up as a tooling problem.</p>

<h3 class="relative group">Why everything needs a sign-off in the first place
    <div id="why-everything-needs-a-sign-off-in-the-first-place" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-everything-needs-a-sign-off-in-the-first-place" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>It&rsquo;s worth being fair about where approval culture comes from. Control feels like precision — if every decision crosses the manager&rsquo;s desk, nothing drifts off course. A bad call doesn&rsquo;t just dent the project, it dents the manager&rsquo;s reputation, so fear does a lot of the work. Sometimes there&rsquo;s genuine doubt about whether the team has the experience to decide well. And sometimes it&rsquo;s pure residue: the org chart has always worked this way, so it keeps working this way.</p>
<p>Notice that only one of those four reasons is actually about the team. The rest are about the manager.</p>

<h3 class="relative group">What autonomy actually requires
    <div id="what-autonomy-actually-requires" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-autonomy-actually-requires" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Autonomy without alignment is just chaos with better morale. If people genuinely understand the objectives, their independent decisions mostly point in the same direction — that&rsquo;s the whole trick. Training matters too, because a well-equipped person is easier to trust than an enthusiastic one. And keep some boundaries: certain decisions genuinely should stay with management, and saying which ones out loud prevents the worst surprises. After that, let the feedback loop run and treat the inevitable mistakes as tuition rather than evidence.</p>
<p>If trust has already been damaged — and in teams crawling out of approval culture, it usually has, in both directions — there&rsquo;s no shortcut. Name the problem in an open conversation, let management own its share of the mistakes first, and then be boringly consistent for months. Clear roles and regular check-ins do more repair work than any grand gesture.</p>

<h3 class="relative group">The async part is the easy part
    <div id="the-async-part-is-the-easy-part" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-async-part-is-the-easy-part" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Tools first, but briefly: Slack or Microsoft Teams will do fine. The real work is documentation — when nobody&rsquo;s in the same room or the same timezone, written decisions become the team&rsquo;s memory. Set response norms so async doesn&rsquo;t quietly become unresponsive; &ldquo;within a day&rdquo; beats &ldquo;whenever&rdquo;, and they belong in the team&rsquo;s <a href="https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/" >communication plan</a> next to who gets which update. And actually teach people to write a good async update, because the skill isn&rsquo;t innate: enough context to decide, the decision needed, and a deadline. Something like this:</p>
<blockquote><p><strong>Decision needed by Thursday: payment retries</strong><br>
Failed card payments currently retry once, after 24 hours, and &ldquo;where&rsquo;s my order?&rdquo; is now our most common support ticket.<br>
Option A: retry three times within 24 hours (about half a day&rsquo;s work). Option B: leave it and email the customer instead.<br>
I&rsquo;d go with A. Details and numbers are in the linked doc.<br>
If there are no objections by 5pm Thursday, I&rsquo;ll start on A.</p>
</blockquote><p>Anyone can read that at 7am or 11pm, in any timezone, and answer it without a meeting.</p>
<p>You can roll out Slack in an afternoon. The trust takes months, and it&rsquo;s the part that decides whether any of this works. Get the objectives clear and make mistakes cost a lesson instead of a career — the async part mostly takes care of itself after that.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-09-20-async-and-auto-flow/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Project Communication Plan: A Template and Example for Software Teams</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/</guid>
      <pubDate>Fri, 02 Jun 2023 11:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>Project Management</category>
      <category>Communication Plan</category>
      <category>Communication</category>
      <category>Stakeholder Management</category>
      <category>Engineering Management</category>
      <category>Remote Work</category>
      <description>A project communication plan says who needs to know what, how often, through which channel, and who tells them. What goes in one, an example plan for a software project you can copy, and the habits that keep it working.</description>
      <content:encoded><![CDATA[<p>A project communication plan is a short table that says who needs to know what about a project, how often, through which channel, and who is responsible for telling them. Mine fits on one page, with one row per audience, from the dev team up to the CEO. Below is the one I&rsquo;d start a software project with, and the notes I&rsquo;ve been keeping on what makes project communication actually work.</p>
<p>Most of the project messes I&rsquo;ve been pulled into weren&rsquo;t caused by bad code. They were caused by the right information not reaching the right person until it was too late. Since stepping up as project lead at work, I&rsquo;ve been keeping notes on how I&rsquo;d want to run communication if I ever end up in the CTO seat. Here they are.</p>

<h4 class="relative group">Decide who needs to know what
    <div id="decide-who-needs-to-know-what" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#decide-who-needs-to-know-what" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>The unglamorous foundation is a communication plan: who needs to be informed, what they need, how often, and through which channel. I&rsquo;d push for one at the start of every project, with names attached — communication that&rsquo;s everyone&rsquo;s job ends up being no one&rsquo;s job. The same goes for stakeholders: work out who actually cares about the project, learn how each of them prefers to be updated, and don&rsquo;t send the CEO the same update you post in the dev channel. Finally, set a few explicit protocols — expected response times, what counts as urgent, which channel is for what. Most &ldquo;communication problems&rdquo; are really just unstated expectations.</p>

<h4 class="relative group">An example communication plan for a software project
    <div id="an-example-communication-plan-for-a-software-project" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#an-example-communication-plan-for-a-software-project" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>This is the plan I&rsquo;d start with and then adjust. Each row is an audience, not a meeting:</p>
<table>
	<thead>
			<tr>
					<th>Audience</th>
					<th>What they need to know</th>
					<th>How often</th>
					<th>Channel</th>
					<th>Who tells them</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Dev team</td>
					<td>What&rsquo;s in progress, what&rsquo;s blocked, decisions that change the code</td>
					<td>Daily</td>
					<td>Stand-up and the team&rsquo;s chat channel</td>
					<td>Tech lead</td>
			</tr>
			<tr>
					<td>Product owner</td>
					<td>Progress against the sprint goal, scope questions, new risks</td>
					<td>Twice a week, and whenever scope changes</td>
					<td>Short call or a chat thread</td>
					<td>Project lead</td>
			</tr>
			<tr>
					<td>Leadership</td>
					<td>One-line status, risks to the date or budget, decisions they need to make</td>
					<td>Weekly</td>
					<td>A written update of one paragraph</td>
					<td>Project lead</td>
			</tr>
			<tr>
					<td>Sales, support and ops</td>
					<td>What&rsquo;s shipping, when, and what changes for customers</td>
					<td>Every release</td>
					<td>Release notes</td>
					<td>Product owner</td>
			</tr>
			<tr>
					<td>Users or clients</td>
					<td>What&rsquo;s new and what&rsquo;s coming</td>
					<td>Every release</td>
					<td>Changelog or an in-app notice</td>
					<td>Product owner</td>
			</tr>
			<tr>
					<td>Everyone</td>
					<td>What was decided, and why</td>
					<td>When it&rsquo;s decided</td>
					<td>A decision log in the issue tracker or wiki</td>
					<td>Whoever made the decision</td>
			</tr>
	</tbody>
</table>
<p>Underneath the table go the protocols, written as plainly as possible: urgent means it blocks a release or a customer, so call rather than message; questions go in chat, decisions go in the tracker; replies within a working day. For the decision log I use <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-12-03-decision-docs/" >decision documents</a>, kept as <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-01-04-githubforprojectmanagement/" >GitHub Issues</a> so they sit next to the work.</p>
<p>Two things make a plan like this work. Every row has a name in the last column, and the leadership update is written rather than spoken, so it can be forwarded without losing anything.</p>

<h4 class="relative group">Tools and rhythms
    <div id="tools-and-rhythms" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tools-and-rhythms" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Tools matter less than people argue about them. Slack for chat, Trello for tasks, Zoom when a conversation needs faces — pick what fits the team and move on. Rhythm matters more: daily stand-ups if you&rsquo;re working agile, weekly updates on longer cycles, and actually holding to them. And write things down. Decisions, changes, action items — into Notion or Jira, as part of the process rather than an afterthought. Six months later, the doc is the only memory anyone has.</p>

<h4 class="relative group">The soft parts are the hard parts
    <div id="the-soft-parts-are-the-hard-parts" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-soft-parts-are-the-hard-parts" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Everything above is mechanics. The harder work is asking the team whether the communication is actually working, and changing it when it isn&rsquo;t. It&rsquo;s training people up, too — teams come from varied backgrounds, and not everyone has seen a well-run project before. It&rsquo;s listening properly instead of waiting for your turn to talk, and dealing with conflict early, while it&rsquo;s still small. None of it stays solved, either: what worked last quarter quietly stops working, so keep checking.</p>

<h3 class="relative group">Working as a distributed/asynchronous development team
    <div id="working-as-a-distributedasynchronous-development-team" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#working-as-a-distributedasynchronous-development-team" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>This talk is worth your time if your team is remote or async-heavy:
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
			<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/5lVijFaXaKs?autoplay=0&amp;controls=1&amp;end=0&amp;loop=0&amp;mute=0&amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
		</div>
</p>
<p>I don&rsquo;t do all of this perfectly — nobody does. But every project that went smoothly for me had most of these in place, and every one that hurt was missing at least three.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-06-02-project-frameworks-for-future-cto/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>How to Give Feedback to Someone Who Gets Defensive</title>
      <link>https://jared.lynskey.co.nz/en/posts/2023/2023-03-18-empathic-feedback/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2023/2023-03-18-empathic-feedback/</guid>
      <pubDate>Sat, 18 Mar 2023 11:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>feedback</category>
      <category>communication</category>
      <category>management</category>
      <category>emotional intelligence</category>
      <category>leadership</category>
      <category>professional development</category>
      <description>To give feedback to someone who gets defensive, lower the threat before you raise the issue: one specific behaviour, its impact, a question, then a way forward. What I say, what I do when they push back, and when to stop.</description>
      <content:encoded><![CDATA[<p>To give feedback to someone who tends to get defensive, make the conversation feel less like a threat before you get to the issue. Talk to them privately and soon after it happens, and pick one thing. Describe a specific behaviour and its impact rather than their character, then ask for their view before you suggest a fix. If they push back, don&rsquo;t push harder. Acknowledge how they&rsquo;re feeling, go back to the facts, and be willing to finish the conversation another day.</p>
<p>That&rsquo;s the short version. The longer one is below, because I&rsquo;ve had feedback conversations go wrong the same way more times than I&rsquo;d like to admit: I raise something, the other person&rsquo;s shoulders go up, and from that moment neither of us is really listening.</p>

<h4 class="relative group">Why people get defensive in the first place
    <div id="why-people-get-defensive-in-the-first-place" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-people-get-defensive-in-the-first-place" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Defensiveness isn&rsquo;t stubbornness, or at least it rarely starts that way. It&rsquo;s what people do when they feel threatened, and feedback threatens more than we tend to think. You&rsquo;re nominally talking about a pull request or a missed deadline. What the other person hears is a question about whether they&rsquo;re good at their job, whether they belong on the team, whether you&rsquo;ve been quietly thinking this for months.</p>
<p>Once someone feels that, their attention goes to protecting themselves, not to the point you&rsquo;re making. Arguing harder only confirms the threat. So most of what works below is about lowering the stakes first and only then getting to the substance.</p>
<p>It also helps to remember that some people come into these conversations already bruised. A previous manager who only ever spoke up to criticise, a culture where mistakes got people sidelined. You can&rsquo;t fix that history in one meeting, but it explains why a mild comment sometimes gets a much bigger reaction than it deserves.</p>

<h4 class="relative group">Before the conversation
    <div id="before-the-conversation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#before-the-conversation" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Most feedback conversations are decided before they start. A few things I do now that I didn&rsquo;t used to:</p>
<p>I pick one thing. If I&rsquo;ve saved up five issues, the person hears a prosecution, not feedback. The other four can wait, and often turn out to be symptoms of the first one anyway.</p>
<p>I do it soon. Feedback about something that happened six weeks ago lands as &ldquo;why are you only telling me now?&rdquo;, which is a fair question with no good answer. A day or two after the event is about right: soon enough that it&rsquo;s fresh, late enough that neither of you is still hot.</p>
<p>I do it privately, and I don&rsquo;t do it over chat if I can avoid it. Written feedback loses tone, and a defensive reader fills the missing tone in with the worst possible version. If it has to be written because the team is remote or across timezones, I keep it short and offer a call.</p>
<p>And I check my own state. If I&rsquo;m annoyed, the other person will pick it up within the first sentence, whatever words I use. Some feedback I&rsquo;ve given would have gone much better if I&rsquo;d waited until I&rsquo;d stopped being irritated.</p>

<h4 class="relative group">What to actually say
    <div id="what-to-actually-say" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-to-actually-say" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>The structure I keep coming back to is the one usually called situation, behaviour, impact (SBI): when it happened, what they did, and what it caused. The point is that each part is observable. There&rsquo;s nothing in it about who they are, only about what happened.</p>
<p>Here&rsquo;s the difference in practice. Say a developer merged a change on a Friday afternoon without waiting for review, and it broke checkout over the weekend.</p>
<p>The version that gets walls up: &ldquo;You always rush things out. You need to be more careful.&rdquo;</p>
<p>The version that has a chance: &ldquo;On Friday the payment change went in without a review, and checkout was down for a few hours on Saturday. I&rsquo;d like to understand what happened, because I don&rsquo;t think it was carelessness.&rdquo;</p>
<p>The second one names one event, says plainly what it cost, and ends by assuming good intent. &ldquo;Always&rdquo; and &ldquo;never&rdquo; are the words that do the most damage. They turn one incident into a judgement of character, and the other person will immediately think of the counterexample that proves you wrong.</p>
<p>I also try to own the observation. &ldquo;I noticed&rdquo; and &ldquo;I&rsquo;m concerned&rdquo; are honest about the fact that this is my view, offered from my side, and they leave room for me to have missed something. Often I have.</p>
<p>Then I stop talking and ask. &ldquo;How did it look from your side?&rdquo; There&rsquo;s usually context I didn&rsquo;t have, like a deadline someone else set or a reviewer who was off sick. Even when there isn&rsquo;t, the question tells the person this is a conversation and not a verdict.</p>
<p>Feedback also lands far better with a way forward attached. Not a list of problems but &ldquo;next time, could we&hellip;&rdquo;. Better still if the way forward comes from them.</p>

<h4 class="relative group">When they push back anyway
    <div id="when-they-push-back-anyway" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#when-they-push-back-anyway" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>You can do everything right and still get resistance. It tends to come in a few recognisable forms, and each one needs a slightly different response.</p>
<p>The most common is denial: &ldquo;that&rsquo;s not what happened.&rdquo; Don&rsquo;t argue about it. Go back to what you both can see, like the commit, the message or the date, and ask what you&rsquo;re missing. If the facts really are disputed, it&rsquo;s fine to say &ldquo;let&rsquo;s both look at it again and pick this up tomorrow.&rdquo;</p>
<p>Then there&rsquo;s deflection, as in &ldquo;well, the requirements kept changing&rdquo; or &ldquo;so-and-so does it too&rdquo;. There&rsquo;s often some truth in it, so acknowledge it rather than dismissing it: &ldquo;That&rsquo;s fair, and we should fix the requirements problem too.&rdquo; Then bring it back gently: &ldquo;Separately from that, I want to talk about the review step.&rdquo;</p>
<p>A counter-attack, like &ldquo;you merge things without review all the time&rdquo;, is the hardest one not to match. Take a breath. If they&rsquo;re right, say so, because it&rsquo;s the fastest way to lower the temperature, and you&rsquo;ve just shown the openness you&rsquo;re asking them for. Then come back to the original point.</p>
<p>Shutting down, whether that&rsquo;s silence or &ldquo;fine, whatever you say&rdquo;, looks like agreement and isn&rsquo;t. I&rsquo;ll name it softly, something like &ldquo;it seems like this didn&rsquo;t land well, and that&rsquo;s okay&rdquo;, and offer to continue later. Forcing a response from someone who&rsquo;s withdrawn just gets you a fake one.</p>
<p>Over-apologising (&ldquo;I&rsquo;m terrible at this, I&rsquo;m so sorry&rdquo;) is defensiveness too, just pointed inwards. The person is protecting themselves by getting the criticism in first. Reassure them that it&rsquo;s one specific thing and not their whole performance, and move on to what happens next.</p>
<p>Through all of these, the one rule I try to hold is not to match their energy. When someone gets defensive, my instinct is to get defensive right back, and that&rsquo;s the one move guaranteed to sink the conversation. If I stay level, the temperature usually comes down on its own. It helps to say the feeling out loud, something like &ldquo;I can tell this is frustrating to hear&rdquo;, rather than pretending the tension isn&rsquo;t in the room.</p>

<h4 class="relative group">Know when to stop
    <div id="know-when-to-stop" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#know-when-to-stop" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Sometimes none of it works and the walls stay up. Pushing harder at that point achieves nothing. It&rsquo;s fine to park the conversation and come back in a day or two once things have settled. The feedback will still be true tomorrow, and people are often much more reflective once they&rsquo;ve had a night to sleep on it. Some of the best follow-up conversations I&rsquo;ve had started with the other person saying &ldquo;I&rsquo;ve been thinking about what you said.&rdquo;</p>
<p>That one took me the longest to learn.</p>

<h4 class="relative group">After the conversation
    <div id="after-the-conversation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#after-the-conversation" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>What happens in the following week matters as much as the conversation itself. If the person changes the behaviour, say you&rsquo;ve noticed, explicitly and soon. That&rsquo;s how they learn feedback from you isn&rsquo;t only ever bad news, and it makes the next conversation easier.</p>
<p>And ask, when it fits, how the feedback landed. &ldquo;Was that fair?&rdquo; balances things and shows the openness you&rsquo;re hoping for in return. When I moved into management I started doing this routinely, and it caught a couple of times where I&rsquo;d been clearer in my head than out loud.</p>

<h4 class="relative group">In short
    <div id="in-short" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#in-short" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Lower the threat before you raise the issue. Pick one thing, raise it privately and soon, describe the behaviour and its impact rather than the person, and ask for their side before suggesting a fix. When they push back, don&rsquo;t match it. Acknowledge the feeling, return to the facts, and be willing to stop and pick it up another day. Then follow up, because the conversation after the conversation is where trust gets built.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2023/2023-03-18-empathic-feedback/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
  </channel>
</rss>
