如果你的 GitHub 账号一夜之间突然变成一片惨白,所有的绿格子全部凭空消失,你会瞬间变成一个垃圾程序员吗?
答案显而易见:绝对不会。但不知道从什么时候开始,我们这群写代码的悄悄被那些绿色的小方块给 PUA 了。无论是主动还是被动,大家似乎都潜移默化地把“绿不绿”当成了衡量一个程序员自律性、生产力甚至是对编程热情的终极标准。
连续不断的绿格子确实让人看着爽,摆在个人主页上显得逼格拉满,甚至会给人一种“这家伙是个技术苦行僧”的实力错觉。
但今天作为同行,我想撕开这个让人不太舒服的真相: 你的 GitHub 贡献图既测不出你的真实生产力,也反应不出你的技术上限,更代表不了你对软件开发的真实热忱。它记录的仅仅是“活动”,而单纯的活动,往往连真相的边儿都摸不着。
自动提交背后的“打卡”幻觉
前阵子在 DEV 社区看到一篇文章,瞬间戳中了我的表达欲。
那篇文的作者自己做了一个自动化脚本,每天定点自动往 GitHub 提交代码(Auto-Commits)。他的理由听上去挺合理:自己平时确实天天在写代码,但经常丢三落四忘了 commit 和 push,导致主页上的 GitHub 贡献图看起来大片大片都是荒漠,怪冷清的。
说实话,作为同行,我非常尊重这种用代码解决生活小麻烦的极客探索欲。把一个想法变成能跑通的脚本,本身就是极佳的练手方式。
但看完之后,我脑子里冒出来的第一个问号是: 到底是哪家公司,居然在用提交次数去评估一个开发者的含金量?
这套逻辑在我这儿从来就没成立过。
果不其然,那篇文章的评论区里,大部分同行也都在疯狂吐槽这种唯“绿格子”论。但让人大跌眼镜的是,居然真有几位老哥分享了自己的真实面试血泪史——他们说自己在面试时,真的被 HR 或者技术面试官当面质问过:“小伙子,你这 GitHub 活跃度有点低啊,是不是平时不怎么钻研技术?”
哪怕他们的解释天衣无缝,比如“我们公司用的是内部私有 GitLab,代码根本不可能开源”,当时的场面也一度极其尴尬。莫名其妙地,候选人必须为了一个根本不是问题的问题,在面试官面前面红耳赤地自证清白。
我自己这些年也面过不少公司,记忆中因为 GitHub 主页活跃度被刁难的次数,正好是零。可能我只是运气好,碰到的面试官都比较清醒。
连续 365 天全绿的“神仙”真相
没过几天,另一个技术搭子发给我的截图,彻底让我对绿格子这玩意儿祛了魅。
他发了一个前同事的主页,整个贡献图密密麻麻,全年度、无死角地铺满了深绿色。不管是法定节假日还是大年三十,甚至周末雷打不动,天天都有高频提交。
第一眼看过去,确实震撼,心想这人难道是代码转世?
但如果你多盯着看两秒,一种莫名的诡异感和压迫感就会扑面而来。我那朋友是个特别推崇 Work-Life Balance 的人,他的第一反应根本不是崇拜,而是深深的担忧。 神马影院
他一连串发来灵魂拷问: 这哥们的 WLB 去哪了? 他难道不睡觉不休假吗? 一个人到底要怎么高强度内卷,才能做到一年 365 天天天产出 commit?
好在技术圈没有秘密。一查才发现,这片完美的绿洲其实是一个 数据库每日自动备份任务的功劳。那个脚本每天定时把备份打包,然后自动推送到一个私有仓库里。
虽然这位号主本人确实也挺大牛,平时也给不少开源项目提过真贡献,但他真的没有变态到一年 365 天无休写代码的地步。
这正是问题的核心所在。
GitHub 贡献图是什么时候变成技术记分牌的?
不知从几何起,这个本来用来方便开发者回顾自己项目轨迹的工具,被异化成了职场KPI和社交记分牌。
只要稍微动动脑子,就会发现这种以“颜色深浅”论英雄的逻辑根本经不起推敲。但现实中,我们还是会习惯性地看着别人的主页瞎琢磨: “卧槽,这个人肝报废了吧,肯定是个神人。” “啧啧,这人几个月才提交一次,估计技术已经荒废了。”
如果只是外行人看热闹瞎猜倒也罢了,最怕的是这种业余的思维逻辑直接渗透到了 招聘和面试中。
事实上,单凭那一矩阵的绿格子,你根本看不出任何实质性的东西: 你看不到他写代码的真实水平是高是低; 你看不到他到底是真忙还是在摸鱼; 你更不知道他提交的那些代码到底是有技术含量的重构,还是只是改了个错别字。
一个真正厉害的大牛,可能正猫在公司的私有库里,花了两周时间憋大招,推翻重构了一套极其复杂的底层架构,最后合并分支时只产生了一个寥寥数行改动的 commit。而另一个新手,可能仅仅是因为配置了一个每天自动抓取天气预报的脚本,就能在主页上白嫖一整年的绿格子。
数据在说谎,那些绿格子记录的只是“动静”,而不是真正的“价值”。
我的 2025 年 GitHub 荒漠展
实不相瞒,我本人就是“绿格子不能代表实力”的最好代言人。
看看我 2025 年的 GitHub 活动图,只能用“惨不忍睹”来形容。上面基本上是一片荒芜,绿格子屈指可数,活像一个早就转行去开滴滴了的过气程序员。
但我这一年真的没写代码吗?怎么可能。我天天在公司的商业仓库里疯狂输出,只是那些涉及到商业机密的代码,一丁点都不会折射到我这个公开的个人主页上。如果单凭主页来评判,我估计连海选都过不了。
在 GitHub 上,到底什么才算数?
当然,我不是说 GitHub Profile 彻底废了。前提是,看的人得懂行。
与其去数对方有几个绿格子,真正懂技术的面试官和同行更愿意把目光聚焦在具体的产出上: 他有没有真正参与过知名开源项目的建设(哪怕只有一两个 PR)? 他自己从零跑通的个人开源项目,代码架构写得是否优雅? 他是不是在积极地折腾一些好玩的新工具和前沿技术?
这些东西透出来的信息量,远比每天按时打卡制造出来的绿色矩阵要大得多。一个花心思琢磨、设计精巧且工程化规范的个人项目,哪怕它是半年前提交的,其含金量也完爆那种每天都在私有库里修修补补、改错别字的“全绿战神”。
贡献社区,开源从来不是唯一解
程序员反哺技术社区的路径有很多条,写开源代码只是其中之一。
拿我自己来说,我更倾向于把时间花在写技术博客上。这对我来说不是负担,我喜欢复盘自己的踩坑经验,喜欢把复杂的架构用通俗的文字写出来。这个过程让我感到轻松且纯粹。
但我完全能理解,人和人是不一样的。有些同行提起写文章就头大,但让他们下班后戴上耳机去重构一段开源代码,他们能兴奋到半夜。 星星影院
这两种状态都棒极了。大家的技能树和表达欲点在了不同的地方: 有人擅长写图文教程; 有人喜欢在镜头前录制实战视频; 有人热衷于准备线下技术大会的 Keynote; 也有人干脆就在自己的岗位上发光发热,下班后只想纯粹地拥抱生活。
这就不得不提到另一个长期笼罩在我们头顶的道德绑架。
每一个程序员,都必须是开源社区的苦行僧吗?
在现在的技术圈里,似乎有一种心照不宣的行业绑架:你作为程序员,下班后必须得支个副业,要么维护开源库,要么写公众号,要么做独立开发。否则你就是不求上进,就是没有“技术追求”。
但如果你把这种视角切换到其他传统行业,你会发现这种要求简直荒谬得离谱。
我们会要求一个记者下班后,必须在自己深夜的个人博客上免费写稿,以此来向下一家报社证明自己的职业操守吗? 我们会要求一个律师在晚上卸下疲惫后,还要在社区里免费给街坊邻居写法律指南,才能换取猎头的青睐吗? 我们会要求一个便利店店员回家后,必须挑灯夜战研究最新的货架陈列话术,才算对得起明天的顾客吗?
显然不会。大家下了班,就只是个普通人。
我由衷地热爱现在的技术社区,也愿意在力所能及的时候出来唠两句。但核心逻辑是: 这是我的个人选择,而不是任何人的必修课。
大家都有自己的家庭、独特的爱好、以及下班后需要去应对的柴米油盐。有些同行在上班的 8 小时里专业、靠谱、产出高效,下班关掉电脑的那一刻,他就决定去过自己的人生。这不仅完全没问题,甚至非常值得尊重。
甚至在很多时候,这群在社区里最沉默的人,反而是团队里最能啃硬骨头、输出最稳定的中流砥柱。这个行业需要满世界布道的明星专家,但同样需要那群默默把业务托底、把脏活累活干到极.致的实力派。