程序员作品集怎么做,才能让别人快速看懂你的能力

预计阅读时间:12 分钟

这是「把自己部署到互联网上」系列的第 42 篇。

上一篇,写了下个人官网首页到底该写什么。

个人主页解决第一印象:让别人知道你是谁,在写什么,这个网站和博客、公众号、GitHub 有什么关系。

但个人首页只能提供大致信息。如果别人想继续了解你的能力或对某个项目感兴趣,他会看作品集。

很多程序员并不是没有项目。恰恰相反,项目、脚本、笔记、部署记录、GitHub 仓库可能都有。但别人无法从碎片化的文档中了解你是谁。

项目名称看到了,技术栈看到了,链接也放了。

可访问者仍然不知道:你到底解决了什么问题?你在项目里负责了什么?这个项目和你的能力有什么关系?它是不是一个真实项目?它能不能证明你真的做过?

作品集要解决的问题

我这次做个人作品站,初衷不是为了展示一堆很炫的项目。

这阶段内容,有几年开发经验程序员可能会觉着含金量没那么高,这一阶段真正有价值的,是我从 0 到 1 搭建个人博客的完整过程。

服务器、域名、备案、安全、Docker、Nginx、HTTPS、对象存储、数据库初始化、公众号文章整理,这些看起来不像传统项目,但整理得好,也能成为有说服力的作品集。

这些步骤证明了一件事:我真的把一个长期技术阵地跑起来了。

很多作品集会写成这样:

个人博客系统
技术栈:Python / Docker / Nginx / MySQL
在线地址:xxx
GitHub:xxx

别人看到上面的内容,只能知道你用了哪些工具,却不知道你是如何做的。

这个博客项目是本地跑起来,还是公网可访问?有没有域名?有没有备案?有没有 HTTPS?有没有处理服务器安全?有没有接入对象存储?有没有处理数据库迁移和管理员初始化?有没有写过复盘文章?

有些内容不写出来,项目的含金量就会被压低。同样是“个人博客”,有人只是本地启动了一个开源项目,有人真的买服务器、配 Nginx、上 HTTPS、接对象存储、处理数据库问题,并且长期发文章。

作品集与 GitHub 仓库区别

如果作品集只写“个人博客 + 技术栈”,这两种经历在页面上看起来差不多。

所以作品集和 GitHub 仓库不是一回事。

GitHub 更像原材料,代码、提交记录、README 文件都在那里。

作品集不能只把原材料扔给别人,它要帮访问者完成第一层理解。

一个好的作品集,至少要回答五个问题:

  1. 这个项目是什么?
  2. 它解决了什么问题?
  3. 我做了什么?
  4. 过程中有哪些关键决策和真实问题?
  5. 它最终证明了什么能力?

换句话说,作品集不是把项目摆出来,而是把项目翻译成能力。

比如“个人博客上线实践”,可以翻译成这些能力:

个人内容阵地搭建能力
服务器基础安全意识
Docker 化部署能力
Nginx 反向代理和多项目入口管理能力
HTTPS 与静态资源管理能力
技术复盘和长期内容沉淀能力

这样别人才能快速判断。只写项目名,访问者需要自己猜;写清楚能力,他就能知道这个项目为什么值得看。

作品集组成

我会把作品集拆成如下几个部分:

项目卡片

它是第一层入口,不需要写太长,要有足够信息。

至少包含项目名称、一句话说明、当前状态、我做了什么、能力证明和相关入口。

卡片的任务不是讲完所有细节,而是让别人判断这个项目值不值得点进去。

项目详情

项目最好有详情页。比如个人博客上线实践,就值得写背景、目标、技术方案、关键决策、遇到的问题和最终结果。

真实项目一定有过程。如果只有成功结果,没有取舍和问题,就容易像包装。

相关复盘文章

作品集有一个优势:把开发过程记录成文章。

服务器安全可以链接到 root 登录、防火墙、安全组、服务器扫描这些文章;

Docker 和 Nginx 可以链接到 Conda 与 Docker、全局 Nginx 的复盘。

项目证明我做过,文章证明我认真想过及如何取舍。

能力标签

能力标签不等于技术栈。

不想只写 Docker、Nginx、Linux,更想写部署架构、服务器安全、工程取舍、内容沉淀、长期维护、技术复盘。

技术栈是工具,能力标签说明这些工具背后的价值。

入口链接

每个项目最好有明确入口,比如访问博客、阅读系列文章、查看 GitHub、查看部署复盘。

入口不一定都要有,但要让访问者知道下一步能看什么。

举例

以我的内容为例,“个人博客上线实践”可以这样写:

个人博客上线实践

从云服务器、域名备案、Docker 部署、全局 Nginx、HTTPS 证书到对象存储接入,完整跑通个人博客从 0 到 1 上线流程。

状态:已上线 / 持续维护
我做了什么:服务器配置、部署架构、证书配置、资源接入、数据库初始化、问题排查、文章复盘
能力证明:个人内容阵地搭建、Linux 服务器基础、Docker 部署、Nginx 反向代理、HTTPS、长期内容沉淀
相关入口:访问博客 / 阅读上线复盘 / 查看部署相关文章

这张卡片能让别人知道:它不是一个普通博客页面,背后是一整套上线实践。

“服务器基础安全配置”可以这样写:

服务器基础安全配置

在正式部署博客前,先处理普通用户、SSH 登录、防火墙、安全组、数据库端口和 fail2ban,避免个人服务器一上线就裸奔。

状态:已用于个人服务器环境
我做了什么:创建普通用户、检查开放端口、理解安全组和防火墙、限制高风险入口、整理安全检查清单
能力证明:公网服务器安全意识、Linux 基础运维、风险判断、长期维护意识
相关入口:阅读服务器安全系列文章

这个项目不一定有漂亮页面,但它能证明我认真处理过公网服务器的基础安全。这也是作品。

“Docker + 全局 Nginx 部署方案”可以这样写:

Docker + 全局 Nginx 部署方案

从 Conda 部署转向 Docker,再用一个全局 Nginx 统一管理多个项目的域名、HTTPS 和反向代理,降低后续维护复杂度。

状态:作为个人服务器多项目部署方案
我做了什么:比较 Conda 和 Docker、设计容器网络、拆分 Nginx 配置、规划多项目入口
能力证明:部署架构、工程取舍、Docker Compose、Nginx、多项目维护
相关入口:阅读部署架构复盘

这张卡片的重点不是“我用了 Nginx”,而是我为什么这样设计。

小结:

第一版作品集不会放太多内容,只放最能代表当前主线的内容:个人博客上线实践、服务器基础安全配置、Docker + 全局 Nginx 部署方案、HTTPS 和对象存储接入、程序员个人品牌建设实战文章合集、轻量个人作品站或其他业务项目。

这些内容之间关系很清楚:

服务器是底座
部署是方案
博客是阵地
文章是复盘
作品站是入口

这样作品集看起来就会很系统,不零散。

对我个人来说,当前最重要的作品不是一个炫酷前端页面,而是这套从服务器到个人博客上线的实战过程。

只要把它整理清楚,它就能证明部署能力、安全意识、工程取舍、内容沉淀、长期维护和技术表达。

下一篇,我会继续写:我用 AI 做了一个个人作品站。

前面已经规划号首页写什么、作品集怎么表达,接下来要做的,就是借助 AI,把这些内容整理成一个轻量的个人官网入口。


本文由 楸木 原创,转载请注明出处。

这篇文章暂未开放评论。

相关推荐

发现更多