<?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>Performance Reviews · 仁才德</title>
    <link>https://jared.lynskey.co.nz/zh-cn/tags/performance-reviews/</link>
    <description>关于软件工程与研发团队领导力的短文——绩效评估、招聘与团队扩张、CI/CD、DevOps 监控、智能体 AI。写于首尔。</description>
    <generator>Hugo</generator>
    <language>zh-CN</language>
    <copyright>© 2026 仁才德</copyright>
    <lastBuildDate>Mon, 26 Oct 2026 00:00:00 +1200</lastBuildDate>
    <atom:link href="https://jared.lynskey.co.nz/zh-cn/tags/performance-reviews/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>工程团队绩效评估怎么做：我的流程，附模板和反馈示例</title>
      <link>https://jared.lynskey.co.nz/zh-cn/posts/2024/2024-04-27-performance-reviews/</link>
      <guid isPermaLink="true">https://jared.lynskey.co.nz/zh-cn/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>我怎么给软件工程师做绩效评估（绩效考核）：双方各自该期待什么、我用的谈话流程、贴合个人的KPI，外加一份可以直接照抄的评估模板、自评问题，以及具体到能照着改的反馈示例。</description>
      <content:encoded><![CDATA[<p>对软件工程师来说，有用的绩效评估是一场双向对话，而不是一纸判决。工程师带着自评来，经理带着具体的例子来，散会时双方手里有两三个一起商定的可衡量目标，还有一份书面记录。下面是我怎么主持一场评估、我填的模板，以及具体的反馈和含糊的反馈放在一起是什么样子。</p>
<p>今年开始带工程团队之后，绩效评估从“发生在我身上的事”变成了“我要负责主持的事”。写这篇文章一半是为了理清自己的思路，所以请把它当成摸索中的笔记，而不是标准答案。</p>

<h2 class="relative group">到底为什么要做绩效评估
    <div id="到底为什么要做绩效评估" 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="#%e5%88%b0%e5%ba%95%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%81%9a%e7%bb%a9%e6%95%88%e8%af%84%e4%bc%b0" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>不管什么级别，目的归根结底就两条：让人能持续成长，让表现超出角色期望的人真正得到回报。</p>
<p>很多小公司说自己没时间没资源做评估，于是默默退回到只看工龄：谁待得久，谁就“该升了”。我认为这是个错误，而且不只因为工龄是个偷懒的指标。跳过评估，等于砍掉了公司和员工之间的双向沟通渠道，工作关系会因此变质。</p>
<p>这是双向的。工程师可能真心相信自己在用对公司最好的方式工作，但习惯、方法、沟通风格却在不知不觉中跑偏，没有反馈，就没人能发现。反过来，从不通过正式渠道听员工说话的公司，会舒舒服服地对员工的真实想法一无所知。</p>

<h2 class="relative group">双方各自该带着什么期待进场
    <div id="双方各自该带着什么期待进场" 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="#%e5%8f%8c%e6%96%b9%e5%90%84%e8%87%aa%e8%af%a5%e5%b8%a6%e7%9d%80%e4%bb%80%e4%b9%88%e6%9c%9f%e5%be%85%e8%bf%9b%e5%9c%ba" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>员工这边的清单并不复杂。他们想知道自己的工作和团队目标怎么对上，哪里做得好，哪里要改进，而且要具体，不是一句“加强沟通”。他们希望贡献被认可，希望认真聊聊职业发展和培训机会，希望整个流程公平、看工作本身而不是办公室政治。</p>
<p>站在我这边，我期待每个人带着自我评估来：自己觉得哪里做得好、哪里不行。我希望看到的是对反馈的开放态度，而不是辩护律师的开场陈词；希望能认真讨论未来目标，也希望听到他们对自己在团队中位置的真实感受。评估同时也是我做规划的时候：团队构成、潜在的晋升、谁需要哪种成长机会。</p>

<h2 class="relative group">一套框架套不住所有工程师
    <div id="一套框架套不住所有工程师" 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="#%e4%b8%80%e5%a5%97%e6%a1%86%e6%9e%b6%e5%a5%97%e4%b8%8d%e4%bd%8f%e6%89%80%e6%9c%89%e5%b7%a5%e7%a8%8b%e5%b8%88" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>工程团队里的人文化背景、经验、专长各不相同，同一份评估剧本不可能对每个人都有效。“一视同仁”和“公平对待”不是一回事，方式必须随个人的需要、职业阶段和贡献而调整。底线是：每位工程师的角色和职责都清晰明确，并且和薪酬真正匹配。</p>
<p>最容易出问题的地方是头衔和薪水。当有人对自己的职级感到模糊，或觉得自己该晋升了，含糊的鼓励就是毒药。有效的是具体：一起商定作为下一级别基准的具体挑战或项目目标，让晋升有客观标准，而不是靠感觉。薪酬同理。如果有人觉得报酬偏低，或想承担更多责任，就把可衡量的目标写进他的计划，写清楚下次评估前要做到什么才能支撑这个变化。然后到了下次评估，双方都得对着这份约定说话。</p>
<p>改进类的反馈也一样。针对具体短板的具体培训、工作坊或项目，有用；“继续提升技能”，没用。</p>

<h2 class="relative group">基准从第一次面谈就开始定
    <div id="基准从第一次面谈就开始定" 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="#%e5%9f%ba%e5%87%86%e4%bb%8e%e7%ac%ac%e4%b8%80%e6%ac%a1%e9%9d%a2%e8%b0%88%e5%b0%b1%e5%bc%80%e5%a7%8b%e5%ae%9a" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>和新下属的第一次评估面谈，主要就是定基线：这个角色到底包含什么、怎么支撑团队和公司目标；用哪些可衡量的结果来评判表现；近期和长期目标分别是什么。这也是聊公司文化和行为规范、反馈的频率和方式、可用的资源和导师支持、以及这个位置能看到的职业路径的好时机。没有一样是激动人心的，但做了这些，后面每一次评估都会轻松。</p>

<h2 class="relative group">之后我用的议程
    <div id="之后我用的议程" 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="#%e4%b9%8b%e5%90%8e%e6%88%91%e7%94%a8%e7%9a%84%e8%ae%ae%e7%a8%8b" aria-label="锚点">#</a>
    </span>
    
</h2>
<ol>
<li>闲聊。听起来不重要，但它能把房间里的紧张感卸掉，后面的对话会诚实得多。</li>
<li>过一遍议程，谁都不会被某个话题打个措手不及。</li>
<li>上次评估以来的成长。把进步明确说出来，人往往看不见自己的进步。</li>
<li>当前表现，先讲优点。</li>
<li>需要改进的地方，每一条都配上具体、现实的目标。</li>
<li>职业规划，以及现在的工作是否真的朝着那个方向。</li>
<li>下次评估前的目标和行动项。</li>
</ol>

<h2 class="relative group">KPI只有因人而设才有效
    <div id="kpi只有因人而设才有效" 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="#kpi%e5%8f%aa%e6%9c%89%e5%9b%a0%e4%ba%ba%e8%80%8c%e8%ae%be%e6%89%8d%e6%9c%89%e6%95%88" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>产品团队里工程师的KPI，必须同时贴合团队目标和个人。前端、后端、全栈的职责不同，初级和资深的差别更大。提交量也许能说明一个初级开发者的状态，但对一个主要产出是架构决策的资深工程师毫无意义。所以KPI要在对话中商定，而不是从模板里抄。</p>
<p>我关注的几个方面：</p>
<ul>
<li>代码质量：错误率、编码规范的遵守程度、返工修bug的频率</li>
<li>项目交付：里程碑和期限的达成</li>
<li>创新与解决问题：效率改进、真正啃下来的硬问题</li>
<li>协作：代码评审、对团队目标和讨论的贡献</li>
<li>个人成长：学习目标的完成、认证、新掌握的技术</li>
<li>客户影响：用户反馈、上线功能的使用情况</li>
</ul>
<p>在可量化这一侧，我最近对单元测试越来越感兴趣。InfoQ的<a href="https://www.infoq.com/articles/unit-tests-performance-review/"  target="_blank" rel="noreferrer">这篇文章</a>讨论了怎么把单元测试纳入绩效评估，既讲落地的机制，也讲它对团队文化的影响，主张用定性加定量的方式衡量代码健康度。如果你在找不把工程师简化成代码行数的KPI，值得一读。</p>
<p>不管选什么，都要在评估或1:1里一起商定，并随着角色、项目、技术的变化及时调整。没人认可过的KPI，只是一根用来敲打人的棍子。</p>

<h2 class="relative group">我填的模板
    <div id="我填的模板" 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="#%e6%88%91%e5%a1%ab%e7%9a%84%e6%a8%a1%e6%9d%bf" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>我给每个人建一份文档，每次评估往里加一节，这样所有记录都在一个地方。骨架是这样的：</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">## 绩效评估：[姓名]，[周期]
</span></span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gs">**角色和职级：**</span> [头衔，以及这个职级在本团队意味着什么]
</span></span><span class="line"><span class="cl"><span class="gs">**上次评估定下的目标：**</span> [从上一节复制过来]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 自评（工程师提前填写）
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> 做得好的地方，举一两个例子
</span></span><span class="line"><span class="cl"><span class="k">-</span> 做得不好的地方，以及换作现在会怎么做
</span></span><span class="line"><span class="cl"><span class="k">-</span> 一年后想在做什么
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 上次目标的进展
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [目标]：达成 / 部分达成 / 未达成，附依据
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 优点（具体例子）
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [做了什么、什么时候、带来了什么改变]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 待改进（每项配一个目标）
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> [行为或技能] → [“更好”是什么样子]，截止 [日期]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 职业发展与职级
</span></span></span><span class="line"><span class="cl"><span class="k">-</span> 对照下一个职级现在处在什么位置，还差什么
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 到下次评估前的目标
</span></span></span><span class="line"><span class="cl"><span class="k">1.</span> [可衡量的目标]
</span></span><span class="line"><span class="cl"><span class="k">2.</span> [可衡量的目标]
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="gu">### 商定的行动项
</span></span></span><span class="line"><span class="cl">- [谁] 在 [何时] 前 [做什么]</span></span></code></pre></div></div>
<p>自评在面谈前一两天交上来，绝不在面谈时当场写。先读过它，谈话就不一样了：有一半的时候，我准备提的事工程师自己已经点出来了，面谈就可以直接用来商量怎么办。</p>

<h2 class="relative group">自评问题
    <div id="自评问题" 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="#%e8%87%aa%e8%af%84%e9%97%ae%e9%a2%98" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>下面是我提前发出去的问题。它们故意问得很开放，这样回答告诉我的是一个人怎么看待自己的工作，而不只是做了哪些事：</p>
<ul>
<li>上次评估以来，你最自豪的是什么？为什么是它？</li>
<li>你在哪里卡住过？什么能让你早点脱困？</li>
<li>队友或代码评审者给过你的哪条反馈，让你一直记着？</li>
<li>上次定的目标里，你觉得哪些达成了？哪些想放弃或调整？</li>
<li>接下来想学什么？现在的工作给了你这个机会吗？</li>
<li>作为你的经理，我哪些地方应该换个做法？</li>
</ul>
<p>最后一个问题换来的尴尬沉默最多，换来的有用回答也最多。</p>

<h2 class="relative group">具体的反馈是什么样子
    <div id="具体的反馈是什么样子" 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="#%e5%85%b7%e4%bd%93%e7%9a%84%e5%8f%8d%e9%a6%88%e6%98%af%e4%bb%80%e4%b9%88%e6%a0%b7%e5%ad%90" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>大多数糟糕的评估反馈并不刻薄，而是含糊。区别看下面，右边是我努力去写的那种：</p>
<table>
	<thead>
			<tr>
					<th>含糊</th>
					<th>具体</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>“加强沟通。”</td>
					<td>“支付系统迁移那次，延期是在Sprint评审会上才暴露出来的，而你两周前就发现了。下次一看到进度要滑，当天就在团队频道里说一声。”</td>
			</tr>
			<tr>
					<td>“这个季度干得漂亮。”</td>
					<td>“你写的那份缓存方案对比，让我们一次会就做了决定，不用开三次。凡是要花一天以上才能选定的事，都继续这样写。”</td>
			</tr>
			<tr>
					<td>“要更有资深的样子。”</td>
					<td>“到了下一个职级，我希望你能端到端地负责一个功能的设计。搜索改版的设计评审由你来主持，带两个方案和各自的取舍来。”</td>
			</tr>
			<tr>
					<td>“代码质量有待提高。”</td>
					<td>“你最近十个PR里有三个因为漏掉边界情况需要补修。提交评审前先把失败路径的测试补上，下个季度我们再看一次这个比例。”</td>
			</tr>
	</tbody>
</table>
<p>每一条具体的反馈都点出一件事，说明它带来了什么变化，再指向这个人接下来能做的事。这样写更费时间，所以我逼自己整个季度随手收集例子，而不是评估前一晚才拼命回想。</p>

<h2 class="relative group">写下来
    <div id="写下来" 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="#%e5%86%99%e4%b8%8b%e6%9d%a5" aria-label="锚点">#</a>
    </span>
    
</h2>
<p>面谈结束后，写一份纪要：讨论的要点、提出的问题、行动项、双方认可的目标。听着很官僚，但正是这份书面记录，能避免六个月后那句“我们当时没这么说吧”。写下来的问题会被持续跟进而不是蒸发，行动项直接成为下次评估的开场议程，落在纸面上的目标也会被认真对待。</p>
<p>说到底，整个体系就这么几条：第一天就把期望讲清楚，KPI贴着人来定，凡事留记录，每个行动项都跟进到底。缺少双向对话和可衡量结果的评估就是走过场，而工程师从收到日历邀请那一刻起，就能闻出走过场的味道。</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>
  </channel>
</rss>
