GitHub 与作品集:开源贡献、博客、Demo 的加分逻辑
对程序员来说,简历是自述,GitHub 是物证。简历上写“熟悉 Vue3”是你说的,仓库里一个两千 star 的项目是证据。尤其在两个场景里,作品集的权重被放大:校招(没有工作经历,项目就是你全部的硬证据)和跨领域求职(用作品证明新方向的能力)。这一篇讲 GitHub、开源贡献、博客、Demo 各自的加分逻辑,以及什么做法反而减分。
先看一个场景。应届生小周投前端岗,简历平平,但 GitHub 主页整洁:两个 pin 项目有完整 README,一个是课程管理系统的重写版,一个是自己写的 Markdown 编辑器;commit 图谱一年三百多个绿点;还给两个知名组件库提过被合并的 PR。二面面试官开场第一句是:“我看了你的 GitHub,那个编辑器的手写渲染层怎么设计的?”这一场面试的基调,从“考察候选人”变成了“和作者讨论作品”。小周拿到的 offer,一半功劳在简历,另一半在 GitHub。
当然,作品集不是万能药:它弥补不了简历的结构问题,也替代不了八股和算法的准备。它的准确定位是“差异化放大器”:当两个候选人简历水平相当时,有作品集的那个会被记住。所以运营作品集的策略,应该排在简历过关之后,而不是之前。
一、GitHub 主页的加分逻辑
面试官看 GitHub,看的不是 star 总数,而是四个信号:
| 信号 | 看什么 | 怎么经营 |
|---|---|---|
| 持续性 | commit 图谱是否长期有绿点 | 持续提交,比突击刷榜可信 |
| 完成度 | pin 项目是否有 README、测试、CI | 每个项目当小产品打磨 |
| 代码品味 | 命名、结构、提交信息 | 提交信息写清楚动机 |
| 协作 | issue 讨论、PR、code review | 参与真实项目,别只躺收藏夹 |
四个信号里,持续性最便宜也最容易被忽视。很多人只在找工作时突击提交,图谱上突然出现一段密集绿点又戛然而止,面试官都懂。从决定求职那天起,保持每周提交,比任何临时美化都管用。commit 信息也要当回事:“fix bug”和“修复订单列表在空数据时的越界问题”传递的是完全不同的职业素养。
再补一个主页经营的捷径:profile 仓库。GitHub 有一个特殊机制,新建一个和用户名同名的仓库,它的 README 会显示在个人主页最显眼的位置。用三百字写清楚你是谁、做什么方向、在学什么、怎么联系,等于给主页加了一个自定义封面。这个位置的浏览量,比任何一篇博客都高,且完全由你掌控。
二、Pin 项目怎么准备
主页 pin 两到四个项目,它们是你的门面。一个拿得出手的 pin 项目通常包含:清晰的 README(项目是什么、解决什么问题、技术选型、本地怎么跑、截图或 Demo 链接)、像样的代码结构、基本的测试或至少能跑的启动脚本。README 是重灾区:大量项目只有一个标题加三行安装说明,等于把作品锁在抽屉里。
README 的黄金结构:
# 项目名
一句话定位:它解决什么问题,给谁用。
## 功能特性(3-5 条,配截图或 GIF)
## 技术选型与理由(为什么用 A 不用 B)
## 快速开始(clone、install、run 三步以内)
## 目录结构(核心模块一句话说明)
## 已知问题与 Roadmap(展示思考的诚实度)
最后一条“已知问题”常被忽略,但它极其加分:敢写“当前未处理大数据量分页,计划引入虚拟滚动”的人,传递的是对自己作品的清醒认知。Demo 能在线跑的,放链接;放不了的,录一段 GIF。面试官点开成本每多一步,你的作品集价值就薄一分。
判断 README 是否合格有个土办法:把项目链接发给一位非技术朋友,对方看完能说出“这是做什么的、大概怎么用”,算及格;发给一位同行,能说出“这里为什么这么设计”,算优秀。两个测试都过不了,就回去改 README,因为面试官看到的体验,和这两位测试者没有区别。
三、开源贡献怎么攒
开源贡献不是从零造轮子,大多数人的路径是从小 PR 开始:
- 从你 daily use 的工具入手:你常用的库、框架、编辑器插件。用过才会有真实痛点。
- 从文档和 typo 开始:很多项目欢迎文档修复,这是低风险的第一次协作。
- 提 issue 也是参与:一个描述清晰、带复现步骤的 issue,维护者会记住你。
- 认领 good first issue:主流仓库都有这个标签,是官方留给新手的入口。
- 从使用文档到代码:先读 contributor guide,按项目规范改,别一个 PR 重构半个仓库。
提 PR 的礼仪和代码本身一样重要:一次 PR 只做一件事,描述写清动机和方案,被 review 后耐心修改。两个被合并的真实 PR,在简历上的分量超过一个无人问津的“自研框架”。哪怕只是给知名项目改了个文档错误,也可以写进简历:“参与 XX 项目开源协作,提交文档修复 PR 并被合并”。
关于简历怎么写开源贡献,给个句式:“为 XX 项目(GitHub 数 k star)提交特性 PR 并被合并,解决了 XX 场景下的 XX 问题”。注意写清楚项目的影响力和你解决的问题,而不是只写“参与开源”四个字。没有合并记录但深度使用过某开源项目的,可以写“深入研究 XX 源码并输出分析文章”,这同样是有分量的证据,而且门槛低得多。
四、博客与技术写作
博客的价值不在粉丝数,在三个证明:能讲清楚(表达与抽象能力)、持续在学(成长性)、有体系(知识管理能力)。写什么?源码分析、踩坑记录、技术选型对比,是最适合求职者的三类选题,因为它们直接对应面试考点。
运营方法:不必日更,一月两篇深度长文胜过三十篇摘要。文章之间互相引用,形成系列,比如“订单系统设计系列”“前端性能优化系列”。简历上放博客链接时,把最相关的两三篇置顶。面试时被问到“你写过什么”,能顺手展开一篇和岗位相关的文章,是极强的主动展示。长期写作的方法论,可以参考 Obsidian 知识管理实战 里卡片笔记与公开写作的结合方式,让平时积累直接变成文章素材。
文章和面试的联动用法:面试前夜,把自己最相关的那篇文章重读一遍,它的结构就是你讲述某个技术的讲稿。反过来,面试中被问住的问题,回来写成文章,既补了认知又添了素材。一次求职季跑完,写作清单会自然长出一批面试真题的答案,这就是写作和求职互相成就的地方。
五、减分项清单
以下做法看起来热闹,实际减分,值得专门列出来避开:
- 刷星互赞群、买 star:面试官点进 commit 记录和 issue 区就露馅。
- fork 一堆仓库从不修改:pin 全是 fork,主页像收藏夹。
- 只有 README 没有代码:截图项目、 PPT 项目,一眼假。
- 泄露公司代码:把内部系统代码原样推公开库,是合规红线,严重时涉及违法。
- 简历放空链接:博客三年前停更、GitHub 全是默认生成的仓库,宁可不放。
最后一条展开说:作品集的原则是“少而真”。两个pin 项目加两篇系列文章,比二十个半成品有说服力得多。放链接之前,先以一个陌生面试官的视角完整走一遍:clone 能跑吗?README 五分钟能读完吗?能说出这个项目最难的一点吗?三问都过,再放进简历。想让 AI 帮你打磨项目 README 或文章结构,Claude Code 完全指南 里有对应的用法,让它先以“挑剔的面试官”视角审稿,再以“潜在协作者”视角补全信息。
六、作品集的使用时机
作品集不是简历的附件,是面试的弹药。三个使用时机:第一,简历里放链接,让面试官在面试前有东西可看,先建立好感;第二,面试中讲到相关技术时,主动说“这个我在博客里写过一篇分析,我可以展开讲讲”,把话题引向准备好的阵地;第三,HR 面聊到“平时怎么学习”时,用持续的 commit 和写作习惯回答,比一句“我喜欢学习”具体十倍。三个时机都用上,作品集才算物尽其用。
七、常见错误对照
| 常见错误 | 表现 | 后果 | 改成 |
|---|---|---|---|
| 求职前突击提交 | 图谱一段密集绿点 | 动机明显,反效果 | 提前三个月持续提交 |
| README 只有标题 | 项目打不开看不懂 | 作品变哑巴 | 补全定位、选型、运行方式 |
| 开源只想造轮子 | 只推自己的框架 | 无协作证据 | 从 good first issue 起步 |
| 博客搬运教程 | 十篇都是摘要 | 无差异度 | 写源码分析与踩坑 |
| 泄露公司代码 | 内部代码上公开库 | 合规事故 | 脱敏或另写 Demo |
作品集是简历的放大器:简历决定了面试官对你的初始预期,GitHub 和博客决定这个预期被放大还是被证伪。经营作品集最好的时机是三年前,其次是现在。最后一句话写给觉得自己“没有拿得出手作品”的人:作品集不是天才的专利,是普通人的复利。从今天开始,把一个熟悉的项目按上面的 README 标准重写一遍,坚持每周提交,三个月后你就有了一页体面的主页。开始的最好时间是昨天,其次是现在这一周的第一个 commit。
本章由 WorkBuddy 原创整理,方法与话术仅供参考,请结合自身情况调整。
