主简历:开发者建立与维护指南

主简历把每段经历、项目和数据记在一份私人文件里。开发者如何建立、维护它,并从中派生定制版本。

S
主简历 简历 职业发展 求职
一只带花纹的大纸鹤,周围是六只用同样纸张折成的小纸鹤

主简历是你职业生涯完整而私密的记录:每段经历、每个项目、每个数据、每个工具,都放在一份没有雇主会看到的文件里。你从它派生定制版,但从不把它发出去。开发者比大多数人更需要一份,因为软件职业产出的细节远超任何两页简历(CV)的容量,而你今天删掉的细节,正是下个月的职位描述会问起的。

这篇指南讲主简历是什么、为什么要维护、如何逐栏建立、如何保持更新,以及定制版本如何从它派生。定制那一步本身,请读如何根据职位描述定制简历;这篇文章在那篇开始的地方收尾。

什么是主简历

把它看成一个数据库,简历则是一次查询的结果。主简历存着完整的表:四页、六页或十页的经历、要点、项目、演讲、证书和技能,每一项都带日期和数字。定制简历是这张表的一两页视图,按一个职位过滤出来。

由此得出三个性质。

私密。 除了你没人会读主简历。这改变了它该收什么。那条关于失败的迁移以及你从中学到什么的要点,就该放在主简历里,因为面试官可能会问,哪怕它永远进不了定制版。

完整。 主简历宁多勿少。每段经历六到十条要点,定制版只留三条。那些没做成的业余项目。那个只有你老团队知道的内部工具。

稳定。 你只往里加,从不删。定制简历用完即弃;主简历才是你长期维护的东西。

它和学术 CV 不同:学术 CV 同样又长又全,但会以那个形态交给雇主。主简历是一份工作文档,排版可以放到后面。

开发者为什么要维护主简历

你的记忆比职业变化衰退得更快。 项目过去两年后,你只记得「做过计费服务」。你不记得自己把 p99 从 800 ms 压到了 120 ms,不记得它用 Go 写、后端是 Postgres,也不记得运维手册是你写的。数字最先忘。主简历在你仪表盘还开着的时候把它们记下来。

职业方向会分叉。 一个也做过数据工作的后端工程师,有两种合理的下一份工作。能打动平台岗的要点(值班、Kubernetes、降本)和能打动数据岗的要点(管道、数仓建模、dbt)不是同一批。一份主简历两套都装;定制版挑其中一套。

每个项目总有用武之地。 开源贡献、黑客松、你为自己的 homelab 写的 Terraform 模块:它们都塞不进一份投前端岗的简历,但其中任何一个都可能正是另一个职位要找的。不写下来,到了要用的时候你想不起来。

每个数字都需要出处。 简历上的数字要经得起面试追问。主简历就是你在「构建时间缩短 60%」旁边记录测了什么、从多少到多少、怎么测的地方。定制版带上这个数字时,你能为它辩护。

定制变成了挑选。 有了主简历,定制只要几分钟:挑出匹配的要点,用职位描述的措辞改写,其余删掉。没有它,每次定制都要靠记忆重建过去,简历就是在这里偏离事实的。

各处保持一致。 你的 LinkedIn 资料、定制简历和面试回答,在日期、职位和数字上应该对得上。有一个事实来源,这件事就自动成立。

如何逐栏建立主简历

新建一个纯 Markdown 文件。排版、模板和页数限制都是定制版的事。主简历要的是结构和完整。

头部

姓名、邮箱、电话、城市和链接:GitHub、LinkedIn,有个人网站的话也加上。记下你希望这些信息呈现的准确形式,免得各个定制版不一致(一份带「+91」,一份不带)。

个人简介,每个职业方向一份

为你可能申请的每类岗位写一段三行的简介。一段后端的、一段平台的、一段数据的。每段点出那个方向在意的两三项强项。定制时,你从最接近的那段出发做调整。

工作经历

每段经历写:雇主、职位、地点、精确到月的日期,以及在那里用的技术栈。然后是要点,每段六到十条,每条都是一个动作加一个结果。记得比你会展示的多得多:

  • 你做了什么,点名用的工具。
  • 它带来了什么变化,有数字就写数字。
  • 规模:用户数、每秒请求数、数据量、团队规模。
  • 你负责过的任何事:值班、某个服务、一次迁移、招聘。
  • 职位描述可能会问的协作:跨团队工作、带新人、和产品配合。

每条带数字的要点下面,加一行简短的备注说明数字从哪来。「Grafana 仪表盘,2025 年 3 月,加缓存前后的 p99。」你永远不会展示这条备注;面试时你会庆幸写了它。

项目

业余项目、开源工作、黑客松作品、内部工具。每个写:名称、链接、日期、你的角色、技术栈,以及两三条要点说明你做了什么、结果如何。有 Star 数、下载量或用户数就写上。没有结果的项目也要放进去,加一行写你学到了什么。

技能,分组并标注年份

分组:语言、框架、基础设施、数据、工程实践。每项旁边标上你最后一次在实战中用它的年份。定制简历的技能列表只该放今天能被面试追问的东西;「最后使用」这一列告诉你哪些是。

教育和证书

学位写院校、日期和相关信息(论文题目、与工作对口的课程)。证书写颁发机构和有效期。

演讲、写作、社区

大会演讲、meetup 分享、有反响的博客文章、播客、导师计划。多数定制简历会去掉这些;有些职位会看重。

更新日志

文件末尾放一份带日期的清单,记录你加了什么、什么时候加的。它让下次更新更轻松,也让你一眼看出上次动这个文件是什么时候。

主简历模板(虚构示例)

下面的骨架展示了形态。人物、公司和数字都是虚构的。

示例(虚构):Arjun Mehta,后端工程师,班加罗尔

# Arjun Mehta
班加罗尔,印度 · arjun.mehta@example.com · +91 98xxx xxxxx
github.com/arjunm-example · linkedin.com/in/arjunm-example

## 个人简介
### 后端 / 平台
后端工程师,6 年支付与账本系统经验,使用 Go 和 Python。
负责过 4k rps 的服务;在 Finlo 把基础设施成本降低了 30%。
### 数据工程
在 6 年后端经验之上,有 3 年构建批处理和流式管道(Airflow、
Kafka、BigQuery)的经验。

## 工作经历

### Finlo Payments · 高级软件工程师
班加罗尔 · 2023 年 4 月至今 · Go、PostgreSQL、Kafka、Kubernetes、GCP
- 负责账本服务(峰值 4k rps,11 个下游消费方)。
- 通过批量写入账本和增加预写队列,把 p99 写延迟从 410 ms
  降到 95 ms。
  > 出处:Grafana ledger-latency 仪表盘,2024 年 6 月,7 天窗口。
- 通过调整节点池规格并把批处理任务迁到抢占式实例,把支付
  命名空间的 GCP 开销降低 30%(每月 18k 美元降到 12.6k)。
  > 出处:GCP 账单导出,2024 年 Q3 对比 2024 年 Q1。
- 主导 6 个服务从 Cloud Run 迁移到 GKE,历时 4 个月。
- 支付线值班轮换(每 5 周 1 周);编写了 12 名工程师在用的
  事故处理手册。
- 带了 2 名初级工程师;两人都在一个季度内上线了各自的第一个
  生产服务。
- 用 Kafka 死信模式替换了手写的重试层;之后 6 个月重复打款
  降为零。
- (多数简历不用)做过账本的 Rust 重写试验,最终没有上线;
  写了决策文档。

### Brightcart · 软件工程师
浦那 · 2019 年 7 月至 2023 年 3 月 · Python、Django、MySQL、Redis、AWS
- 构建订单追踪 API(Django REST),支撑每日 20 万订单。
- 把商品搜索从 MySQL LIKE 查询迁到 Elasticsearch;搜索中位
  耗时从 1.2 s 降到 90 ms。
  > 出处:Datadog APM,2021 年 11 月。
- 为数据团队搭建了第一批 Airflow 管道(12 个 DAG,每晚
  加载到 Redshift)。
- 编写了预发布环境的 Terraform(此前是手工配置)。
- 两年内面试了 40 多名后端候选人。

## 项目
### kafka-replay(开源)· 2024 年至今
把 Kafka topic 回放到本地集群用于调试的 CLI。Go。
310 个 GitHub Star,Finlo 有 3 个团队在用。
### homelab-terraform · 2022 年
Proxmox homelab 的 Terraform 模块。未完成;学会了 Proxmox API
和 Terraform provider。

## 技能(最后使用)
- 语言:Go(2025)、Python(2025)、SQL(2025)、Rust(2024,试验)、
  TypeScript(2022)
- 基础设施:Kubernetes(2025)、Terraform(2025)、GCP(2025)、
  AWS(2023)、Docker(2025)
- 数据:Kafka(2025)、PostgreSQL(2025)、Airflow(2023)、Redshift
  (2023)、Elasticsearch(2022)、BigQuery(2024)
- 工程实践:值班、事故手册、设计文档、带新人

## 教育
浦那大学,计算机工程学士(B.E.),2015 年至 2019 年

## 演讲与写作
- 「4k rps 下的账本写入路径」,班加罗尔 Go meetup,2024 年 9 月
- 博客:「不折腾的死信队列」,2024 年(1.2 万次浏览)

## 更新日志
- 2025-09:加入 kafka-replay 的 Star 数、Q3 成本数据
- 2025-03:加入带新人要点、Rust 试验备注
- 2024-11:由 2023 年的简历 + Brightcart 笔记建立文件

注意这份文件里有哪些定制简历绝不会有的东西:数字下面的出处行、一条「多数简历不用」的要点、一个未完成的项目、每项技能的最后使用年份,以及两段简介。这些就是主简历的职责。

如何保持更新

更新一旦变成负担,主简历就会荒废,所以把更新做小,并绑定到你本来就会注意到的事件上。

上线就更新。 项目落地或指标变动的那一周,就把要点加上。数字现在就在仪表盘上;一年后就没有了。

放进版本控制。 私有 Git 仓库里的一个 Markdown 文件,免费送你完整历史。你能看到什么时候加了什么,也能把主简历和从它派生的任何定制版做 diff。

每季度回顾一次。 一年四次,每次十五分钟:读一遍当前职位的要点,补上发生的事,更新最后使用年份。写进日历。

数字旁边记出处。 在每个指标下面写一行「出处:……」的习惯只花十秒,却能让你免于面试时答不上来。

旁边再放一份工作记录。 Julia Evans 的 brag document,也就是一份你在工作中做了什么的流水账,为主简历提供素材。工作记录是原材料;主简历是精选。

如果你的主简历有薄弱条目,比如某段经历只有两条要点、没有数字,Resume Matcher 有一个内容补充步骤专门处理:它找出薄弱条目,就此最多问你六个问题,再根据你的回答写出两到四条新要点,不会添加你没提供的细节。

职业方向:一份主简历不够用的时候

大多数开发者一份主简历加几段简介就够了。有些人不够。如果你的后端经历和数据经历有不同的技能列表、不同的项目取舍和不同的简介,两份主简历比一份塞满注释的文件更清爽。

Resume Matcher 就是围绕这一点设计的。你最多可以保存五份主简历,每个职业方向一份,其中一份标为默认。定制页面会预选默认那份;职位需要另一个方向时你再切换。每份主简历本身都是一份完整的简历,可以从上传的 PDF 或 Word 文件创建,也可以通过简历向导的问题创建,需要标准布局没有的栏目时,每份都可以带自定义栏目。

定制版本如何从主简历派生

定制等于挑选加措辞。针对一个职位,你抽出匹配其要求的要点,用它的措辞改写,选那个方向的简介,把技能列表裁到职位在意且你近几年用过的范围,其余删掉以压进一两页。主简历不变。定制指南用一个完整的实例走了一遍这些步骤。

在 Resume Matcher 里,每份定制简历都是一个独立文档,指向它所来自的主简历。模型对你的个人简介、要点和技能提出有针对性的修改;代码逐条检查,锁定你的姓名、雇主、职位、日期和学位,并撤销任何主简历里没有的数字。你审核修改前后的对比,然后确认或重新生成。主简历保持你写的样子,下一个职位从同一份完整的来源出发。保存的定制版仍可编辑,并能用七个模板中的任意一个导出 PDF。

留住主简历。其他一切都是它的视图。

如果这篇文章帮到了你

如果这份骨架让你省去了一次凭记忆重建,给 GitHub 上的 Resume Matcher 点个 Star 能帮更多求职者找到它。你可以在 GitHub、X 和 LinkedIn 上关注我,Saurabh Rai。

[本文在 AI 的帮助下完成起草、翻译和排版。产品信息已对照 Resume Matcher 源代码核实,引用的外部资料均附有链接。]

觉得有用? 在 GitHub 上为 Resume Matcher 点个 Star,并关注项目动态