<?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>Leadership · Jared Lynskey</title>
    <link>https://jared.lynskey.co.nz/en/tags/leadership/</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/leadership/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>Engineering Team Norms That Actually Stick</title>
      <link>https://jared.lynskey.co.nz/en/posts/2024/2024-05-05-team-norms/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2024/2024-05-05-team-norms/</guid>
      <pubDate>Sun, 05 May 2024 00:00:00 +0000</pubDate>
      <dc:creator>Me</dc:creator>
      <category>team norms</category>
      <category>collaboration</category>
      <category>leadership</category>
      <description>Notes on team norms from my first few months as an engineering manager, and the Google research that convinced me they matter more than raw talent.</description>
      <content:encoded><![CDATA[<p>A few months into managing a dev team, I&rsquo;ve worked out that most of the friction I deal with isn&rsquo;t technical. It&rsquo;s people running on different unspoken assumptions: how fast a code review should turn around, what &ldquo;done&rdquo; actually means, whether it&rsquo;s rude to ping someone twice on Slack. Nobody&rsquo;s wrong. We just never agreed on the rules.</p>
<p>The boring name for the fix is team norms. The <a href="https://www.ccl.org/articles/leading-effectively-articles/the-real-world-guide-to-team-norms/"  target="_blank" rel="noreferrer">Center for Creative Leadership</a> defines them as &ldquo;a set of rules or operating principles that shape team members&rsquo; interactions&rdquo;, which sounds like HR paperwork but really just means writing down the things everyone assumed were obvious.</p>

<h2 class="relative group">The research that sold me
    <div id="the-research-that-sold-me" 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-research-that-sold-me" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><a href="https://rework.withgoogle.com/intl/en/guides/understanding-team-effectiveness"  target="_blank" rel="noreferrer">Google&rsquo;s Project Aristotle</a> studied 180-odd of their own teams to work out what made the good ones good. The answer surprised them: who is on a team matters far less than how the team works together. You can stack a team with talent and still get mediocre results if the working agreements are a mess.</p>
<p>The study identified <a href="https://psychsafety.com/googles-project-aristotle/"  target="_blank" rel="noreferrer">five dynamics</a> that set the strong teams apart: psychological safety, dependability, structure and clarity, meaning, and impact. Psychological safety, being able to ask a dumb question or own up to a mistake without paying for it, did the heaviest lifting. The <a href="https://www.leaderfactor.com/learn/project-aristotle-psychological-safety"  target="_blank" rel="noreferrer">numbers attached to it</a> are hard to argue with: 43% higher performance variance explained, 19% higher productivity, 31% more innovation, 27% lower turnover.</p>
<p>What I like about that list is that none of the five are personality traits. They&rsquo;re all things a team can deliberately build, and norms are how you build them.</p>

<h2 class="relative group">What norms look like day to day
    <div id="what-norms-look-like-day-to-day" 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-norms-look-like-day-to-day" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Meetings are the easiest place to start because the bad habits are so visible. Agendas go out in advance, meetings start and end on time, and people summarise what they heard before they argue with it. I&rsquo;m fond of the blunt version of the agenda rule: <a href="https://www.ntaskmanager.com/blog/12-examples-of-team-norms-to-help-you-create-a-high-performing-team/"  target="_blank" rel="noreferrer">no agenda, no meeting</a>.</p>
<p>Communication norms matter more but are harder to see. Mine boil down to: over-communicate by default, write decisions down where everyone can find them, and don&rsquo;t let meetings be the only channel. Some people will never speak up in a room of eight, so go and ask them directly. There&rsquo;s plenty of evidence that <a href="https://www.focuspeople.com/2024/02/23/building-high-performing-teams-x-strategies-for-success/"  target="_blank" rel="noreferrer">teams with varied perspectives</a> beat homogeneous ones, but only if those perspectives actually get said out loud.</p>
<p>For disagreements: assume good intent, argue with the problem rather than the person, and dig for what people actually need instead of the positions they&rsquo;ve staked out. The rare fight that won&rsquo;t die gets a neutral third party.</p>

<h2 class="relative group">How to set them without it turning into bureaucracy
    <div id="how-to-set-them-without-it-turning-into-bureaucracy" 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-set-them-without-it-turning-into-bureaucracy" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The approach <a href="https://www.ccl.org/articles/leading-effectively-articles/the-real-world-guide-to-team-norms/"  target="_blank" rel="noreferrer">CCL recommends</a> starts from experience rather than theory, and it&rsquo;s the one I&rsquo;d use. Everyone describes the best and worst teams they&rsquo;ve been on, the group digs into what made each of them that way, and the patterns become proposals: concrete behaviours for this team, debated and agreed rather than handed down. Then decide up front what happens when someone breaks one (including when it&rsquo;s the manager), write the norms somewhere visible, and revisit them now and then.</p>
<p>The one rule I&rsquo;d add: start with three to five. Norms only work once they&rsquo;re habits, and nobody builds ten habits at once.</p>

<h2 class="relative group">Where it falls apart
    <div id="where-it-falls-apart" 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-falls-apart" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The fastest way to kill norms is a leader who ignores them. If I skip the agenda rule because I&rsquo;m busy, the team clocks it immediately and the whole exercise becomes theatre. Consistency from whoever&rsquo;s in charge matters more than the wording of any norm.</p>
<p>A few other traps worth watching: new hires learning the norms as folklore instead of hearing them explicitly during onboarding, global teams assuming their baseline is everyone&rsquo;s baseline (make the implicit explicit), and people who see the whole thing as process for its own sake. For that last group, involving them in writing the norms works far better than lecturing them.</p>
<p>It also helps to know where norms actually get reinforced. Research on high-performing teams <a href="https://informedi.org/2024/08/30/new-rules-for-teamwork/"  target="_blank" rel="noreferrer">keeps finding the same three habits</a>: proper kickoffs, regular one-on-ones, and retrospectives. That&rsquo;s where agreements get made, tested and quietly renegotiated, not in a policy doc.</p>
<p>I don&rsquo;t think norms are magic. But Google&rsquo;s data points the same way as my experience so far: how a team works together beats who&rsquo;s on it. So we&rsquo;re keeping ours short. A handful of agreements, written where everyone can see them, reviewed when they stop being true. Ask me in six months whether they stuck.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2024/2024-05-05-team-norms/featured.jpg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Engineering Performance Reviews: How I Run Them, With a Template and Examples</title>
      <link>https://jared.lynskey.co.nz/en/posts/2024/2024-04-27-performance-reviews/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2024/2024-04-27-performance-reviews/</guid>
      <pubDate>Sat, 27 Apr 2024 00:30:03 +0000</pubDate>
      <dc:creator>Me</dc:creator>
      <category>Engineering Manager</category>
      <category>Performance Reviews</category>
      <category>KPI</category>
      <category>Feedback</category>
      <category>Software Engineering</category>
      <category>Leadership</category>
      <description>How I run performance reviews for software engineers: what each side should expect, the agenda I follow, KPIs that fit the person, a review template you can copy, self-review questions, and examples of feedback specific enough to act on.</description>
      <content:encoded><![CDATA[<p>A useful performance review for a software engineer is a two-way conversation, not a verdict. The engineer brings a self-review, the manager brings specific examples, and you both leave with two or three measurable goals you agreed to and a written record of them. Below is how I run one, the template I fill in, and what specific feedback sounds like next to the vague kind.</p>
<p>Since taking over an engineering team earlier this year, performance reviews have gone from something that happens <em>to</em> me to something I&rsquo;m responsible for running. I&rsquo;m writing this partly to organise my own thinking, so take it as notes from someone figuring it out rather than gospel.</p>

<h2 class="relative group">Why bother with reviews at all?
    <div id="why-bother-with-reviews-at-all" 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-bother-with-reviews-at-all" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The purpose, at any level, comes down to two things: help people keep learning, and make sure the ones performing beyond their role actually get rewarded for it.</p>
<p>Plenty of small companies claim they don&rsquo;t have the time or resources for reviews, and quietly fall back on tenure as the only signal for who&rsquo;s ready for a senior role. That&rsquo;s a mistake, and not just because tenure is a lazy metric. Skipping reviews removes the two-way channel between employer and employee, and the working relationship suffers for it.</p>
<p>It cuts in both directions. An engineer can be working in what they honestly believe is the best way for the company while their habits, methods, or communication style drift somewhere unhelpful — without feedback, nobody catches it. And employers who never hear from their people in a structured way stay comfortably oblivious to what those people actually think of the company.</p>

<h2 class="relative group">What each side should walk in expecting
    <div id="what-each-side-should-walk-in-expecting" 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-each-side-should-walk-in-expecting" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>From the employee&rsquo;s side the list isn&rsquo;t complicated. They want to know how their work lines up with the team&rsquo;s goals, what they&rsquo;re doing well, and where to improve — specifically, not &ldquo;communicate better&rdquo;. They want their contributions recognised, a real conversation about career progression and training, and a process that&rsquo;s fair and based on their work rather than office politics.</p>
<p>From my side of the table, I expect people to arrive with a self-assessment: their own view of what went well and what didn&rsquo;t. I&rsquo;m hoping for openness to feedback rather than a defence lawyer&rsquo;s opening statement, a genuine discussion about future goals, and honest insight into how they feel they fit into the team. Reviews are also when I do my own planning — team composition, potential promotions, who needs what kind of development.</p>

<h2 class="relative group">One framework won&rsquo;t fit every engineer
    <div id="one-framework-wont-fit-every-engineer" 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="#one-framework-wont-fit-every-engineer" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Engineering teams span different cultural backgrounds, experience levels, and specialities, and the same review script doesn&rsquo;t work for everyone. Equal treatment and fair treatment aren&rsquo;t the same thing; the approach has to flex with each person&rsquo;s needs, career stage, and contribution. The baseline is making sure every engineer&rsquo;s role and responsibilities are clearly defined and actually match their compensation.</p>
<p>The place this bites hardest is titles and pay. When someone is unsure about their title or feels ready for promotion, vague encouragement is poison. What works is concrete: agree on specific challenges or project goals that serve as the benchmark for the next rank, so advancement has objective criteria instead of vibes. Same for compensation — if someone feels underpaid or wants more responsibility, put measurable targets into their plan that spell out what needs to happen before the next review to justify the change. Then actually hold both sides to it at that review.</p>
<p>Improvement feedback needs the same treatment. A specific training programme, workshop, or project aimed at a specific gap is useful. &ldquo;Keep growing your skills&rdquo; is not.</p>

<h2 class="relative group">Benchmarks start at the first meeting
    <div id="benchmarks-start-at-the-first-meeting" 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="#benchmarks-start-at-the-first-meeting" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The first review meeting with a new report is mostly about setting the baseline. Walk through what the role actually involves and how it feeds team and company goals. Agree on the measurable outcomes performance will be judged against. Set goals for the near term and further out. It&rsquo;s also the right moment to talk about culture and expected behaviour, how and when feedback will arrive, what resources and mentorship are available, and what the career path from their seat looks like. None of this is thrilling, but every later review is easier because it happened.</p>

<h2 class="relative group">The agenda I use after that
    <div id="the-agenda-i-use-after-that" 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-agenda-i-use-after-that" aria-label="Anchor">#</a>
    </span>
    
</h2>
<ol>
<li>Small talk. It sounds trivial, but it takes the tension out of the room, and the rest of the conversation is more honest for it.</li>
<li>Run through the agenda so nobody gets ambushed by a topic.</li>
<li>Growth since the last review — name the progress explicitly. People rarely notice their own.</li>
<li>Current performance, strengths first.</li>
<li>Areas for improvement, each with a specific, realistic target attached.</li>
<li>Career plans, and whether the current work actually points at them.</li>
<li>Targets, goals, and actionable items for the next review.</li>
</ol>

<h2 class="relative group">KPIs only work if they&rsquo;re personal
    <div id="kpis-only-work-if-theyre-personal" 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="#kpis-only-work-if-theyre-personal" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>For engineers on a product team, KPIs have to fit both the team&rsquo;s objectives and the individual. Front-end, back-end, and full-stack roles differ; junior and senior roles differ more. Commit volume might tell you something about a junior developer, and it tells you nothing about a senior engineer whose main output is architectural decisions. That&rsquo;s why KPIs get set in a conversation, not copied from a template.</p>
<p>The areas I look at:</p>
<ul>
<li>Quality of code: error rates, adherence to standards, how often their work needs bug fixes</li>
<li>Project delivery: milestones and deadlines met</li>
<li>Innovation and problem solving: efficiency improvements, hard problems actually resolved</li>
<li>Collaboration: peer reviews, contribution to team goals and discussions</li>
<li>Personal development: learning goals hit, certifications, new technologies picked up</li>
<li>Customer impact: feedback from users, engagement with the features they shipped</li>
</ul>
<p>On the measurable side, unit testing is an input I&rsquo;ve been warming to. <a href="https://www.infoq.com/articles/unit-tests-performance-review/"  target="_blank" rel="noreferrer">This article</a> from InfoQ looks at folding unit testing into performance reviews — the mechanics of it, and what it does to team culture — and argues for mixing qualitative and quantitative measures of code health. Worth a read if you&rsquo;re hunting for KPIs that don&rsquo;t reduce engineers to line counts.</p>
<p>Whatever you pick, agree on it together in the review or a 1:1, and revisit it as roles, projects, and technology shift. A KPI nobody agreed to is just a stick.</p>

<h2 class="relative group">The template I fill in
    <div id="the-template-i-fill-in" 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-template-i-fill-in" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>I keep one document per person and add a section per review, so the history is in one place. This is the skeleton:</p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gu">## Performance review: [Name], [period]
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gs">**Role and level:**</span> [title, and what that level means on this team]
</span></span><span class="line"><span class="cl"><span class="gs">**Goals from last review:**</span> [copied from the previous section]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Self-review (filled in by the engineer beforehand)
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> What went well, with an example or two
</span></span><span class="line"><span class="cl"><span class="k">-</span> What didn&#39;t, and what they&#39;d do differently
</span></span><span class="line"><span class="cl"><span class="k">-</span> What they want to be doing in a year
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Progress on last review&#39;s goals
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [Goal]: met / partly / not met, with the evidence
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Strengths (specific examples)
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [What they did, when, and what it changed]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Areas to improve (each with a target)
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [Behaviour or skill] → [what &#34;better&#34; looks like] by [date]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Career and level
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> Where they are against the next level, and what&#39;s missing
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Goals until the next review
</span></span></span><span class="line"><span class="cl"><span class="k">1.</span> [Measurable goal]
</span></span><span class="line"><span class="cl"><span class="k">2.</span> [Measurable goal]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### Agreed actions
</span></span></span><span class="line"><span class="cl">- [Who] will [do what] by [when]</span></span></code></pre></div></div>
<p>The self-review comes in a day or two before the meeting, never during it. Reading it first changes the conversation: half the time the engineer has already named the thing I was going to raise, and we can spend the meeting on what to do about it.</p>

<h2 class="relative group">Questions for the self-review
    <div id="questions-for-the-self-review" 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="#questions-for-the-self-review" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>These are the prompts I send ahead of time. They&rsquo;re open on purpose, so the answers tell me how someone sees their own work, not just what they did:</p>
<ul>
<li>What are you most proud of since the last review, and why that?</li>
<li>Where did you get stuck, and what would have unstuck you sooner?</li>
<li>What feedback have you had from teammates or reviewers that stuck with you?</li>
<li>Which of last review&rsquo;s goals do you think you met, and which do you want to drop or change?</li>
<li>What do you want to learn next, and is your current work giving you a chance to?</li>
<li>What should I be doing differently as your manager?</li>
</ul>
<p>The last question gets the most awkward pauses and the most useful answers.</p>

<h2 class="relative group">What specific feedback sounds like
    <div id="what-specific-feedback-sounds-like" 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-specific-feedback-sounds-like" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Most bad review feedback isn&rsquo;t harsh, it&rsquo;s vague. Here&rsquo;s the difference, with examples of the kind I try to write:</p>
<table>
	<thead>
			<tr>
					<th>Vague</th>
					<th>Specific</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>&ldquo;Communicate better.&rdquo;</td>
					<td>&ldquo;On the payments migration, the delay surfaced in the sprint review rather than when you found it two weeks earlier. Next time, flag a slip in the team channel the day you see it.&rdquo;</td>
			</tr>
			<tr>
					<td>&ldquo;Great job this quarter.&rdquo;</td>
					<td>&ldquo;Your write-up of the caching options let us decide in one meeting instead of three. Keep doing those for anything that takes more than a day to choose.&rdquo;</td>
			</tr>
			<tr>
					<td>&ldquo;Be more senior.&rdquo;</td>
					<td>&ldquo;At the next level, I&rsquo;d expect you to own a feature&rsquo;s design end to end. Lead the design review for the search rework and bring two options with the trade-offs.&rdquo;</td>
			</tr>
			<tr>
					<td>&ldquo;Code quality needs work.&rdquo;</td>
					<td>&ldquo;Three of your last ten PRs needed a follow-up fix for missing edge cases. Add tests for the failure paths before asking for review, and we&rsquo;ll look at the rate again next quarter.&rdquo;</td>
			</tr>
	</tbody>
</table>
<p>Each specific version names an event, says what it changed, and points at something the person can do next. It takes longer to write, which is exactly why I make myself collect examples through the quarter instead of trying to remember them the night before.</p>

<h2 class="relative group">Write it down
    <div id="write-it-down" 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="#write-it-down" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>After the meeting, write a summary: the key points discussed, any issues raised, the action items, and the objectives both of you agreed to. It sounds bureaucratic, but the written record is what prevents the &ldquo;that&rsquo;s not what we agreed&rdquo; conversation six months later. Documented issues get tracked instead of evaporating, action items hand the next review its opening agenda, and people take goals more seriously once they&rsquo;re on paper.</p>
<p>That&rsquo;s the whole system, really: clear expectations from day one, KPIs shaped to the person, everything documented, and follow-up on every action item. A review that isn&rsquo;t a two-way conversation with measurable outcomes is a checkbox exercise, and engineers can smell a checkbox exercise from the calendar invite.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2024/2024-04-27-performance-reviews/featured.jpg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Advice for New Engineering Managers: Three Things to Get Right First</title>
      <link>https://jared.lynskey.co.nz/en/posts/2024/2024-02-10-prioritizing-onboarding/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2024/2024-02-10-prioritizing-onboarding/</guid>
      <pubDate>Sat, 10 Feb 2024 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>management</category>
      <category>engineering</category>
      <category>leadership</category>
      <description>Advice for new engineering managers from my first month in the job: get to know the people, learn the company context, read the code, then get out of the way. Plus the books that help.</description>
      <content:encoded><![CDATA[<p>The short version, if you&rsquo;re a new engineering manager wondering where to start: get to know the people, learn why things are the way they are, and read the code, in roughly that order. Then set the context and get out of the team&rsquo;s way.</p>
<p>I started managing an engineering team this month, a few weeks after writing about <a href="https://jared.lynskey.co.nz/en/posts/2024/2024-01-02-engineeringmanager/" >what changes going from software engineer to engineering manager</a>. The thing nobody warns you about is how urgent everything feels: new team, new company, and a to-do list that existed long before I did. I can&rsquo;t do it all at once, so I&rsquo;ve settled on three things to get right before anything else.</p>

<h4 class="relative group">Getting to know the team
    <div id="getting-to-know-the-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="#getting-to-know-the-team" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>I&rsquo;m booking 1:1s with everyone, and I&rsquo;m trying to keep them about the person rather than the sprint. What do they want out of their career? What&rsquo;s been frustrating them? What would they change tomorrow if they could? My job in these is mostly to shut up and listen. Trust isn&rsquo;t built in week one, but it can definitely be lost in week one.</p>
<p>People also work in very different ways. Some want detailed direction, others do their best work when you stay out of it, and treating one like the other goes badly for everyone. Camille Fournier&rsquo;s &ldquo;The Manager&rsquo;s Path&rdquo; is good on this. Empathy and actually listening turn out to be most of the job.</p>

<h4 class="relative group">Learning why things are the way they are
    <div id="learning-why-things-are-the-way-they-are" 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="#learning-why-things-are-the-way-they-are" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>Every process and every odd bit of architecture is a record of some old decision. Before I change anything, I want to know what&rsquo;s been tried, what failed, and what the company genuinely cares about.</p>
<p>Every company also has unwritten rules about how decisions really get made. The faster I work those out, the more I can actually get done for the team. Andrew Grove makes this point in &ldquo;High Output Management&rdquo;: you can&rsquo;t align your team&rsquo;s work with the bigger picture until you understand the picture yourself.</p>

<h4 class="relative group">Reading the code
    <div id="reading-the-code" 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="#reading-the-code" aria-label="Anchor">#</a>
    </span>
    
</h4>
<p>I don&rsquo;t need to be the strongest coder on the team anymore, but I do need to understand the architecture, the pain points, and where the technical debt is buried. So I&rsquo;m reading code, poking at the deployment pipeline, and asking people what they&rsquo;d fix if they had a free week. The answers to that last question are usually the most honest roadmap you&rsquo;ll get.</p>
<p>It also signals something to the team: that I care about the work itself, not just the process wrapped around it.</p>

<h3 class="relative group">Then get out of the way
    <div id="then-get-out-of-the-way" 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="#then-get-out-of-the-way" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Once that foundation is there, the plan is simple: set context, share the goals, and let the team make the technical calls. My job isn&rsquo;t to approve every PR. It&rsquo;s to make sure people have what they need and are pointed in the right direction. &ldquo;The Phoenix Project&rdquo; by Gene Kim makes the same argument: teams that own their decisions move faster and build better software than teams waiting on sign-off from above.</p>

<h3 class="relative group">Books for new engineering managers
    <div id="books-for-new-engineering-managers" 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="#books-for-new-engineering-managers" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The three books I&rsquo;ve mentioned, in one place:</p>
<table>
	<thead>
			<tr>
					<th>Book</th>
					<th>Why it helps a new engineering manager</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><a href="https://www.oreilly.com/library/view/the-managers-path/9781491973882/" target="_blank" rel="noreferrer"><em>The Manager&rsquo;s Path</em></a>, Camille Fournier</td>
					<td>Written for engineers moving into management, one level at a time from mentor and tech lead up to CTO. Early on, the parts about 1:1s and managing a team are the most useful.</td>
			</tr>
			<tr>
					<td><a href="https://www.penguinrandomhouse.com/books/72467/high-output-management-by-andrew-s-grove-former-chairman-and-ceo-of-intel/" target="_blank" rel="noreferrer"><em>High Output Management</em></a>, Andrew Grove</td>
					<td>Older, and written from running Intel, but the core idea holds: a manager&rsquo;s output is the output of their team, so spend your time where it moves that.</td>
			</tr>
			<tr>
					<td><a href="https://itrevolution.com/product/the-phoenix-project/" target="_blank" rel="noreferrer"><em>The Phoenix Project</em></a>, Gene Kim, Kevin Behr and George Spafford</td>
					<td>A novel about an IT manager rescuing a failing project. Easier going than a textbook, and good on how work piles up and gets stuck between teams.</td>
			</tr>
	</tbody>
</table>
<p>Two others come up whenever people ask what a new engineering manager should read: Will Larson&rsquo;s <a href="https://press.stripe.com/an-elegant-puzzle" target="_blank" rel="noreferrer"><em>An Elegant Puzzle</em></a>, on the systems side of the job (sizing teams, planning, organisation design), and Lara Hogan&rsquo;s <a href="https://resilient-management.abookapart.com/" target="_blank" rel="noreferrer"><em>Resilient Management</em></a>, a short, practical book on getting to know your team, setting clear expectations and communicating well.</p>
<p>Ask me in six months how it&rsquo;s going.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2024/2024-02-10-prioritizing-onboarding/featured.jpeg" medium="image" type="image/jpeg" />
    </item>
    <item>
      <title>Software Engineer to Engineering Manager: What Actually Changes</title>
      <link>https://jared.lynskey.co.nz/en/posts/2024/2024-01-02-engineeringmanager/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/en/posts/2024/2024-01-02-engineeringmanager/</guid>
      <pubDate>Tue, 02 Jan 2024 00:30:03 +0000</pubDate>
      <dc:creator>Jared Lynskey</dc:creator>
      <category>engineering manager</category>
      <category>career</category>
      <category>leadership</category>
      <category>team management</category>
      <description>Going from software engineer to engineering manager is a career change, not a promotion. How the two jobs differ day to day, the skills that matter, and how to prepare for the move before the title arrives.</description>
      <content:encoded><![CDATA[<p><strong>It&rsquo;s a career change, not a promotion</strong></p>
<p>I&rsquo;m about to make this move myself, so I&rsquo;ve spent the last while talking to people who&rsquo;ve done it and reading whatever I could find. The clearest lesson so far: going from engineer to engineering manager isn&rsquo;t a step up. It&rsquo;s a step sideways into a completely different job. Your output stops being code and becomes whatever your team produces. Everyone says this, and from what I can tell, everyone still underestimates it.</p>
<p><strong>What actually changes</strong></p>
<p>You stop solving technical problems directly and start solving people problems. The calendar fills up with 1:1s, planning meetings, and cross-team alignment. Hiring and performance reviews land on your desk. Most of the job becomes making sure the team has what it needs — context, clear priorities, and as little nonsense as possible — to get on with the work.</p>
<p>The awkward part is that you still have to stay technical enough to hold your own in architecture discussions and make sensible judgment calls, while accepting that you can&rsquo;t be the one writing the code anymore. The managers I&rsquo;ve watched try to do both usually end up doing both badly.</p>
<p><strong>Engineer vs engineering manager, side by side</strong></p>
<table>
	<thead>
			<tr>
					<th></th>
					<th>Software engineer</th>
					<th>Engineering manager</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>Your output</td>
					<td>Code, designs, reviews</td>
					<td>What the team ships, and the team itself</td>
			</tr>
			<tr>
					<td>Judged on</td>
					<td>The quality and impact of your own work</td>
					<td>Delivery, retention, and how much people grow</td>
			</tr>
			<tr>
					<td>A typical day</td>
					<td>Focus time, pull requests, design discussions</td>
					<td>1:1s, planning, hiring, unblocking people</td>
			</tr>
			<tr>
					<td>Feedback loop</td>
					<td>Hours or days: the tests pass, the feature ships</td>
					<td>Months: a hire works out, someone gets promoted</td>
			</tr>
			<tr>
					<td>Hands-on technical work</td>
					<td>Most of the week</td>
					<td>Reviews and architecture calls, rarely the critical path</td>
			</tr>
	</tbody>
</table>
<p>The feedback loop is the row people warn about most. As an engineer you get a small win most days. As a manager the wins are real but slow, and you have to get used to not knowing for a while whether a decision was right.</p>
<p><strong>The skills that seem to matter</strong></p>
<p>Communication is most of it. You become the translator between your team, product, and leadership, and a surprising amount of the job is making sure those three groups are talking about the same thing. Trust matters more than any process: if people don&rsquo;t feel safe telling you what&rsquo;s broken, you&rsquo;ll be the last person to find out. Your calendar will genuinely try to eat you alive, so protecting time to think — and time for your team — is a constant fight. And you need to understand what the business is actually trying to do, or you can&rsquo;t point anyone in a useful direction.</p>
<p><strong>Preparing before the title arrives</strong></p>
<p>The advice I keep hearing, and the bit I can already vouch for: start leading before anyone gives you the title. Run a project, mentor someone, organise something. I&rsquo;ve spent the past year acting as a project lead, and that experience is doing far more for me than any book. That said, books help — &ldquo;<a href="https://www.oreilly.com/library/view/the-managers-path/9781491973882/" target="_blank" rel="noreferrer">The Manager&rsquo;s Path</a>&rdquo; by Camille Fournier is the one everybody recommends, and having read it, I see why. Keep your technical skills sharp, because the architecture debates don&rsquo;t stop. And find a mentor who&rsquo;s already made the transition; they&rsquo;ll steer you around mistakes that only look obvious in hindsight.</p>
<p><strong>The trade-off</strong></p>
<p>More influence over how things get built, but you&rsquo;ll rarely build them yourself. I expect some days that will feel great, and other days I&rsquo;ll badly miss writing code. Everyone who&rsquo;s done this tells me that&rsquo;s normal. Ask me again in six months.</p>
]]></content:encoded>
      <media:content url="https://jared.lynskey.co.nz/en/posts/2024/2024-01-02-engineeringmanager/featured.jpeg" 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>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>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>
