十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

用Git仓库管理个人技能:打造可验证的能力地图

用Git仓库管理个人技能:打造可验证的能力地图 1. 为什么要把skills当成一个项目来管我见过太多人把技能管理做成“简历上的一行标签”会Python、懂项目管理、熟悉Docker。等到真正要用的时候才发现这些名词既说不清深度也拿不出证明面试官一问细节就露馅。我自己在带团队和做技术选型时也踩过同样的坑——明明在简历里写了“熟悉微服务架构”结果被问到服务发现原理时语塞那种感觉实在太糟糕了。后来我把“skills”这件事彻底换了个思路不再把它当一张静态的能力清单而是当成一个长期维护的开源项目来运营。这个项目有自己的数据文件、版本记录、证据库和迭代节奏就像管理一套代码仓库一样管理自己的能力地图。技能不再是一个模糊的感觉而是一条条带证据、带等级、带下一步行动的结构化数据。这套方法适合谁如果你是准备跳槽的技术人它能帮你快速生成经得起追问的简历素材如果你是刚转行不久的新人它能帮你看出能力缺口在哪里、下一阶段该补什么如果你是带团队的技术负责人它还能变成团队能力盘点的基础工具。我实际跑了一年多最大的感受是它解决的不仅是“我知道自己会什么”更解决了“我怎么证明自己会”和“下一步该学什么”这两个更棘手的问题。2. 搭建技能体系前先把维度定清楚很多人做技能管理失败不是记录不够勤快而是分类和分级标准没定好导致后面数据一片混乱。所以在碰任何工具之前先把三个底层问题想明白技能分几类、熟练度分几级、一条记录长什么样。2.1 技能分类不要只分“会的”和“不会的”我见过最没用的技能列表就是把所有名词平铺在一张表里Linux、Axure、谈判、SQL、复盘……堆在一起完全看不出结构。更合理的做法是先把技能归到几个大类里我目前用的分类是六类覆盖得比较全分类说明典型例子领域知识某个业务/行业特有的知识体系电商订单流转、供应链库存管理工具技能具体软件、语言、平台的操作能力Python、Figma、Kubernetes方法论跨场景可复用的做事框架OKR制定、结构化思考、复盘方法软技能与人协作相关的能力跨部门沟通、向上汇报、冲突处理管理能力带人、带项目、带资源的能力目标拆解、绩效面谈、风险管控认知能力思维层面的底层能力系统思考、批判性阅读、产品Sense这个分类的核心逻辑是“用途驱动”你记录一条技能时先想清楚它帮你解决的是“懂什么”“会操作什么”还是“怎么跟人协作”。我这么分之后有个立竿见影的好处写简历和准备面试时可以直接按分类去组织项目经验不会漏掉重要能力也不会把一个领域的东西误写成另一个领域。2.2 熟练度分级用五级刻度替代“熟练”和“精通”“熟练”“精通”“了解”这类词的问题在于每个人对它们的理解都不一样。有人说“会写SQL”就算熟练有人认为得能调优索引才算。我建议直接用五级刻度每一级都要有客观判据0级未知听说过名字不知道具体是什么也说不出能干什么。1级了解看过资料或教程知道基本概念和适用场景但没有独立交付过任何东西。2级能用在真实或模拟项目中独立使用过能完成常规任务但遇到非典型问题会卡住。3级熟练多次独立完成复杂任务能根据场景做方案选型能判断什么情况下该用什么、不用什么。4级专家能教别人、能制定规范、能处理极端边缘场景行业内公认或团队内公认的高手。每一个等级都必须“拿证据说话”不能自己拍脑袋。比如“2级能用”你的证据库里至少要有一个真实项目记录“3级熟练”至少要有两三个不同类型的交付成果“4级专家”建议配有对外输出物比如技术分享、培训材料或者被团队采纳的方案。2.3 一条技能记录的完整结构三段式证据链我在实践中发现技能条目如果只记“技能名等级”三个月后基本就变成废数据因为你已经忘了当初为什么给自己打这个等级。真正有价值的一条记录应该包含三段式证据链场景在哪类项目、什么业务背景下使用了这项技能项目大致规模和时间。行为你具体承担了什么职责、做了哪些关键动作、解决了什么难题。结果产生了什么可量化的结果比如性能提升、工期缩短、成本下降或者收获了哪些可展示的产出物。比如“SQL2级”这条记录如果只是这样写就毫无价值但如果你写“在A项目的月报统计模块中独立完成7张报表的取数与调优将原查询耗时从90秒降到7秒”它就变成了一条可以直接搬进简历和面试话术的素材。我第一次做完整盘点时光是把“写SQL”这种描述改写成三段式证据链就花了整整一个周末但收获非常值得——原来自己以为平平无奇的工作里藏着好多被低估的成果。3. 实操用纯文本搭一个可长期维护的skills仓库思路捋清楚了下面进入实操。我不推荐用现成的复杂App去管技能原因有三第一个人数据存在别人数据库里一旦服务停止就全没了第二现成工具往往逼着你按它的字段和流程走灵活性不足第三维护一个自己的版本化仓库本身就是一次极好的技术实践。以下方案基于一个简单的Git仓库完全免费而且所有数据都在你自己手里。3.1 仓库目录设计数据与展示分离我的仓库结构如下简洁到可以直接复制my-skills/ ├── data/ │ ├── skills.json # 核心数据所有技能条目都在这 │ └── categories.json # 分类和等级的定义配置 ├── evidence/ │ ├── 2025-01-order-report/ │ │ ├── README.md # 说明这个证据是什么、关联哪条技能 │ │ └── report-screenshot.png # 关键产出物截图 │ └── 模板使用说明.md ├── templates/ │ ├── skill-item.template.md # 单条技能的Markdown模板 │ └── evidence.template.md # 证据记录的模板 ├── output/ │ └── README.md # 生成出来的对外README可放简历/博客 └── index.html # 本地可视化看板设计上最重要的原则就是“数据与展示分离”data/skills.json是唯一的事实来源所有的展示层看板、README、简历片段都从它生成。这样做的好处是你只需要维护一份数据展示想怎么改就怎么改不会出现“这里改了那边忘改”的混乱。模板目录的存在则是为了降低维护成本每次新增技能或证据时直接复制模板填写格式不会漂移。3.2 用JSON定义技能条目结构清晰字段可扩展data/skills.json是整个系统的核心我建议用数组来组织每条记录包含如下字段{ skills: [ { id: sql-001, name: SQL, category: tool, level: 2, evidence: [ evidence/2025-01-order-report, evidence/2024-11-data-migration ], next_action: 学习窗口函数与查询计划优化完成一次慢查询调优练习, updated: 2025-03-12 }, { id: okr-001, name: OKR制定, category: methodology, level: 3, evidence: [ evidence/2025-01-order-report/okr-breakdown.md ], next_action: 带新人完成一次季度OKR拆解并收集反馈, updated: 2025-03-02 } ] }字段解释id每条技能的唯一标识建议用“技能名拼音缩写-序号”方便与evidence目录对应。name技能名称尽量用业内通用说法不要在“写SQL”和“SQL查询”之间反复横跳。category分类代码对应categories.json里的配置我用的是domain/tool/methodology/soft/management/cognition。level默认可以只存等级数字但建议在categories.json里维护等级名称和判据这样数据更干净。evidence数组存放证据目录的相对路径。每条证据最好对应一次具体项目经历不要多条技能共用一条模糊证据。next_action下一步行动。这个是整个系统里最有价值又不被重视的字段它逼着你在记录时想清楚“这条技能接下来怎么往上走”。没有这个字段的记录三个月后基本就是死数据。updated最后更新时间。用于季度复盘时筛选出长期未更新的条目。categories.json长这样{ categories: { domain: 领域知识, tool: 工具技能, methodology: 方法论, soft: 软技能, management: 管理能力, cognition: 认知能力 }, levels: { 0: 未知, 1: 了解, 2: 能用, 3: 熟练, 4: 专家 } }把分类和等级的描述统一收敛在一个配置文件里后面生成任何展示层的时候都可以直接引用。我可以明确说这个细节在整个项目里看起来不起眼但对于保持数据一致性至关重要因为它避免了“同一个等级在README里叫精通在JSON里写4”这种错位。3.3 本地可视化看板一份HTML就能搞定数据规范了接下来需要让数据变得好看、好读。工具上我的建议是克制不要为了可视化去学一套React 组件库这是典型的杀鸡用牛刀。个人技能数据量很小一个原生HTML页面加几十行JavaScript就足够浏览器打开即用零依赖。示例代码如下我简化了样式核心逻辑保留!DOCTYPE html html langzh-CN head meta charsetUTF-8 titleMy Skills Dashboard/title style .category { margin: 16px 0; padding: 12px; border: 1px solid #eee; border-radius: 8px; } .skill-row { display: flex; align-items: center; margin: 8px 0; } .level-bar { flex: 1; height: 8px; background: #eee; margin-left: 12px; border-radius: 4px; } .level-fill { height: 8px; background: #4a90d9; border-radius: 4px; } /style /head body div idapp/div script fetch(data/skills.json) .then(res res.json()) .then(data { const app document.getElementById(app); const categories { domain: 领域知识, tool: 工具技能, methodology: 方法论, soft: 软技能, management: 管理能力, cognition: 认知能力 }; const grouped {}; data.skills.forEach(skill { (grouped[skill.category] grouped[skill.category] || []).push(skill); }); Object.keys(categories).forEach(key { const skills grouped[key] || []; const div document.createElement(div); div.className category; div.innerHTML h3${categories[key]} (${skills.length})/h3; skills.forEach(skill { const row document.createElement(div); row.className skill-row; const percent (skill.level / 4) * 100; row.innerHTML span stylewidth:200px;${skill.name}/span div classlevel-bar div classlevel-fill stylewidth:${percent}%;/div /div span stylemargin-left:12px;Lv.${skill.level}/span ; div.appendChild(row); }); app.appendChild(div); }); }); /script /body /html这一段代码做的就是把JSON数据按分类分组然后渲染成带进度条的卡片。注意进度条的值是等级/4因为我的体系是0到4五级除以4正好映射成百分比。这种简单的数据映射很直观任何有基本前端知识的人都能改。之所以不用Vue或React核心考量是“历久弥新”个人仓库的寿命要按十年算一个纯原生HTML文件十年后打开依然是这个模样而一个基于某个框架的工程可能五六年就依赖失效跑不起来了。我踩过一次坑早期用某个在线笔记工具管理技能结构后来工具改版把数据模型变了一轮我的整个分类体系全部乱掉从那以后再也没碰过第三方专属格式。3.4 用Markdown生成对外简历素材看板是给自己看的对外的展示还需要一份可读性强的Markdown版本。从JSON生成Markdown的方式很简单写一个小脚本遍历JSON按照模板输出表格。我这里直接给出手工整理的模板示例方便理解最终效果# 核心技能概览 ## 工具技能 | 技能 | 等级 | 最近更新时间 | 关键证据 | |------|------|--------------|----------| | SQL | 能用 | 2025-03-12 | [订单报表优化](evidence/2025-01-order-report) | | Python | 熟练 | 2025-02-20 | [数据清洗项目](evidence/2025-02-data-cleaning) |为什么“最近更新时间”放在这里很重要因为面试官看到一条“SQL-熟练”时通常关心的不是你有没有学过而是你现在还在不在用。数据越新可信度天然越高。在简历上写“熟练使用SQL”但已经两年没碰过的人和“最近一次使用是三个月前项目效果如下”的人面试官天然更信任后者。整个流程跑通之后日常维护成本极低平时每完成一个项目顺手往evidence/下建一个目录记录一下再回skills.json里更新对应的等级和证据引用。季度复盘时集中整理一次即可不需要每天花时间“经营”。4. 从盘点数据到能力提升把skills仓库用起来数据仓库搭好只是第一步真正的价值在于怎么把数据转化成行动。我在实践里总结了一套三阶段节奏现在分享出来你可以直接照着跑一轮。4.1 第一次盘点别急着自评先收集证据很多人第一次做技能盘点时就卡在“我该给自己打几分”上面。我的经验是顺序要反过来先别管等级先花一周时间收集证据再根据证据反推等级。具体节奏可以是第1-2天翻自己过去三年做过的工作交付物、项目总结、代码仓库、文档链接把凡是自己能拿出东西来的技能名称全部列出来不遗漏也不要审查。第3-4天对于列出来的每个技能找到至少一条对应证据。找不到的标注“暂无证据”后面统一处理。第5-6天对照五级判据为每一条技能定级。定级的原则是“证据决定下限”只有一条初级证据的最多只能评到2级有三条以上不同类型证据、且能独立做方案选型的才考虑3级。第7天整体审视一遍给每条技能填写next_action完成首轮仓库构建。体感上这个流程最耗时的不是敲数据而是翻旧材料。我一直劝大家平时就要有归档习惯项目做完随手留个README、存个截图几个月后的复盘就是简简单单的“编译”而不是“考古”。如果你发现自己过去全没有归档也没有关系把能找到的找出来找不到的诚实写“暂无证据”这本身就是一次重要发现。4.2 证据缺失怎么办降级比硬撑诚实得多实践中我发现“暂无证据”的处理最能体现这套方法的成熟度。处理原则只有一条证据不全等级就往下调。举个例子我一度觉得自己的Docker水平至少有3级因为用过好几年了。可真要整理证据时发现我从来都是写着Dockerfile部署标准服务的路子没解决过镜像瘦身、多阶段构建、或者容器编排的难题正面证据一条都拿不出来。于是按规则降到了2级并在next_action里写了“用多阶段构建完成一次镜像瘦身并记录前后大小对比”。这个调整让我非常清醒感觉中的熟练和能拿出交付物的熟练之间差了整整一个等级。如果你发现自己很多技能都缺证据也别沮丧这恰好说明你过去的实践没有形成闭环事情做了但没有沉淀出可复用的成果。解决方法是往后刻意地在每个项目结尾留十分钟简单记录一下使用场景、具体动作和量化结果长此以往技能仓库的证据会越来越厚每一条都经得起追问。4.3 季度复盘升级、降级、删除与新增技能仓库不是一次性工程它需要按季度迭代。我的复盘节奏是每三个月抽一个下午做四件事检查updated字段超过一年没更新的技能默认降一级除非有持续的证据链表明水平并未退化。别觉得苛刻技能不用是真的会退化这个字段就是防止你活在过去的成绩单里。逐条审视next_action完成了的就升级并补充新证据没完成的问自己为什么是该调整行动还是该放弃这条技能。做减法删除那些既没有证据、也没有实际应用场景、且未来半年内也不打算用的技能。删掉不是抹杀而是让仓库保持精简。我个人把核心技能数量控制在30到50条之间超过这个数就会开始维护不过来。对照目标补新增结合未来半年的业务方向或求职目标新增1到3条需要重点建设的技能并为它们安排具体的学习或实践行动。这套季度复盘我坚持了快一年最有价值的感觉是技能库不再是一堆静止的标签而是一张会呼吸的生命地图。每个季度结束时我能清楚地看到自己是在原地踏步还是真的在往前走。5. 常见问题与排查技巧实录这套方法我在分享给朋友和同事的过程中收集到了不少高频问题这里一并整理出来帮助少走弯路。5.1 不会编程能不能用这套方法完全能。我不推荐任何重工具的原因就是因为它只适配程序员会让更大范围的人群被挡在门外。如果你不会JSON和代码只需做一次简化版映射用Excel或在线表格代替skills.json每行一条技能列为技能名称、分类、等级、证据链接、下一步行动、更新时间。用网盘或本地文件夹代替evidence/目录每个项目一个文件夹里面放几张关键截图或文档。用Excel的筛选和透视表代替看板按分类汇总条数、按等级看分布效果完全不差。表格文件同样可以从“存档”角度做版本管理定期另存为带日期的文件即可。我甚至见过有朋友完全手写手帐来管理这个系统用的字段和我上面的JSON完全一致效果也不差。形式不重要字段结构才是这套方法的核心。5.2 技能树太大维护成本爆炸怎么办如果你整理出了100多条技能说明你陷入了“大而全”的误区。个人技能管理的目标从来不是记录所有会一点点的东西而是记录那些能支撑你下一阶段发展的核心资产。我的处理建议是分两层核心技能不超过50条精维护和备注池其他听说过、用过一点的只列名称和一句话说明。核心技能进上面说的仓库流程备注池一条线记录某年某月在哪个项目接触过仅此而已不做证据链和复盘。这样做的好处是核心技能区始终清爽你愿意花时间去精耕而备注池也不会丢失你曾经积累的线索。5.3 不知道自己水平属于哪一级怎么办这是最高频的问题。最简单的判断方法是拿“能不能独立交付”和“能不能带别人”这两把尺子去卡。无法独立交付也没有任何产出物1级封顶。能独立完成常规任务有产出物但都是标准场景2级。能独立解决复杂问题做过方案选型被人请教过3级起步。能制作培训材料并教别人或主导规范制定4级。如果还拿不准去找一位比你资深的同行把证据链给他看让他按这个标准帮你评估一次。我第一次做Python技能定级时就是这样找同事交叉验证的他一句话点醒我“你连异步编程的坑都没踩过怎么敢说自己熟练”从那以后我给自己定了个规矩等级评定至少要有一次外部评估打底避免自我感觉和客观事实差距过大。5.4 常见问题速查表问题可能原因处理方式不知道有哪些技能平时没有记录习惯从过往项目材料/作品集反推先列后查技能太多维护不过来把所有“知道”都当成“技能”分核心技能和备注池核心不超过50条不知道给自己打几级缺乏客观判据按“独立交付/带人/产出物”三把尺子卡证据找不全项目沉淀不足一律降级在next_action里安排补证据的实践数据更新不勤流程太重降低录入频率为季度制每次项目结束只花10分钟JSON改坏了格式手改容易出错养成改完用浏览器打开看板校验的习惯看板显示空白fetch本地文件被浏览器拦截用本地http-server启动或直接改用JS读XMLHttpRequest同样有限制最稳妥是放GitHub Pages托管最后再分享一个实用小技巧给证据目录里的每个项目README都加上一栏“对本技能等级的支撑说明”用一两句话写明为什么这份证据证明了某个等级。半年后回头看时你会感谢当初这个举动因为记忆会美化过去而当时写下的定位往往比事后回忆准确得多。我的感受是这套方法跑起来之后收获最大的反而不是“更了解自己”而是它逼着我把每一份经历都沉淀成可复用的资产而不是任由它们散落在大脑里慢慢失真。
返回列表